zur Anforderungsphase

Das Projekt SendButtons

Testvorbereitung

Die Erstellung von Testfällen aus der Tango-Spezifikation ist ein völlig schematischer Vorgang. Dies bedeutet, dass die gesamte intellektuelle Arbeit zur Erstellung von Testfällen bereits mit der Niederschrift einer Tango-Spezifikation erledigt ist. Dies gilt, solange diese Testfälle nicht kombiniert (gefaltet) werden müssen, um eine effiziente manuelle Durchführung zu ermöglichen. Die Erstellung von Testfällen für das Projekt SendButtons ist ein unkomplizierter Fall. Zwar wurden auch hier mehrere Testfälle zu einer Sequenz zusammengefasst (FocusHandling, CheckUsingButton usw.), aber die Abhängigkeiten untereinander sind nur gering und deshalb unproblematisch.

Bei Änderungen der Tango-Spezifikation müssen die Testfälle angepasst werden. Auch dies ist eine reine Fleißarbeit, solange die Testfälle voneinander unabhängig sind.

Für die Überprüfung der Testabdeckung sowie die Modifikation vorhandener Tests ist die Referenz von den Testfällen in die Spezifikation zu verwalten. In Tango wird jeder Testfall durch einen Aktivitätsblock identifiziert, und der Pfad zu diesem Aktivitätsblock bestimmt das Vorgehen, um den Testfall auszuführen. Deshalb genügt prinzipiell die Angabe einer Zeilennummer des Aktivitätsblocks in der Spezifikation, um die eindeutige Zuordnung von Test und Spezifikation zu verwalten. In einigen Fällen ist die Beschreibung der Spezifikation nicht detailliert genug, z.B. weil auf dem Pfad zum Aktivitätsblock Aliase liegen, die nicht explizit ausgeführt wurden. Dies bedeutet, dass dasselbe Ergebnis auf unterschiedlichen Bedienwegen erreicht werden kann, und dies führt dann zu unterschiedlichen Testfällen, die auf denselben Aktivitätsblock referenzieren, siehe Tc51a, 51b, 51c in der Spezifikation.

Die Tango-Spezifikation wurde im Verlauf des Projekts vielfach geändert, damit ändern sich auch die Zeilennummern der Aktivitätsblöcke. Deshalb wurden die Aktivitätsblöcke mit Kommentaren der Art // Tc44 versehen, dies war die Zeilennummer in irgendeinem früheren Status der Spezifikation. Damit bleibt die Zuordnung von Aktivitätsblock und Testfall auch in der modifizierten Tango-Spezifikation erhalten.

Die Niederschrift der Testfälle erfolgte in tangoähnlicher Form. Dies bietet sich an, da die Testfälle direkt aus der Tango-Spezifikation abgeleitet sind. Es wurde aber keinerlei Rücksicht auf die Tango-Syntax genommen, so dass die Notation an einigen Stellen aus Tango-Sicht unkorrekt sein kann. Prinzipiell spricht nichts dagegen, die Testfälle auf andere Weise niederzuschreiben, z.B. in einem Basic-Dialekt oder einer anderen Notation, die zur Automatisierung geeignet ist. Das Verfahren zur Erstellung der Testfälle ändert sich dadurch in keiner Weise.

Die Zusammenfassung der Testfälle zu Sequenzen erfolgte aufgabenbezogen, da die Testfälle nur geringe Abhängigkeiten untereinander aufweisen.

Die Tests sollten von den späteren Anwendern selbst durchgeführt werden, deshalb wurden die Testfälle in lesbarer Form in das Hewlett Packard Quality Center eingetragen. Auch dieser Schritt ist eine weitgehend mechanische Umsetzung der tangoähnlichen Testfälle in Handlungsanweisungen. Der Quality Center-Screenshot des Testfalls SendButtons - Print Ccccc-Action using Button-Print ist die ausführliche Niederschrift der Testsequenz PrintCccccActionsUsingButton, nachzulesen in der Niederschrift der Testfälle.

Wenn die Testbarkeit des Produkts nicht sichergestellt werden kann, dann empfiehlt es sich, einen kurzen Vorabtest zu erstellen (einen Walkthrough), der diese Testbarkeit verifiziert. Die aus der Tango-Spezifikation erzeugten Tests sind sehr detailliert, und es wäre sinnlos sie auf ein ohnehin nicht testbares Produkt anzuwenden. Ein solcher Walkthrough, oder Schönwettertest, versucht ohne jede Komplikation das Vorhandensein der wesentlichen Funktionalität sicherzustellen. Ein solcher Test wird nicht aus der Tango-Spezifikation erstellt, sondern direkt aus einem oder mehreren Usecases des Kunden. Die Testabdeckung spielt hierbei keine Rolle, der Test muss kurz und effizient sein.

Fazit

Die Erstellung von Testfällen aus der Tango-Spezifikation ist schematisch und unkompliziert, ebenso die Referenz von Testfällen auf die entsprechende Stelle in der Tango-Spezifikation.

Die Ableitung automatisierter Tests ist einfacher als das Erzeugen manueller Tests, da in automatisierten Tests die Testfälle nicht unter dem Gesichtspunkt effizienter Testdurchführung gefaltet werden müssen.

Eine Niederschrift der Testfälle kann in jeder beliebigen Form und Sprache erfolgen, auch wenn die Testfälle aus einer Tango-Spezifikation abgeleitet sind. Die Referenz vom Testfall zurück in die Spezifikation erfolgt immer über die Zeilennummer in der Spezifikation.