44,90 €
Niedrigster Preis in 30 Tagen: 44,90 €
Know-how zur ISO-Norm 29119 aus erster Hand - Matthias Daigl ist Mitautor der Normenreihe 29119 und Editor von Teil 5 - Leitfaden für alle, die ein modernes Software-Testkonzept erstellen wollen und dabei Wert auf Normen-Konformität legen - mit vielen Hintergrundinformationen sowie ausführlichen Fallstudien aus den unterschiedlichsten Anwendungsbereichen Die ISO/IEC/IEEE ISO 29119 beschreibt bewährte Praktiken für das Software und Systems Engineering – Software Testing. Dieses Buch gibt eine praxisorientierte Einführung und einen fundierten Überblick und zeigt insbesondere die Umsetzung der Anforderungen aus der ISO 29119 an die Testaktivitäten auf. Der Aufbau des Buches spiegelt die Struktur der Normenreihe wider: - Entstehungsgeschichte und Kontext - Inhalte der Normenreihe ISO 29119 - Konzepte und Definitionen (Teil 1) - Testprozesse (Teil 2) - Testdokumentation (Teil 3) - Testverfahren (Teil 4) - Keyword-Driven Testing (Teil 5) - Anwendungsbeispiele Etwas kompakter werden auch die Technical Reports zur Anwendung der Normen im agilen Umfeld (ISO 29119 – Teil 6), beim Testen KI-basierter Systeme (ISO 29119 – Teil 11) und beim Testen biometrischer Systeme (ISO 20119 – Teil 13) behandelt. Das Buch richtet sich in erster Linie an Praktiker, die einen leichteren Einstieg in die Normenreihe und eine Hilfestellung bei der Umsetzung der ISO 29119 in der Praxis suchen. Die 2. Auflage wurde in vielen einzelnen Aspekten aktualisiert. Darüber hinaus wurde ein zusätzliches Projektbeispiel für den neu hinzugekommenen Teil 5 der Norm zu Keyword-Driven Testing aufgenommen.
Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:
Seitenzahl: 342
Matthias Daigl ist Senior Consultant bei der imbus AG. Er ist als Sprecher auf internationalen Konferenzen unterwegs, arbeitete in Arbeitsgruppen des German Testing Board, des ISTQB® und im Normungsausschuss von DIN und ISO mit und verantwortet als Editor den Teil 5 der ISO 29119. Weiter ist er Autor des Buches »Keyword-Driven Testing – Grundlage für effiziente Testspezifikation und Automatisierung«.
Rolf Glunz ist Geschäftsstellenleiter und Vertriebschef bei der imbus AG. Nach 30 Jahren Tätigkeit als IT-Manager, u. a. als Geschäftsführer eines DIN-Tochterunternehmens, setzt er sich heute leidenschaftlich für erfolgreiches Qualitätsmanagement und zielgerichtetes Testen von Software ein. Er berät seine Kunden, wie sie durch die richtigen Methoden, Prozesse und Produkte Qualität steigern und Kosten senken können.
Copyright und Urheberrechte:
Die durch die dpunkt.verlag GmbH vertriebenen digitalen Inhalte sind urheberrechtlich geschützt. Der Nutzer verpflichtet sich, die Urheberrechte anzuerkennen und einzuhalten. Es werden keine Urheber-, Nutzungs- und sonstigen Schutzrechte an den Inhalten auf den Nutzer übertragen. Der Nutzer ist nur berechtigt, den abgerufenen Inhalt zu eigenen Zwecken zu nutzen. Er ist nicht berechtigt, den Inhalt im Internet, in Intranets, in Extranets oder sonst wie Dritten zur Verwertung zur Verfügung zu stellen. Eine öffentliche Wiedergabe oder sonstige Weiterveröffentlichung und eine gewerbliche Vervielfältigung der Inhalte wird ausdrücklich ausgeschlossen. Der Nutzer darf Urheberrechtsvermerke, Markenzeichen und andere Rechtsvorbehalte im abgerufenen Inhalt nicht entfernen.
Matthias Daigl · Rolf Glunz
2., aktualisierte und erweiterte Auflage
Matthias Daigl
Rolf Glunz
Lektorat: Christa Preisendanz
Lektoratsassistenz: Julia Griebel
Copy-Editing: Ursula Zimpfer, Herrenberg
Satz: Matthias Daigl
Herstellung: Stefanie Weidner, Frank Heidt
Umschlaggestaltung: Eva Hepper, Silke Braun
Bibliografische Information der Deutschen Nationalbibliothek
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.
ISBN:
978-3-98889-011-5
978-3-98890-158-3
ePub
978-3-98890-159-0
2., aktualisierte und erweiterte Auflage 2024
Copyright © 2024 dpunkt.verlag GmbH
Wieblinger Weg 17
69123 Heidelberg
Schreiben Sie uns:
Falls Sie Anregungen, Wünsche und Kommentare haben, lassen Sie es uns wissen: [email protected].
Die vorliegende Publikation ist urheberrechtlich geschützt. Alle Rechte vorbehalten. Die Verwendung der Texte und Abbildungen, auch auszugsweise, ist ohne die schriftliche Zustimmung des Verlags urheberrechtswidrig und daher strafbar. Dies gilt insbesondere für die Vervielfältigung, Übersetzung oder die Verwendung in elektronischen Systemen.
Es wird darauf hingewiesen, dass die im Buch verwendeten Soft- und Hardware-Bezeichnungen sowie Markennamen und Produktbezeichnungen der jeweiligen Firmen im Allgemeinen warenzeichen-, marken- oder patentrechtlichem Schutz unterliegen.
Alle Angaben und Programme in diesem Buch wurden mit größter Sorgfalt kontrolliert. Weder Autoren noch Verlag können jedoch für Schäden haftbar gemacht werden, die in Zusammenhang mit der Verwendung dieses Buches stehen.
Seitdem wir die erste Auflage dieses Buches im Januar 2016 fertiggestellt haben, hat sich bei der ISO 291191 einiges getan:
Die Normenfamilie, gerade eben noch neu, hat sich in der internationalen Test-Community und darüber hinaus etabliert.
Die Kernnormen Teil 1 bis 4 wurden überarbeitet, mit einigen sehr spannenden Änderungen.
Neue Normen sind dazugekommen.
Rund acht Jahre nach der ersten Veröffentlichung der vier zentralen Teile der ISO 29119 ist eine überarbeitete und erweiterte Auflage der Normenfamilie erschienen.
Routinemäßige Überprüfung
Es entspricht den Gepflogenheiten bei ISO, dass regelmäßig – alle fünf Jahre – im »systematic review« hinterfragt wird, ob eine Norm weiterhin gültig bleiben soll, überarbeitet werden muss oder vielleicht sogar nicht mehr benötigt wird und daher zurückgezogen werden soll.
Trotz guter Erfahrungen mit der ersten Auflage der Normen war man sich im zuständigen Ausschuss ISO/IEC JTC1/SC7/WG 26 einig, dass einige Änderungen die Anwendung der Normen vereinfachen würden. Den Regularien von ISO folgend, wurden entsprechende Vorschläge ausgearbeitet, Abstimmungen durchgeführt … und das Resultat liegt uns heute vor.
In der zweiten Auflage dieses Buches werden wir uns immer mit der aktuellen Fassung beschäftigen, aber an dieser Stelle soll wenigstens kurz darauf eingegangen werden, was sich bei den Teilen 1 bis 4 der Norm gegenüber der ersten Auflage der ISO 29119 geändert hat.
Teil 1:Im ersten Teil wurden die Konzepte grundlegend überarbeitet – weniger in ihrer Aussage, sondern was Tiefe und Verständlichkeit angeht. Die erste Ausgabe hatte den Anspruch, auch als Begriffsdefinitionsstandard zu fungieren und alle wesentlichen Testbegriffe aller Teile der Normenfamilie zu enthalten. Von diesem Anspruch rückte man nun aus verschiedenen Gründen ab:
Es gibt neue Regularien bei der ISO, die dagegensprechen.
Es wäre mit dem Erscheinen weiterer Teile gar nicht möglich, die Begriffe im ersten Teil immer aktuell aufzunehmen.
Vor allem aber gibt es bereits mit dem Vokabular von ISO, IEEE und PMI »SEVOCAB« (frei im Web [
36
] verfügbar) bzw. als Standard ISO/IEC/IEEE 24765 [
58
] eine Referenzquelle für alle diese Begriffe und viele mehr.
Ungeachtet dessen findet sich in Teil 1 immer noch eine beachtliche Anzahl nützlicher Definitionen.
Teil 2:Auch hier wurde im Detail viel verändert und verbessert. Am auffälligsten dürfte aber dabei sein, dass die Elemente »feature set«, »test condition« und »test set« (dt.: Merkmalsgruppe, Testbedingung und Testfallmengen) weggefallen sind.
Die Erfahrung hatte gezeigt, dass die ersten beiden Elemente von vielen Anwendern nicht gut verstanden wurden und sehr erklärungsbedürftig waren. Das »test set« hingegen war weitgehend redundant mit »test procedure« und die Abgrenzung zu subtil, um nützlich zu sein.
Testbedingung entfällt.
Um auf die »test condition« zurückzukommen: Allein der deutsche Begriff »Testbedingung« war schon immer eine unglückliche Übersetzung. Auf ihn zu verzichten, ist jedoch eine kleine Revolution: Der Begriff, so schwerfällig er ist, kursiert seit Jahrzehnten in der Test-Community und ist auch im Umfeld des International Software Testing Qualifications Board (ISTQB®) (das diese Revolution zumindest bislang nicht mitträgt) verankert. Nicht als Synonym, aber an seine Stelle ist nun das Konzept des Testmodell Testmodells getreten. Darauf wird später in Abschnitt 6.1.2 genauer eingegangen.
Teil 3:Hier wird im Grunde bei den Dokumenten nachvollzogen, was durch die Prozesse in Teil 2 angelegt ist – da sie in den Prozessen nicht mehr vorkommen, werden Testbedingungen, Merkmalsgruppen und Testfallmengen nicht mehr erzeugt, dafür aber jetzt Testmodelle.
Teil 4:Auch in diesem Teil ergeben sich die meisten Änderungen durch die Anpassungen an Teil 2. Daneben hat sich auch bei den beschriebenen Testverfahren etwas getan, so ist mit »Metamorphic Testing« jetzt ein Verfahren beschrieben, das sich gerade im Umfeld der künstlichen Intelligenz (KI) bewährt – ein schönes Beispiel, wie die Norm aktuelle Themen aufgreift.
In der ersten Auflage dieses Buches wurden die vier ersten Teile der Normenfamilie ISO 29119 vorgestellt, die wir jetzt als »Kernnormen« bezeichnen. Damit war zu diesem Zeitpunkt die Normenfamilie vollständig beschrieben. Das stellt sich heute anders dar:
Seitdem ist mit Teil 5 ein weiterer Teil der Normenfamilie zum Thema
Keyword-Driven Testing
erschienen (siehe
Kap. 7
).
Ein Technical Report »Guidelines for the use of ISO/IEC/IEEE 29119 (all parts) in agile projects« hilft, die Kernnormen auf ein
agiles Umfeld
anzuwenden (siehe
Abschnitt 8.1
).
Es gibt einen ausgezeichneten Technical Report »Guidelines on the testing of AI-based systems« zum Testen von Systemen, die auf
KI
basieren (siehe
Abschnitt 8.2
).
Ein weiterer Technical Report »Using the ISO/IEC/IEEE 29119 series in the testing of biometric systems« unterstützt dabei, den Test
biometrischer Systeme
in den Griff zu bekommen (siehe
Abschnitt 8.3
).
Diese (und einige weitere) neue Teile der Normenfamilie behandeln wir in den Kapiteln 7 und 8.
In Kapitel 9 stellen wir Projektbeispiele zur Anwendung der Normen vor. Anlässlich der Neuauflage der Kernnormen erfolgten erneut Interviews mit unseren Ansprechpartnern der Projektbeispiele der ersten Auflage des Buches, um zu erkunden, ob und wie sich die Änderungen in der Norm auf sie auswirken. Dabei stellte sich heraus, dass Anpassungen der Prozessbeschreibungen und Dokumentenvorlagen in der Regel (noch) nicht erforderlich sind, sodass die Beispiele unverändert in die Neuauflage übernommen wurden.
Ein zusätzliches Projektbeispiel wurde für den neu hinzugekommenen Teil 5 der Norm zu Keyword-Driven Testing aufgenommen.
Es hat sich also nicht nur bei den Normen zum Thema Test einiges getan, sondern auch was dieses Buch angeht. Hier ist es nun: aktualisiert, erweitert und in jeder Hinsicht runderneuert. Wir wünschen viel Spaß beim Lesen und viel Erfolg bei der Umsetzung!
Erlangen, im Juli 2024
Matthias Daigl
Rolf Glunz
Das Buch zu aktualisieren, das kann ja nicht so viel Aufwand sein. So dachten wir, aber dann wurde es doch etwas mehr. Alleine hätten wir es auch diesmal nicht geschafft.
Aus diesem Grund wollen wir uns bei denen bedanken, die uns dabei geholfen und diese Aktualisierung möglich gemacht haben:
Zuvorderst bei unseren Familien, die uns erneut den nötigen Freiraum gegeben haben.
Bei unserem Arbeitgeber imbus, der uns beim Schreiben von Fachbüchern unterstützt und uns erlaubt, Inhalte wie das Normenposter (
Anhang A
) zu nutzen.
Ganz besonders beim Team vom dpunkt.verlag, insbesondere unserer Lektorin Frau Preisendanz für ihre Geduld und viele konstruktive Beiträge, die das Buch besser gemacht haben.
Mit Standards und Normen beschäftige ich mich nun schon eine ganze Weile. Seit einigen Jahren durch die Mitarbeit in den Gremien des DIN und der ISO etwas intensiver – aber schon vorher viel länger als Softwaretester und als Anwender.
Aus dieser Zeit, in der ich »nur« Anwender von Normen wie der berühmten IEEE 829 war, weiß ich noch recht gut, wie sehr man manchmal zu kämpfen hat mit dem, was die Autoren der Normen uns an Herausforderungen aufgetragen haben – was doch meist als Hilfestellung gemeint ist.
Wie erfahren wir Normen: Sie sind nicht immer perfekt. Sie sind nicht immer leicht zugänglich. Sie sind oft sehr kompakt. Manchmal sind sie sehr umfangreich. Sie lassen auch manchmal Fragen offen.
Da ich inzwischen auch die andere Seite kenne, an der Erstellung von Normentexten mitarbeite und weiß, wie sehr oft um Formulierungen und Kompromisse gerungen wird, meine ich besser zu verstehen, warum Normen so sind, wie sie sind.
Diese Meinung bezieht sich naturgemäß insbesondere auf die Normen, bei denen ich mitwirken durfte – das ist die Normenreihe ISO 29119 mit den bislang ersten vier Teilen. Ich bin überzeugt davon, dass diese Normen einen beachtlichen Nutzen für die Gemeinschaft der Softwaretester entfalten können. Und da ich das Privileg besitze, hier über Einblicke zu verfügen, die nicht jeder haben kann, möchte ich diese Einblicke gerne teilen und dadurch dazu beitragen, dass diese Normen Anwendung finden. Und ich möchte meinen Beitrag dazu leisten, es Softwaretestern zu erleichtern, diese Normen zu verstehen und anzuwenden – daher dieses Buch.
Dies ist die Stelle, an der ich mich bei einigen Menschen bedanken möchte, die mir in besonderer Weise bei der Erstellung dieses Buches geholfen haben:
Bei Rolf Glunz, der Ideengeber war, und mein Koautor ist. Er musste mich, einen professionellen Zweifler, erst von der Idee überzeugen.
Bei Dr. Christian Brandes, Michael Riemer, Marc-Florian Wendland M. Sc. und Prof. Dr. Mario Winter, die mir als kritische Reviewer wertvolle Anregungen lieferten.
Bei Dr. Klaudia Dussa-Zieger, ohne die ich nicht die Mitarbeit im NIA 01-07 des DIN begonnen hätte und die mich während einer denkwürdigen Autofahrt in die Prinzipien (und Tücken) der Normenarbeit einführte.
Bei meinem Arbeitgeber imbus, der mich nicht nur darin unterstützte, dieses Buch zu schreiben, sondern überhaupt die Grundlagen dafür schuf, indem er mir das Vertrauen entgegenbrachte, mich zu Gremiensitzungen zu schicken. Den damit verbundenen Glauben an Standards und Normen und den idealistischen Wunsch, diese mitgestalten zu wollen, halte ich für selten und schätze ich an imbus.
Und zum Schluss – und doch vor allen anderen – bei meiner Familie, meiner Frau Uli und meinen Kindern Kilian, Anika und Simon, die mir den nötigen Freiraum für das Schreiben dieses Buches gaben und in dieser Zeit meine teilweise eigenartigen Launen ertrugen!
Erlangen, im Dezember 2015
Matthias Daigl
Die Begeisterung für das Thema Normen und die umfassenden Kenntnisse meines Kollegen Matthias Daigl waren die auslösende Motivation, mit ihm gemeinsam dieses Buch zu verfassen.
Da mich das zusätzlich zur täglichen Arbeit gefordert hat, danke ich vor allem und zuerst meiner Frau Anja. Sie ist selbst Autorin und hat durch ihr Verständnis und ihre Geduld viel dazu beigetragen, dass ich die nötige Zeit aufbringen konnte.
Und natürlich danke ich Matthias, der durch seine Fachkompetenz immer eine Stütze während der Erstellung des Buches war – die Zusammenarbeit hat wirklich Spaß gemacht!
Erlangen, im Dezember 2015
Rolf Glunz
IHistorie und Grundlagen
1Einführung
2Entstehungsgeschichte und Kontext der ISO 29119
IIInhalte der Testnormen
3Inhalt ISO 29119 – Teil 1: Allgemeine Konzepte
4Inhalt ISO 29119 – Teil 2: Testprozesse
5Inhalt ISO 29119 – Teil 3: Testdokumentation
6Inhalt ISO 29119 – Teil 4: Testverfahren
7Inhalt ISO 29119 – Teil 5: Keyword-Driven Testing
8Inhalt ISO 29119 – weitere Normen der Familie
IIIAnwendungshinweise und Zukunft
9Anwendung
10Kritik
11Jenseits der heutigen ISO 29119
12Fazit
Anhang
AAbbildung des Zusammenhangs der Prozesse und Dokumente
BFAQ
CAbkürzungen
DBegriffe
Literaturverzeichnis
Index
IHistorie und Grundlagen
1Einführung
2Entstehungsgeschichte und Kontext der ISO 29119
2.1Bedeutung und Geschichte der Vorgängernormen
2.1.1IEEE 829
2.1.2BS 7925-1
2.1.3BS 7925-2
2.1.4IEEE 1008
2.2Die Normenfamilie 29119
2.3Inhaltliche Aufteilung
2.4Zusammenhang mit bestehenden Normen und Standards
2.4.1Themen- und branchenspezifische Normen und Standards
2.4.2Normen mit Bezug zu Qualitätsmerkmalen
2.4.3Normen mit Bezug zu Prozessbeschreibungen
2.4.4Normen mit Bezug zu Dokumentation
2.5ISO 29119 und ISTQB®
2.6Wie man eine Norm liest
2.6.1Normativ/Informativ
2.6.2Spezielle Vokabeln
2.6.3Wiederholungen
2.6.4Ziel: Klarheit
2.7Entstehung von Normen
2.7.1Normungsorganisationen
2.7.2Erstellungsprozess
2.7.3Typen von ISO-Normen
2.7.4Normenautoren
IIInhalte der Testnormen
3Inhalt ISO 29119 – Teil 1: Allgemeine Konzepte
3.1Begriffe
3.2Einführung ins Softwaretesten
3.3Testkonzepte und Teststrategie
3.3.1Risiko, Risikomanagement und Risikobasierter Test
3.3.2Testansätze
3.3.3Testen im Softwarelebenszyklus
3.3.4Testen in unterschiedlichem Kontext
3.3.5Inhalte der Teststrategie
3.4Testframeworks
3.4.1Testprozesse
3.4.2Testdokumentation und Anforderungen an diese
3.4.3Weitere Elemente von Testframeworks
3.5Testentwurf und Testdurchführung
3.6Organisatorisches
3.7Die Anhänge
4Inhalt ISO 29119 – Teil 2: Testprozesse
4.1Aufbau der Prozesse
4.1.1Hierarchisches Modell
4.1.2Struktur der Prozesse, Aktivitäten und Aufgaben
4.1.3Generische Prozesse
4.1.4Rollen in den Prozessen
4.2Prozesse auf Organisationsebene
4.3Testmanagementprozesse
4.3.1Teststrategie- und Testplanungsprozess
4.3.2Testüberwachungs- und -steuerungsprozess
4.3.3Testabschlussprozess
4.4Prozesse für den dynamischen Test
4.4.1Testentwurfs- und -realisierungsprozess
4.4.2Prozess für Testumgebungs- und Testdatenmanagement
4.4.3Testdurchführungsprozess
4.4.4Fehlermeldeprozess
5Inhalt ISO 29119 – Teil 3: Testdokumentation
5.1Übersicht über die Dokumente der ISO 29119-3
5.2Allgemeine Struktur der Dokumente
5.3Inhalt und Form
5.4Testrichtlinie
5.5Organisationsbezogene Testpraktiken
5.6Testkonzept
5.7Testspezifikation
5.7.1Testmodellspezifikation
5.7.2Testfallspezifikation
5.7.3Testablaufspezifikation
5.7.4Testspezifikation in integrierter Form
5.8Testumgebung und Testdaten
5.8.1Anforderungen an die Testumgebung
5.8.2Anforderungen an Testdaten
5.8.3Bericht über Bereitstellung der Testumgebung und Bericht über Bereitstellung der Testdaten
5.9Testberichte
5.9.1Testprotokoll
5.9.2Teststatusbericht
5.9.3Testabschlussbericht
5.10Ergebnisse
5.10.1Istergebnisse
5.10.2Testergebnis
5.10.3Fehlerbericht
6Inhalt ISO 29119 – Teil 4: Testverfahren
6.1Überblick
6.1.1Verständnis des Begriffs Testverfahren
6.1.2Vom Testmodell zum Testfall
6.1.3Testverfahren und die Prozesse aus Teil 2
6.1.4Testverfahren und die Dokumente aus Teil 3
6.1.5Übersicht über die Testverfahren nach ISO 29119-4
6.2Spezifikationsbasierte Testverfahren
6.2.1Äquivalenzklassenbildung
6.2.2Klassifikationsbaumverfahren
6.2.3Grenzwertanalyse
6.2.4Syntaxtest
6.2.5Kombinatorischer Test
6.2.6Entscheidungstabellentest
6.2.7Ursache-Wirkungs-Graph-Analyse
6.2.8Zustandsbasierter Test
6.2.9Szenariotest
6.2.10Zufallstest
6.2.11Metamorpher Test
6.2.12Anforderungsbasierter Test
6.3Strukturbasierte Testverfahren
6.3.1Anweisungstest
6.3.2Zweigtest
6.3.3Entscheidungstest
6.3.4Bedingungstest
6.3.5Mehrfachbedingungstest
6.3.6Modifizierter Bedingungs-/Entscheidungstest
6.3.7Datenflusstest
6.4Erfahrungsbasierte Testverfahren
6.4.1Fehlererwartungsmethode
6.5Testen von Qualitätsmerkmalen
6.6Überdeckungsmessung
7Inhalt ISO 29119 – Teil 5: Keyword-Driven Testing
7.1Überblick
7.2Entstehung von Teil 5
7.3Anwendung der ISO 29119-5
7.4Bezug zu den Teilen 1-4 der Normenreihe ISO 29119
7.5Gründe für Keyword-Driven Testing
7.6Keywords
7.6.1Schichten
7.6.2Klassifikation von Keywords
7.6.3Identifikation von Keywords
7.6.4Keywords und datengetriebener Test
7.6.5Testautomatisierung mit Keywords
7.7Frameworks und deren Komponenten
7.8Datenaustausch
8Inhalt ISO 29119 – weitere Normen der Familie
8.1ISO 29119 – Teil 6: Testen in agilem Umfeld
8.2ISO 29119 – Teil 11: Testen von auf künstlicher Intelligenz basierenden Systemen
8.3ISO 29119 – Teil 13: Testen biometrischer Systeme
8.4Prozessbewertung und Prozessverbesserung – oder das Assessmentmodell: ISO 33063
8.5Reviews: ISO 20246
IIIAnwendungshinweise und Zukunft
9Anwendung
9.1Projektbeispiel »TestCenter«
9.1.1Projektsteckbrief
9.1.2Die Einführung der ISO 29119
9.1.3Beispiel Prozessbeschreibung »Testplanungsprozess«
9.1.4Beispiel Prozessbeschreibung »Testdesign und -spezifikation«
9.1.5Beispiel Prozessbeschreibung »Testumgebung«
9.1.6Beispiel Prozessbeschreibung »Testdurchführung«
9.1.7Beispiel Prozessbeschreibung »Fehlerprotokollierung«
9.1.8Beispiel Dokumentbeschreibung »Testspezifikation«
9.1.9Beispiel Dokumentbeschreibung »Testentwurfsspezifikation«
9.1.10Beispiel Dokumentbeschreibung »Testfallspezifikation«
9.1.11Beispiel Dokumentbeschreibung »Testablaufspezifikation«
9.2Projektbeispiel »MediCo«
9.2.1Projektsteckbrief
9.2.2Die Einführung der ISO 29119
9.2.3Beispiel Dokumentbeschreibung »MediCo-Testplan«
9.2.4Beispiel Dokumentbeschreibung »MediCo-Summary-Report«
9.2.5Beispiel Dokumentbeschreibung »Headerinhalt«
9.3Projektbeispiel »AgileDev«
9.3.1Projektsteckbrief
9.3.2Die Nutzung der ISO 29119 für ein Testen im Sprint
9.3.3Beispieldokumente
9.4Projektbeispiel »G-TABib«
9.4.1Projektsteckbrief
9.4.2Eine Bibliothek – zwei Ebenen
9.4.3Redundanzfreiheit und Schichtenmodell
9.4.4Nutzung der Bibliothek
9.4.5Organisatorische Vorgaben
10Kritik
10.1Während der Entwicklung
10.2Nach Fertigstellung
11Jenseits der heutigen ISO 29119
11.1Statische Analyse
11.2Incident Management
11.3Automotive
11.4Spiele
11.5Modellbasierter Test
11.6Performanztest
12Fazit
Anhang
AAbbildung des Zusammenhangs der Prozesse und Dokumente
BFAQ
CAbkürzungen
DBegriffe
Literaturverzeichnis
Index
Ein Buch über eine Norm und darüber, wie man diese Norm in der Praxis anwendet, das klingt attraktiv und spannend – wenn auch sicher nicht für jeden gleichermaßen.
Spannend ist es in der Tat, denn eine Norm bietet immer die Möglichkeit, sich des Wissens und der Erfahrung anderer zu bedienen – sich also gewissermaßen »auf die Schultern von Riesen zu stellen«, sich so des gesammelten Wissens aller »Vorausgegangenen« zu bedienen. Insofern kann man eine Norm immer auch als eine systematisch konsolidierte Good-Practice-Sammlung von Kompetenzträgern des jeweiligen Gebietes verstehen, und das kommt meist schon nah an die Best Practice heran.
Dem steht oft gegenüber, dass die Texte einer Norm sehr formal verfasst sind und nicht a priori klar ist, wozu man den einen oder anderen Teil in der Praxis benötigt. Gott sei Dank ist das für die hier behandelte ISO/IEC/IEEE 29119 nicht der Fall, »staubtrocken« oder »praxisfremd« sind hier keine zutreffenden Attribute.
Die Autoren dieses Buches sind der Meinung, dass die hier behandelte Norm durchaus »alltagstauglich« beschrieben ist. Zusammen mit der Norm stellt dieses »Begleitbuch« quasi eine Bedienungsanleitung dar, die die Praxisrelevanz nicht nur belegt, sondern Ideen schafft, wie diese Norm ganz konkret im eigenen Unternehmen und Projekt Nutzen stiften kann.
Dieses Buch ist kein Ersatz für die Beschaffung der Norm: Wer normenkonform arbeiten will, kann auf den Lizenzerwerb der Norm nicht verzichten – letztlich auch deswegen, um in den Genuss der kontinuierlichen Ergänzungen und Fortschreibungen zu kommen. In diesem Buch wiederholen wir also nicht den detaillierten Inhalt, sondern erklären und erläutern die Norm und zeigen, wie man aus den verschiedenen Teilen der Norm Nutzen ziehen kann.
Der Aufbau des Buches soll dem Leser helfen, sich schnell zu orientieren und durch die Erläuterungen zu den verschiedenen Bereichen der Norm möglichst direkt Ideen für die Anwendung der Norm zu entwickeln. Mit dem Originaltext der Norm »auf dem Schoß« kann dieses Buch als Nachschlagewerk verwendet werden, aber auch als »Kompass«, der einen Weg zur Nutzung aufzeigt. Und es eignet sich auch als Grundlagenlektüre für den Einstieg in das Thema »Softwaretest-Normen und deren praxisorientierte Anwendung«.
Der Einfachheit halber und für eine bessere Lesbarkeit wird die Normenfamilie in diesem Buch meist als ISO 29119 bezeichnet – vollständig müsste immer von ISO/IEC/IEEE 29119 die Rede sein. Damit soll keinesfalls eine Bewertung oder Hierarchie der beteiligten Organisationen ISO, IEC und IEEE vorgenommen werden.
Nutzungshinweis
Sicher ist es hilfreich, dass man das Buch nicht »am Stück« lesen muss. Schnelle Orientierung schaffen die vier Teile, die das Buch gliedern:
Teil I: Historie und GrundlagenTeil II: Inhalte der TestnormenTeil III: Anwendungshinweise und ZukunftAnhang: FAQ, Begriffe (englisch/deutsch), Verweise und ReferenzenDiese Struktur unterstützt den Leser, je nach Interesse gezielt den für ihn attraktiven Inhalt zu finden.
Teil I schildert neben dieser Einführung mit dem Kapitel 2Entstehungsgeschichte und Kontext der ISO 29119 den Werdegang der Norm, was sicher auch für diejenigen interessant ist, die sich bislang generell nicht damit beschäftigt haben, wie Normen überhaupt entstehen. Inhaltlich steht eine Norm ja selten für sich allein. So skizziert dieses Kapitel auch die Berührungspunkte der ISO 29119 zu anderen Normen und Standards.
Ein gutes Beispiel für einen solchen Berührungspunkt ist das ISTQB®. Viele, die sich professionell mit dem Testen von Software und Systemen beschäftigen, setzen heute auf die Vorgaben des International Software Testing Qualifications Board, kurz ISTQB® (vgl. Abschnitt 2.5). Die verschiedenen Ausbildungsstufen des »Certified Tester« sind aktuell ein unbestrittenes Qualitätsmerkmal der Testerausbildung. Die Norm ISO 29119 kann man als Weiterführung und Ergänzung dieser ISTQB®-Lehrpläne verstehen, somit ist das Buch auch für diese Gruppe von Lesern interessant – allein schon deshalb, weil das ISTQB® bei der Erstellung und Überarbeitung der Lehrpläne die Inhalte der ISO 29119 berücksichtigt. Somit spielt die ISO 29119 mindestens indirekt auch bei der Ausbildung von Testern eine wichtige Rolle – ein weiterer Grund, sich mit den Inhalten zu beschäftigen.
Teil II behandelt ganz konkret die Inhalte der einzelnen Normenteile. In fünf Kapiteln geht es analog zu den Normen um Konzepte (ISO 29119 – Teil 1), um Testprozesse (ISO 29119 – Teil 2), Testdokumentation (ISO 29119 – Teil 3), Testverfahren (ISO 29119 – Teil 4) und schließlich um Keyword-Driven Testing (ISO 29119 – Teil 5). Etwas kompakter werden darüber hinaus die drei bisher erschienenen Technical Reports zur Anwendung der Normen im agilen Umfeld (ISO 29119 – Teil 6), beim Testen KI-basierter Systeme (ISO 29119 – Teil 11) und beim Testen biometrischer Systeme (ISO 20119 – Teil 13) betrachtet. Ein kurzer Blick auf zwei Normen außerhalb der ISO 29119, die für Tester aber sehr relevant sein können, muss erlaubt sein: ISO/IEC 33063 und ISO/IEC 20246.
Die Ausführungen und Erläuterungen vor dem Hintergrund umfassender Testerfahrung bieten eine praxisorientierte Interpretation des jeweiligen Teils, wobei der geneigte Leser gut beraten ist, sich parallel zu dieser Lektüre auch mit den originalen Normentexten zu versorgen – so kann er das Thema »Test« so professionell, vollständig und umsichtig wie möglich gestalten.
Teil III liefert zusammen mit diesen inhaltlichen Darstellungen aus Teil II verschiedene Beispiele im Kapitel 9Anwendung, die inspirieren sollen, sich erfolgreich »auf die Schultern der Riesen« zu stellen – eben jener Spezialisten, die ihre Erfahrungen in die Norm haben einfließen lassen. Die konkrete Anwendung im eigenen Projekt oder Unternehmen ist sicher nur ein möglicher Nutzen – die weiteren Kapitel des Teils III bieten zusätzlichen Mehrwert: Im Kapitel 10Kritik stellt sich das Buch der kritischen Diskussion über den Sinn der ISO 29119, mit dem Kapitel 11Jenseits der heutigen ISO 29119 wagen wir einen Ausblick auf Themen, die aktuell (noch) nicht durch die Normenreihe abgedeckt sind, aber kommen könnten, und schließlich ziehen wir ein kurzes Fazit.
Der Anhang rundet das Buch ab: Anhang A verdeutlicht die Zusammenhänge der Prozesse aus Teil 2 und der Dokumente aus Teil 3 der ISO 29119, oft gestellte Fragen werden möglicherweise in Anhang BFAQ schnell beantwortet, Abkürzungen sowie Begriffe sind zum Nachschlagen geeignet und die verschiedenen Verweise und Referenzen auf weiterführende und Quellenliteratur machen das Buch zu einem umfassenden Ratgeber.
Damit bietet »ISO 29119 – Die Softwaretest-Normen verstehen und anwenden« neben einem übersichtlichen Nachschlagewerk einen Einstieg in die Materie und konkrete Anreize, wie Sie die ISO 29119 schnell und effektiv für die eigene Projektpraxis nutzen können. Und wenn dies gelingt, hat dieses Buch seinen Zweck erfüllt!
Norm oder Standard?
Ein Standard stellt eine allgemein anerkannte einheitliche Vorgehensweise dar. Der Begriff Standard sagt nichts über seine Entstehungsgeschichte aus – er kann auch nur innerhalb eines Unternehmens oder eines Industriezweigs vereinbart oder von einer beliebigen Gruppe von Personen erarbeitet worden sein, ohne klare Erstellungsregeln. Er hat sich aber in einem gewissen Umfeld durchgesetzt. Man spricht auch von einem »De-facto-Standard«.
Eine Norm hingegen wird von einer (staatlich) anerkannten Normungsstelle – z. B. dem DIN, der ISO oder dem CEN – nach definierten, transparenten Regeln und einem anerkannten Normungsprozess erstellt. Man spricht auch von einem »Dejure-Standard«.
Im allgemeinen Sprachgebrauch werden im Deutschen die beiden Begriffe allerdings oft synonym verwendet. Dieses Buch bezieht sich auf Normen, und daher wird auch meist dieser Begriff verwendet – wir erlauben uns aber die Verwendung des Begriffs »Standard«, wenn dies der Lesbarkeit dient.
Wer »richtig«, mit einem gewissen Anspruch und nicht »einfach nur so«, Software testen wollte, für den standen schon lange Zeit vor Erscheinen der Normenfamilie ISO 29119 im Jahr 2013 eine Anzahl von Normen zur Verfügung. Diese Normen waren bewährt, bekannt und verfügbar, schon weil sie auch durch das erfolgreichste Ausbildungsschema für Softwaretester, den ISTQB® Certified Tester (siehe Abschnitt 2.5), referenziert wurden.
Interessanterweise waren und sind sich viele ISTQB® Certified Tester gar nicht bewusst1, dass ihre Arbeit sich an Standards und Normen orientiert, geschweige denn an welchen – vielleicht, weil sie sich in der Certified-Tester-Ausbildung mehr auf die Inhalte konzentrieren als auf die Bezeichnungen von Normen. Trotzdem, schon vor 2013 gab es hilfreiche Teststandards:
Zu nennen wären hier der Standard IEEE 829 [84], die beiden Normen BS 7925-1 [82] und BS 7925-2 [83] sowie IEEE 1008 [48].
Insgesamt wird in diesem Kapitel neben den eben genannten Normen eine ganze Anzahl weiterer Normen und Standards erwähnt, die zur ISO 29119 in Bezug gesetzt werden können. Abbildung 2-1 zeigt diese Normen gruppiert nach Themenbereichen als Übersicht.
Mit Erscheinen der ersten vier Teile der Normenreihe ISO 29119 zwischen September 2013 und Dezember 2015 stehen nun zeitgemäße Normen zur Verfügung, die die eben genannten Normen abgelöst haben. Seit 2022 sind sie in einer zweiten überarbeiteten und verbesserten Auflage erhältlich. Bevor auf Inhalt und Struktur dieser seitdem relevanten Normen eingegangen wird, soll ein kurzer Blick auf die Vorgänger geworfen werden.
Abbildung 2-1 Überblick über Standards im Zusammenhang mit ISO 29119
Die im Folgenden genannten Normen stammen von den Normungsorganisationen IEEE und BSI. Auch wenn beide Organisationen nicht die gleiche Reichweite wie die ISO haben, waren diese Normen doch über viele Jahre die maßgeblichen Normen für Softwaretest.
IEEE 829 war lange der Maßstab.
Der Standard IEEE 829 [84] trägt den Titel »IEEE Standard for Software and System Test Documentation«.
Er wurde bereits 1983 veröffentlicht, damals noch unter dem Titel »Software Test Documentation«. Im Laufe der Jahre gab es wesentliche Überarbeitungen; der Fassung von 1998 folgte 2008 die letzte Veröffentlichung, die erstmalig außer dem Schwerpunktthema »Testdokumentation« auch das Thema »Prozesse« anschnitt.
Die Norm BS 7925-1 [82] trägt den Titel »Vocabulary of Terms in Software Testing«.
Glossar
Diese Norm, die hauptsächlich aus Begriffsdefinitionen besteht, hat die Begriffswelt der Softwaretester wesentlich mitgeprägt. Das ist spätestens seit der Verbreitung durch das ISTQB® der Fall, dessen ursprüngliches Glossar sich vor Erscheinen der ISO 29119 auf die Begriffe aus BS 7925-1 bezog.2
Da die Norm BS 7925-1 eine der Grundlagen der ISO-29119-Familie ist, basieren auch heutige Definitionen von Testbegriffen bei der ISO darauf – und darauf wiederum das heutige Glossar des ISTQB®. Dank des German Testing Board (GTB) wurden die Begriffe ins Deutsche übertragen. Dieses Glossar findet sich unter [30] sowie mehrsprachig bei [31].
Damit sind viele der Begriffe, sei es auf Englisch oder auf Deutsch, in den Sprachgebrauch der Softwaretester (und einiger anderer Leute, die mit Testern reden) eingegangen. Heute kann man Zweifel darüber, was z.B. ein »Regressionstest« (oder »regression testing«) bedeutet, ganz einfach ausräumen, indem man sich auf das Glossar des ISTQB® oder des GTB beruft – und damit hat man sich letztendlich auf BS 7925-1 bezogen.
Umgangssprachlich ist das sicher auch in Ordnung, aber an dieser Stelle sollte schon darauf hingewiesen werden, dass die Begriffswelten von ISO, ISTQB® und BS 7925-1 nicht 1:1 dieselben sind. Es hat sich gezeigt, dass im Laufe der Zeit doch einige weitere Begriffe zu definieren waren, die nicht im BS 7925-1 beschrieben sind – andere wurden obsolet. Es kamen Begriffe hinzu, die in Arbeitsgruppen der ISO, des ISTQB® und in anderen Gruppen definiert wurden.
Eine kleine Statistik: Die BS 7925-1 hat immerhin 180 Einträge (ohne Synonyme/Verweise), das Software-Engineering-Vokabular von ISO, IEEE und PMI »SEVOCAB« [36] listet 235 Definitionen aus der Reihe der ISO 29119 auf und das ISTQB®-Glossar [41] kommt sogar auf 571 Definitionen.
Somit ist klar, dass die Norm BS 7925-1 einerseits einen großen Einfluss auf die Sprache der Softwaretester hatte, andererseits aber auch eine Erneuerung und Erweiterung aufgrund der Entwicklungen seit ihrer Erstellung notwendig war.
Die Norm BS 7925-2 [83] trägt den Titel »Software Component Testing Standard«.
Testverfahren
In der Norm BS 7925-2 ist eine Vielzahl von Testverfahren beschrieben, die vielen Softwaretestprofis vertraut sind. Natürlich gibt es mehr Testverfahren als die dort beschriebenen – aber wirft man einen Blick auf die Praxis, dann zeigt sich, dass die wirklich eingesetzten Testverfahren gar nicht so viele sind – und selten werden zusätzliche benötigt, die nicht in dieser Norm beschrieben sind.
Was viele nicht wissen, ist, dass die Norm BS 7925-2 auch einen reichen Fundus an Beispielen beinhaltet, die für das Verständnis der Testverfahren sehr nützlich sind.
Der Standard IEEE 1008 [48] trägt den Titel »IEEE Standard for Software Unit Testing«.
IEEE 1008 stammt aus dem Jahr 1986. Thematisch befasst er sich mit »Unit Tests«, die im Deutschen auch als »Komponententests« bezeichnet werden.
Seine Bedeutung für die Erstellung der Normenfamilie ISO 29119 war vergleichsweise gering, da seine Inhalte sich in weiten Bereichen mit den anderen, oben genannten Normen überschneiden, und daher kaum zusätzliche Aspekte einfließen konnten.
Umgekehrt gilt aber, dass auch diese Norm mit Erscheinen der ISO 29119 abgelöst wurde.
Mit bereits vorhandenen Normen hatten wir Softwaretester im Grunde ein gutes Handwerkszeug zur Verfügung. Trotzdem gab es einige Gründe, das Vorhaben »29119« zu starten und damit internationale Normen um das Thema Softwaretest zu entwickeln.
Die Legitimation
Die bisherigen Normen, die oben erwähnt wurden, waren entweder IEEE-Standards oder britische Normen. IEEE ist weltweit sehr anerkannt, streng genommen hat es jedoch den Status eines US-amerikanischen Berufsverbands, vergleichbar mit der deutschen Gesellschaft für Informatik (GI). Somit ist es zumindest aus Sicht derjenigen Länder, die mit ihren Normungsorganisationen der ISO angeschlossen sind, wünschenswert, wenn der maßgebliche Teststandard (wenigstens auch) eine ISO-Norm ist.
Die Aktualität
Im Feld Softwaretest gibt es keine jährlichen Quantensprünge, die alles Bisherige infrage stellen – tatsächlich wäre man vielerorts froh, das, was schon vor Jahren bekannt war, in ganzer Pracht anwenden zu können.
Trotzdem: Im Laufe der Zeit haben sich doch ein paar Erkenntnisse ergeben, die in einem heute gültigen Softwareteststandard nicht mehr fehlen dürfen.
Die Struktur
»Aus einem Guss« waren die bislang verfügbaren Normen nicht. Die Themenblöcke Begriffe, Dokumente und Testverfahren werden zwar beleuchtet, aber in verschiedenen Dokumenten von unterschiedlichen Organisationen erstellt. Somit sind sie auch nicht sonderlich fein aufeinander abgestimmt.
Die Prozessorientierung
Man könnte sagen, es sei ein Trend, dass zeitgemäße Standards und Normen prozessorientiert sind oder Überarbeitungen von Normen einen Schwerpunkt auf Prozessorientierung legen. Ein Beispiel hierfür ist die Norm ISO 9000 [85] zum Thema Qualitätsmanagementsysteme, die seit der Neufassung im Jahr 2000 stark prozessorientiert ist.
Auch wenn ein Trend kein besonders guter Grund dafür ist, etwas zu tun, so ist das Thema »Prozesse« doch eines, das für das Softwaretesten sehr wichtig ist, bisher aber stiefmütterlich behandelt wurde – zwar wurde es in der letzten Fassung des IEEE 829 von 2008 ein wenig gestreift, aber eben nicht ausreichend erörtert. Testprozesse sind ein Pflichtthema in einer zeitgemäßen Norm zum Softwaretest – und die anderen Themen müssen sich daran ausrichten.
Damit sind einige gute Gründe vorhanden, die Arbeit an einem neuen Teststandard zu beginnen – und man könnte die These aufstellen (und vermutlich haben das einige zu Beginn des Vorhabens auch getan), wenn das Ausgangsmaterial so gut ist, wie es scheint, dann ist nicht viel Arbeit damit verbunden – weit gefehlt. Aber so schwierig die Konsensbildung mitunter auch war – am Ende war sie erfolgreich.
ISO 29119 umfasst mehrere Teile.
Wenn man von ISO 29119 spricht, dann redet man nicht von einer einzelnen Norm, sondern von einer Normenreihe. Zum Zeitpunkt der Drucklegung dieses Buches handelt es sich dabei um acht Normen, die mit Teil 1 bis Teil 6, Teil 11 und Teil 13 benannt werden:
ISO 29119-1 Software testing – General concepts
In dieser Norm (auch bezeichnet als ISO 29119, Teil 1) erfolgt eine Einführung in wesentliche Prinzipien und Grundlagen des Softwaretestens, die zum Verständnis für die folgenden Teile vorausgesetzt werden.
ISO 29119-2 Software testing – Test processes
In der zweiten Norm (auch bezeichnet als ISO 29119, Teil 2) werden die Prozesse, mit denen Softwaretests durchzuführen sind – von der abstrakten Planung auf Organisationsebene bis hin zur Fehlererfassung im Rahmen der Ausführung dynamischer Tests –, beschrieben. Dieser Teil der Normenreihe kann als zentral betrachtet werden, da die folgenden Teile sehr stark darauf aufbauen.
ISO 29119-3 Software testing – Test documentation
Diese Norm (auch bezeichnet als ISO 29119, Teil 3) beschreibt die Dokumente, die als Ergebnisse der Prozesse aus Teil 2 entstehen.
ISO 29119-4 Software testing – Test techniques
In der vierten Norm (auch bezeichnet als ISO 29119, Teil 4) werden Testverfahren beschrieben und darauf basierende Überdeckungsmaße definiert, die im Rahmen der Testprozesse zum Finden von Testfällen und zum Erstellen einer Testspezifikation laut ISO 29119, Teil 3 Verwendung finden.
ISO 29119-5 Software testing – Keyword-driven testing
Mit dieser fünften Norm (auch bezeichnet als ISO 29119, Teil 5) ist eine erste Erweiterung der ursprünglich mit vier Teilen geplanten Normenreihe erschienen. Sie baut auf den ersten Teilen auf und ergänzt sie um eine Vorgehensweise zur Spezifikation von Testfällen über Bausteine, sogenannte Keywords.
ISO 29119-6 Software testing – Guidelines for the use of ISO/IEC/IEEE 29119 (all parts) in agile projects
Die sechste Norm der Reihe (auch bezeichnet als ISO 29119, Teil 6) unterstützt Anwender der ersten Teile darin, diese im agilen Umfeld anzuwenden.
ISO 29119-11 Software testing – Guidelines on the testing of AI-based systems
Diese Norm (auch bezeichnet als ISO 29119, Teil 11) gibt Anwendern der ISO 29119 Hilfestellung beim Testen von Software, die auf künstlicher Intelligenz (KI, engl. »Artificial Intelligence/AI«) beruht.
ISO 29119-13 Software testing – Using the ISO/IEC/IEEE 29119 series in the testing of biometric systems
In dieser Norm schließlich (auch bezeichnet als ISO 29119, Teil 13) werden Hilfestellungen zum Testen von biometrischen Systemen gegeben.
Kernnormen
Die ersten vier Teile bilden den Kern der Normenreihe ISO 29119. Wir werden sie in der Folge daher als »Kernnormen« bezeichnen. Sie und der Teil 5 werden in den folgenden Kapiteln ausführlicher behandelt.
Die drei Teile 6, 11 und 13 sind als »Technical Report« veröffentlicht worden und stellen nicht wie die ersten 5 Teile allgemeingültige Vorgehensweisen dar, sondern sind eher als Handreichung, Unterstützung oder Interpretationshilfe der Kernnormen in spezifischen Einsatzszenarien zu verstehen. Sie werden daher etwas kompakter besprochen.
Weitere, ergänzende Teile sind in Planung, jedoch kein Schwerpunkt dieses Buches – mehr dazu findet sich in Kapitel 11. Die Lücken in der Nummerierung werden sich wohl noch schließen.
Die Normenreihe ISO 29119 stellt einen Satz von Basisnormen dar, die ausschließlich das Thema Testen behandeln. Manche andere Standards und Normen haben zwar nicht das Thema Testen als Schwerpunkt, machen aber dennoch dazu Aussagen, während andere sogar Grundlage für die ISO 29119 sind.
Einige der im Folgenden genannten Normen wurden zuletzt vor der Veröffentlichung der Normenfamilie ISO 29119 überarbeitet und nehmen allein schon aus diesem Grund keinen Bezug auf sie. Vielleicht ändert sich das in Zukunft, es gibt schließlich Berührungspunkte. Die ISO 26262-6 (»Road Vehicles – Functional Safety«, [64]) beispielsweise referenziert schon heute die ISO 29119.
Die folgenden Abschnitte stellen Normen und Standards zu speziellen Themenbereichen oder Branchen mit Bezug zum Softwaretest vor:
Sicherheitskritische Systeme
Automobiltechnik
Eisenbahntechnik
Kerntechnik
Medizintechnik
Eine grundlegende Norm in Bezug auf sicherheitskritische Systeme ist die Norm IEC 61508-3.
IEC 61508
Die Normenreihe 61508 betrifft elektrische, elektronische und programmierbare elektronische Systeme, die sicherheitskritisch sind. Sicherheitskritisch bedeutet, dass bei einem Fehlverhalten der Systeme eine Gefährdung vorliegt – beispielsweise für Gesundheit oder Leben von Menschen oder für die Umwelt. Unter dem Titel »Functional safety of electrical/electronic/programmable electronic safety-related systems – Part 3: Software requirements« erschienen, kümmert sich der dritte Teil der IEC 61508 [80] um den Aspekt der Softwareerstellung bei sicherheitskritischen Systemen und in diesem Zuge auch um das Thema Validieren, Verifizieren und somit auch um das Thema Softwaretest.
Ein Testprozess wie in ISO 29119-2 wird hier nicht vorgeschlagen. Es werden aber sogenannte »Safety Integrity Levels« (Sicherheitsanforderungsstufen, SIL) definiert. Hierbei handelt es sich um Kategorien von Gefährdungsgraden, die für Sicherheitsfunktionen abhängig vom Maß der Gefährdung oder des Risikos passende Maßnahmen begründen. Die Gefährdungsstufe mit den geringsten Anforderungen ist SIL 1, die höchsten Anforderungen werden an Stufe SIL 5 gestellt.
Zu diesen »Safety Integrity Levels« werden auch in Bezug auf das Thema Test Vorgaben für die Auswahl von Techniken und Maßnahmen gemacht.
Hier kann die Verwendung der Familie ISO 29119 weiterhelfen: Denn während die IEC 61508 fordert, was zu tun ist, zeigen die Teile der ISO 29119, wie man es tun kann. Ein Beispiel hierfür: IEC 61508 fordert, Verifikation entsprechend der Planung durchzuführen. Wie genau geplant werden soll, bleibt offen. ISO 29119-2 schließt diese Lücke, indem ein detaillierter Prozess (vgl. Abschnitt 4.3.1) für die Planung vorgeschlagen wird.
Die IEC 61508 nimmt die Funktion einer Basisnorm ein. Abbildung 2-2 verdeutlicht den Zusammenhang zwischen IEC 61508 und den Normen ISO 26262 (vgl. folgenden Abschnitt), DIN EN 50657 (vgl. Abschnitt »Normen mit Bezug zu Eisenbahn« auf S. 15) und DIN/IEC 60880 (vgl. Abschnitt »Norm mit Bezug zu Kernkraft« auf S. 17).
In allen drei Fällen wird IEC 61508 als Basisnorm referenziert. Damit würde eine denkbare künftige Änderung der IEC 61508, in der Bezug zur ISO 29119 genommen würde, indirekt Auswirkungen auf die referenzierenden Normen haben3.
Abbildung 2-2 IEC 61508 als Basisnorm
ISO 26262-6ASIL
Die ISO 26262-6 mit dem Titel »Road vehicles – Functional safety – Part 6: Product development at the software level« [64] (vgl. auch den Praxisleitfaden hierzu: [10]) trifft Festlegungen für verschiedene Teststufen, wie »software unit testing« und »software integration testing«, aber auch die Verifikation von sicherheitstechnischen Anforderungen. Darüber hinaus werden Sicherheitsanforderungsstufen – hier unter der Bezeichnung »ASIL« (für Automotive Safety Integrity Level) – definiert, von »A« – gering bis »D« – hoch.
Abhängig von der Sicherheitsanforderungsstufe werden Maßnahmen gefordert. Beispielsweise werden MCDC ( »Modified Condition Decision Coverage«, vgl. Abschnitt 6.3.6) für ASIL-D oder Anweisungsüberdeckung (vgl. Abschnitt 6.3.1) bereits für ASIL-A erwartet. Wie MCDC und Anweisungsüberdeckung anzuwenden und zu messen sind, zeigt im Detail die Norm ISO 29119-4.
DIN EN 50657
Eine weitere Norm im Bereich Fahrzeuge ist die DIN EN 50657 [78] mit der Bezeichnung »Bahnanwendungen – Anwendungen für Schienenfahrzeuge – Software auf Schienenfahrzeugen«, einer Nachfolgerin der älteren DIN EN 50128 [77]. Es handelt sich hierbei um die deutsche Fassung einer europäischen Norm (CENELEC, Europäisches Komitee für Normung im Umfeld Elektrotechnik), die viele Aspekte zu sicherheitsrelevanten Themen im Eisenbahnverkehr regelt, insbesondere software- und softwaretestbezogene Themen. Verifikation, Validierung und Softwaretest werden explizit angesprochen.
Die unterschiedlichen Ausprägungen der SIL in den verschiedenen sicherheitsbezogenen Normen sind teils historisch bedingt, teils in den speziellen Bedürfnissen der Branchen begründet.
SIL
Auch hier werden Sicherheits-Integritätslevel (frühere Bezeichnung: Sicherheitsanforderungsstufen), in diesem Zusammenhang genauer bezeichnet als »Software-Sicherheits-Integritätslevel« (SIL), definiert, beginnend von Basisintegrität (anstelle von »SIL 0«, geringste Anforderungen) über SIL 1 bis hin zu SIL 4 (sehr hohe Sicherheits-Integritätslevel).
Zu diesen Sicherheits-Integritätsleveln (SIL) gibt es Festlegungen, was jeweils (nicht nur) in Bezug auf Softwaretests mindestens zu tun ist. Diese Festlegungen gehen bis hin zu Testverfahren (wie z.B. Äquivalenzklassenzerlegung oder auch Datenflusstests) mit Abstufungen von »empfohlen« bis hin zu »verpflichtend«.
Tabelle 2-1 zeigt die Empfehlungen der Norm im Hinblick auf »Dynamische Analyse und Testen« exemplarisch für Äquivalenzklassenmethode und Grenzwertanalyse für die unterschiedlichen Sicherheits-Integritätslevel. Hierbei steht R für »Recommended« und HR für »Highly Recommended« – also quasi verpflichtend.
Tabelle 2-1 Beispiele für Empfehlungen der DIN EN 50657
Zwar erläutert die Norm in einer Übersicht (Anhang D) zu vielen Verfahren knapp, wie sie zu verstehen sind. Für die praktische Umsetzung dürfte das vielen Lesern aber nicht reichen. Auch wenn sie bislang von der DIN EN 50657 nicht referenziert wird – die ISO 29119-4 schließt hier eine Lücke, bietet umfassendere Informationen zum Softwaretest schlechthin und dringt tiefer in die Materie ein, wie z.B. Grenzwertanalyse anzuwenden ist. Beide Normen ergänzen sich also ganz hervorragend.
DIN/IEC 60880
Die DIN/IEC 60880 [79] trägt auf deutsch den Titel »Kernkraftwerke – Leittechnik für Systeme mit sicherheitstechnischer Bedeutung – Softwareaspekte für rechnerbasierte Systeme zur Realisierung von Funktionen der Kategorie A«. In Bezug auf die Sicherheit von Kernkraftwerken wurden in der DIN/EN 61226 drei Kategorien (A, B, C) definiert, von denen die Kategorie »A« diejenige ist, die maßgeblich für die Erreichung und Beibehaltung der Sicherheit von kerntechnischen Anlagen ist.
Die Norm macht Vorgaben zu Verifizierung und Validierung, und auch Prüfmethoden und ihr Anwendungsbereich werden beschrieben. Ähnlich wie bei IEC 61508 gilt auch hier, dass für das Verständnis, wie die Forderungen aus DIN/IEC 60880 umzusetzen sind, die Reihe ISO 29119 sehr hilfreich sein kann: Beispielsweise spricht DIN/IEC 60880 den Einsatz von Datenflusstests (in Anhang E unter dem Begriff »Datenflussprüfung«) an, vertieft das Thema aber nicht weiter. ISO 29119-4 hingegen beschreibt Datenflusstests genauer (vgl. Abschnitt 6.3.7) und gibt im Anhang Beispiele für die Anwendung.