Testgetriebene Softwareentwicklung Was ist testgetriebene Softwareentwicklung? Erstellen von automatisierten Tests, die Fehler während der Softwareentwicklung entdecken. Mehr Zeitaufwand, aber große Projekte sind dadurch besser zu warten und zu erweitern. Zuerst wird der Test geschrieben, dann die Klasse (Fachbegriff: Agile Software-Entwicklung) Entwicklung im Team möglich: Ein Programmierer schreibt die Tests, der andere implementiert die Klassen. Framework: JUnit, in Netbeans integriert. JUnit Testklasse in Netbeans hinzufügen 1. Rechtsklick 2. 3. 4. Organisation von Programm- und Test-Sourcen ProgrammUnd Test-Quelltext wird getrennt verwaltet. Testgetriebene Entwicklung: Beispiel Wörterbuch MyTest.java Dictionary.java Zuerst der Test, dann die Klasse. Testgetriebene Entwicklung: Beispiel Wörterbuch MyTest.java Dictionary.java Fehler im Test durch Implementieren in der Klasse beheben. Testgetriebene Entwicklung: Beispiel Wörterbuch MyTest.java assertTrue überprüft das Ergebnis. Vorher importieren. Testgetriebene Entwicklung: Beispiel Wörterbuch MyTest.java Alle Tests erfolgreich. Testgetriebene Entwicklung: Beispiel Wörterbuch MyTest.java Fehler im Test durch Implementieren in der Klasse beheben. Testgetriebene Entwicklung: Beispiel Wörterbuch Dictionary.java Testgetriebene Entwicklung: Beispiel Wörterbuch MyTest.java Syntax-Fehler behoben, aber Test in Zeile 53 scheitert. Testgetriebene Entwicklung: Beispiel Wörterbuch Dictionary.java Fehler behoben. Alle Tests erfolgreich. Umgang mit Exceptions Exceptions finden Benutzerdefinierte DictionaryNotFoundException fehlt in der Methode translateGerman Das Auftreten von Exceptions testen Das Nicht-Auftreten von Exceptions testen Exceptions fangen und Nachricht testen Quellen Johannes Link: Softwaretests mit Junit http://www.mkyong.com/unittest/junit-4-tutorial-2expected-exception-test/