Testen

Selbststudium: Testing

Prüfungen oder Tests sind wohl mit einem eher unangenehmen Gefühl verbunden. Genauso unangenehme Erfahrungen haben wir alle schon gemacht mit Software, die unzuverlässig läuft und Abstürze produziert. Gute Softwarequalität entsteht durch systematisches Vorgehen mit den Techniken des Softwareengineerings. Prüfungen stellen dabei sicher, dass die gewünschte Qualität des Produktes erreicht wird. In diesem Kurs geht es um 3 Massnahmen zur Hebung und Sicherung dieser Qualität.

Blackbox- und Whitebox Testen

Mit Hilfe von dynamischen Prüfungen, oder Tests, messen wir, ob ein bestimmtes Softwaremodul auf ein vorgegebenes Set von Eingangsdaten ein gewünschtes Set an Ausgangsdaten liefert. Solche Tests kann man erstellen nur aufgrund der Kenntnis der Schnittstellen eines Moduls. Das nennen wir Blackbox-Test. Beim Whitebox-Test gehen wir von der Kenntnis der inneren Strukturen eines Moduls aus.

Wir benutzen als Testumgebung JUnit unter Eclipse.

Code Coverage

Code Coverage ist eine Form des Whitebox-Testens. Dabei wird gemessen, bis zu welchem Grad der Code eines bestimmten Programmes durchlaufen und getestet wird. Code Coverage ist also ein Mass für die Testabdeckung oder anders gesagt ein Mass, wie gründlich wir jeden Teil eines Programmes durchlaufen und ausgetestet haben.

Logback

Das dritte Hilfsmittel eignet sich weniger für Tests als vielmehr für das Finden und Beheben von Fehlern. Um zu sehen, was in einem Programm intern abläuft, wird man oft Ausgaben auf einen Bildschirm machen. Solche Ausgaben sollen vielleicht nur in einem Fehlerfall oder nur in der Entwicklungsphase erfolgen. Was aber passiert, wenn Software ausgeliefert worden ist und erst später ein Fehler auftritt und gesucht werden muss. Logback ist eines der Hilfsmittel für Java-Umgebungen. Es ermöglicht Logging-Ausgaben für ganz unterschiedliche Einsatzgebiete einer Software. Das Mass und der Grad von Ausgaben kann dabei sehr fein gesteuert werden.