Der allererste Industriestandard für das Softwaretesten war der IEEE 826-Standard für Softwaretestdokumentation aus 1983, der Gliederungen für Testkonzepte, Spezifikationsdokumente (Testentwurfsspezifikation, Testfallspezifikation und Testablaufspezifikation), Berichte (Testobjektübergabebericht, Testprotokoll, Fehlerbericht, Testfortschrittsbericht und Testabschlussbericht) vorgab [Wit20]. Aktualisierungen dieses Standards in den Jahren 1998 und 2008 und die Übernahme in die ISO/IEC/IE-EE-Norm 29119 Teil 3 im Jahre 2013 haben nicht viel daran geändert [ISO].
Vom Dokument zur Dokumentation
Als ich im Jahr 2006 nach zehn Jahren Testerfahrung und dem Lesen mehrerer Testfachbücher mit Schwerpunkt auf Testverfahren meine ISTQB-Foundation-Level-Zertifizierung abgelegt habe, fiel mir auf, wie sehr Dokumente als die Hauptergebnisse des Testens im Fokus standen. Der Standard für Testdokumentation wurde im ISTQB-Glossar und den Lehrplänen ausführlich behandelt.
Vom Testkonzept zum Testabschlussbericht sollte alles dokumentiert sein. Dies hat sich in den Lehrplänen seitdem im Sinne des agilen Prinzips „funktionierende Software ist wichtiger als ausführliche Dokumentation“ geändert [GTB-b]. Im Glossar haben wir entsprechend eine Reihe von Anpassungen durchgeführt (siehe Tabelle 1).
Name | Genus der Definition früher | Genus der Definition heute |
---|---|---|
Testkonzept | Ein Dokument, das … | Die Dokumentation der … |
Testentwurfsspezifikation | Ein Ergebnisdokument, das … | Die Spezifikation der … |
Fehlerbericht | Ein Dokument, das … | Die Dokumentation des … |
Testfortschrittsbericht | Ein Dokument, das … | Eine Art von Testbericht, … |
Testabschlussbericht | Ein Dokument, das … | Eine Art von Testbericht, … |
Testbericht | (gab es noch nicht) | Die zusammenfassende Dokumentation von … |
Testfallspezifikation | Ein Dokument, das … | (Begriff gelöscht) |
Testablaufspezifikation | Ein Dokument, das … | (Begriff gelöscht) |
Testobjektübergabebericht | Ein Dokument, das … | (Begriff gelöscht) |
Testprotokoll | Eine chronologische Aufzeichnung … | (unverändert) |
Alle Spezifikationen waren früher im Glossar mit dem Genus „Dokument“ definiert, auch wenn die Norm etwas allgemeiner von „Dokumentation“ sprach. Seitdem ich die Arbeitsgruppe des ISTQB für das Glossar leite, haben wir dies überall geändert, denn heutzutage erfolgt die Dokumentation in der Regel elektronisch. Einige Begriffe der Arbeitsergebnisse konnten wir durch die Definition der jeweils zugrunde liegenden Entität ersetzen, wie Testfall beziehungsweise Testablauf. Den exotischen Testobjektübergabebericht haben wir entfernt. Schließlich haben wir den allgemeinen Begriff „Testbericht“ eingeführt, um die gemeinsamen Merkmale aller Testberichte zusammenzufassen. Natürlich erhielt auch der Testbericht das Genus „Dokumentation“.
Vom Phasenmodell zu generischen Aktivitäten
Früher war der Softwareentwicklungsprozess maßgeblich von Projekten geprägt. Diese waren ihrerseits in Phasen unterteilt (siehe Tabelle 2). Dies spiegelte sich auch im Testen wider, da Testen ein Teilprozess der Softwareentwicklung ist. Die Testphase war ein bei vielen Stakeholdern beliebter Glossarbegriff, mit Derivaten wie der Testausführungsphase oder dem Phasentestkonzept. Diese Begriffe haben wir mit der Zeit aus dem Glossar entfernt, da sie in der heutigen Praxis nicht mehr relevant sind.
Name | Definition | Änderung |
---|---|---|
Testphase | Eine abgegrenzte Menge von Testaktivitäten, die einer Projektphase zugeordnet sind, z. B. Ausführungsaktivitäten einer Teststufe. | (Begriff gelöscht) |
Phasentestkonzept | Ein Testkonzept, das sich typischerweise auf eine Testphase bezieht. | (Begriff gelöscht) |
Anforderungsphase | Die Phase im Produktlebenszyklus der Komponente oder des Systems, während der die Anforderungen eines Softwareprodukts ermittelt und dokumentiert werden. | (Begriff gelöscht) |
Testausführungsphase | Der Zeitraum im Softwarelebenszyklus, in dem die Komponenten eines Softwareprodukts ausgeführt werden und damit für das Softwareprodukt bewertet wird, ob die Anforderungen erfüllt werden oder nicht. | (Begriff gelöscht) |
Fehlereindämmung innerhalb der Phase | Der Anteil der Fehlerzustände, die in derselben Phase des Softwareprozesses behoben werden, in welcher diese verursacht wurden. | unverändert) |
Aus heutiger Sicht besteht der Testprozess nicht aus Phasen, sondern aus Hauptaktivitäten. Diese heißen zwar unverändert, werden aber nicht wie früher als Phasen angesehen, was sich in den aktuellen Definitionen widerspiegelt. Somit ist unsere Terminologie agnostisch geworden gegenüber den Softwareentwicklungslebenszyklen. Genauer gesagt haben wir nur noch einen phasenbezogenen Begriff übrig.
Automatisierung gewinnt an Bedeutung
ISTQB hat von Anfang an betont, dass Testautomatisierung nicht nur die automatische Testdurchführung bedeutet, sondern allgemeiner jegliche Automatisierung von Testaktivitäten. Aber vor 2015, als es noch keine Spezialistenmodule gab, enthielt das Glossar nur zwei spezifische Begriffe der Testautomatisierung: das datengetriebene und das schlüsselwortbasierte Testen. Erst nach und nach wurden Begriffe des modellbasierten Testens und der Testautomatisierungsarchitektur aufgenommen.
Mit dem ersten Spezialistenmodul über modellbasiertes Testen [GTB-c] kam 2015 die Testadaptierungsschicht als neuer Begriff der Testautomatisierung dazu. Nur wenig später, im Zusammenhang mit dem Spezialistenmodul für Testautomatisierungsentwickler [GTB-d], kamen eine ganze Reihe von Testautomatisierungsbegriffen ins Glossar. Die Schichtenarchitektur der Testautomatisierung wurde auch im Glossar vervollständigt: Die Begriffe Testausführungs-, Testdefinitions- und Testgenerierungsschicht kamen hinzu (siehe Tabelle 3). Diese volle Sicht der generischen Testautomatisierungsarchitektur unterstützt bereits die Automatisierung mehrerer Aktivitäten in der Entwicklung von dynamischen Tests: den automatisierten (modellbasierten) Testentwurf, die Testimplementierung und die Testdurchführung [GTB-d].
Auch weitere wichtige Begriffe der Testautomatisierung kamen ins Glossar, wie lineares und strukturiertes Skripten, Testautomatisierungsframework, Testautomatisierungsstrategie, Testautomatisierungslösung. Damit können wir die wachsende Bedeutung der Testautomatisierung auch am Glossar nachvollziehen. Heute können wir deshalb sagen: Das ISTQB-Glossar ist auch für einen voll automatisierten Testentwicklungsprozess im Rahmen von Continuous Delivery gerüstet.
Schichten der generischen Testautomatisierungsarchitektur |
---|
Testgenerierungsschicht |
Testdefinitionsschicht |
Testausführungsschicht |
Testadaptierungsschicht |
Schlussfolgerung
Die Fachbegriffe des Testens müssen mit der Zeit gehen. Neue Entwicklungen im Softwareentwicklungsprozess spiegeln sich auch im Glossar der Testbegriffe wider. In naher Zukunft stehen uns weitere Entwicklungen bevor. Einige Themen wie künstliche Intelligenz oder die Skalierung des agilen Testens von den Teams zur unternehmensweiten IT-Landschaft stehen unmittelbar bevor. Wir können auf diese Zukunft gespannt sein.
Weitere Informationen
[GTB-a] ISTQB®/GTB Standardglossar der Testbegriffe, Version 3.6 vom 30.6.2021, siehe:
https://glossary.istqb.org/de/search/
[GTB-b] ISTQB®/GTB Lehrplan Certified Tester Foundation Level, Version v3.1, 20.1.2020, siehe:
https://www.german-testing-board.info/lehrplaene/istqbr-certified-tester-schema/core-module/certified-tester/
[GTB-c] ISTQB® Syllabus Certified Model-Based Tester, Version 2015, 23.10.2015, siehe:
https://www.german-testing-board.info/lehrplaene/istqbr-certified-tester-schema/specialist-module/model-based-tester/
[GTB-d] ISTQB® Lehrplan Certified Testautomatisierungsentwickler, Version v1.0, 16.12.2019, siehe:
https://www.german-testing-board.info/lehrplaene/istqbr-certified-tester-schema/specialist-module/test-automation-engineer/
[ISO] ISO/IEC/IEEE Standard 29119-3: Software and systems engineering – Software testing – Part 3: Test documentation, 2013, siehe:
https://www.iso.org/standard/56737.html
[Wit20] F. Witte, Strategie, Planung und Organisation von Testprozessen, Springer-Verlag, 2020