Testen der Anwendung

Mit zunehmender Anzahl der programminternen Optionen und der Änderungen an der Botan-Bibliothek im Rahmen der EI-Ablaufschemata wächst die Gefahr, im Rahmen einer Erweiterung in einem bereits funktionierenden Teil eine Fehlfunktion zu erzeugen. Außerdem wächst i.d.R. auch die Zahl der Eingaben, die zur Auslösung einer bestimmten Aktion notwendig sind, in einem für die Entwicklung und Fehlerbeseitigung unangenehmen Maße. Im Sinn einer strengen Qualitätssicherung - nach einer Änderung sind sämtliche bisherigen Testfälle erneut zu durchlaufen - setzen wir daher Testfallgeneratoren ein.

GUI-Testumgebung

Für den Test der HTTP-Seiten setzen wir das Tool “webinject” ein, das in Perl geschrieben und in einem Unterverzeichnis installiert ist. Für die Ausführung müssen Perl und eine Reihe von Perl-Modulen installiert sein. Genaueres findet man auf der Webseite des Tools.

Die Testfälle werden in XML-Dateien definiert. Dort wird spezifiziert, wie eine Seite aufgerufen werden soll (GET oder POST), welche Parameter bei einem POST übergeben werden sollen und welche Inhalte die Antwort haben muss (z.B. bestimmte INPUT-Felder mit deren Namen als Suchmuster). Der Aufruf der Startseite kann beispielsweise so aussehen:

<testcases repeat="1">

<case
    id="1"
    description1="Laden der Startseite"
    description2="Verify: Links vorhanden"
    method="get"
    url="http://localhost:8888"
    verifypositive="/cert_management"
/>

</testcases>

Die Ergebnisse werden in den Dateien “result.html” oder “result.xml” gesammelt und können weiter ausgewertet werden.

Im Testprogramm wurde als Erweiterung der Befehl “execute” implementiert, mit dem ein externes Programm ausgeführt werden kann. Das Hauptprogramm wurde beispielsweise so konfiguriert, dass die Statusinformationen der Zertifikate ausgegeben werden können, so dass zwischen den Testläufen kontrolliert werden kann, ob die Statusinformatione korrekt gesetzt wurden.

Weiter Details entnehme man dem Testcases und dem Quellcode.