29119 Methoden, um Software zu testen
Autor: Gudrun Neumann, SGS-TÜV Saar GmbH
Beitrag - Embedded Software Engineering Kongress 2017
Verifikation durch Testen ist eine wichtige Phase im Software-Lebenszyklus. Die Standard-Reihe ISO/IEC/IEEE 29119 gibt international anerkannte Empfehlungen zum Thema Softwaretesten. Die beschriebenen Prozesse, Methoden und Techniken können von jedem Entwickler oder Verifikationsteam angewendet werden, um Software zu testen. Dieser Beitrag gibt einen Überblick über die Standardreihe. In einem weiteren Schritt wird dargestellt, inwieweit diese Methoden zur Erfüllung von Functional Safety Standards, wie z.B. ISO 26262, IEC 61508 und Cyber Security Standards, verwendet werden können. Eine Zusammenfassung der wesentlichen Aspekte erfolgt am Ende des Beitrags.
Einführung
Die Intention der ISO 29119 Standardreihe ist es einen international anerkannten Standard für das Testen von Software zu definieren. Diese Standardreihe ist zur Verwendung von jeder Organisation für jede Art von Softwaretesten entworfen worden.
(s. PDF, Abbildung 1)
Teile 2, 3 und 4 sind normativ. Eine Organisation kann eine sogenannte "Full Conformance" erreichen, indem sie eine vollständige Erfüllung aller Anforderungen nachweist. Für eine "Tailored Conformance" reicht die Erfüllung einer definierten Anzahl der Anforderungen.
Teil 1 – Konzepte und Definitionen
Der Teil 1 ist informativ und enthält Konzepte und Definitionen der Standardreihe. Er bietet ausführliche Definitionen zum Bereich Softwaretesten. Einige Begriffe, wie z.B. "Error Guessing" (siehe ISO 29119-1, 4.14), stimmen mit der Begriffswelt der Basisstandardreihe IEC 61508 überein. Andere Definitionen, wie z.B. die eines "Test Environment Readiness Report" (siehe ISO 29119-1, 4.61), spiegeln die detaillierte Betrachtung des Themas Softwaretest wider und sind so in Standards zur Funktionalen Sicherheit nicht zu finden. Spezielle Security Aspekte des Softwaretestens werden im Standard in den entsprechenden Teilen berücksichtigt.
Eines der Konzepte der Standardreihe ist die Fokussierung auf das Testen als Verifikations- / Validierungs-Aktivität. Abbildung 2 (s. PDF) zeigt die Hierarchie der unterstützten Verifikations- und Validierungs-Aktivitäten.
Teil 2 – Test-Prozesse
In diesem Teil werden die Testaktivitäten in verschiedene Ebenen gruppiert und Empfehlungen zu den notwendigen Prozessen gegeben.
(s. PDF, Abbildung 3)
Organisatorische Testprozesse umfassen Firmenspezifische Prozesse und Strategien zum Thema Softwaretesten.
In den Test Management Prozessen stehen Planung, Überwachung und Fertigstellung im Fokus. Zum Beispiel sind hier der Erfahrungsaustausch am Ende des Testens („Lessons learned“) und dessen Organisation ein Thema.
Dynamische Testprozesse befassen sich mit Design, Aufbau und Durchführung von Tests. Es werden auch Empfehlungen zur Behandlung von Abweichungen, d.h. fehlerhaften Testergebnissen, gegeben.
Test Design und Implementierung wird in folgende Unteraktivitäten aufgeteilt:
- Identify Feature Sets (TD1)
- Derive Test Conditions (TD2)
- Derive Test Coverage Items (TD3)
- Derive Test Cases (TD4)
- Assemble Test Sets (TD5)
- Derive Test Procedures (TD6)
Die Herangehensweise zu TD2, TD3 und TD4 ist Inhalt von Teil 4 der ISO 29119.
Teil 3 – Test-Dokumentation
Die Anforderungen und entsprechende Beispiele zu der notwendigen Dokumentation werden im Teil 3 aufgelistet. Dieser Teil gibt eine detaillierte Beschreibung der Inhalte, die eine gute Ergänzung zu anderen Standards, wie z.B. ISO 26262, darstellt.
Als Beispiel hier die Definition eines "Schedule" (siehe ISO 29119-3, 6.2.10), der Teil des Testplans ist. Mögliche beispielhafte Implementationen dieses "Schedule" für den Test sind im Anhang F, ISO 29119-3, zu finden.
In Abbildung 4(s. PDF) ist ein Beispiel einer Testfallbeschreibung aus dem Standard ISO 29119-3, Anhang J, gezeigt.
Anhand dieser Beispiele bekommt man einen guten Eindruck, wie die entsprechende Dokumentation aufgebaut werden sollte.
Teil 4 – Test-Techniken
Im Teil 4 werden die entsprechende Ableitung der Testbedingungen (TD2), Testing Coverage (TD3) und Testfälle (TD4) für verschieden Test-Techniken vorgestellt. Die Test-Techniken gliedern sich in drei verschiedene Gruppen.
Die Spezifikations-Basierten Techniken umfassen z.B. Äquivalenzklassenbildung, Boundary Value Analyse, Szenario-Testen und anderes. Unter Struktur-basiertem Testen fallen Anweisungs-, Zweig- und MC/DC-Überdeckungstest, genau wie Datenfluss Tests. Die letzte Gruppe ist das Erfahrungs-basierte Testdesign, also das sogenannte "Error Guessing".
Teil 5 – Keyword-Driven Testen
Im informativen Teil 5 wird ein Keyword-basierter Ansatz zum Erstellen von Testfällen vorgestellt. Dieser Ansatz wurde bisher in den Standards zur Funktionalen Sicherheit in dieser Form noch nicht berücksichtigt.
Zusammenfassung
Die Standardreihe ISO 29119 ist eine sinnvolle Ergänzung zu den bisher vorhandenen Standards. Jeder Test-Entwickler findet in diesem Standard in strukturierter Form Techniken, die vielfältig einsetzbar sind. Besonders Teil 3 ist durch die vielen Beispiele sehr hilfreich, um Testdokumentation zu erstellen, die auch den Anforderungen der Standards zur Funktionalen Sicherheit und Cyber Security genügt.
Abkürzungsverzeichnis
TD: Test Design
Literatur
- ISO/IEC/IEEE 29119-1:2013: Software and systems engineering — Software testing; Part 1: Concepts and definitions
- ISO/IEC/IEEE 29119-2:2013: Software and systems engineering — Software testing; Part 2: Test processes
- ISO/IEC/IEEE 29119-3:2013: Software and systems engineering — Software testing; Part 3: Test documentation
- ISO/IEC/IEEE 29119-4:2015: Software and systems engineering — Software testing; Part 4: Test techniques
- ISO/IEC/IEEE 29119-5:2016: Software and systems engineering — Software testing; Part 5: Keyword-Driven Testing
- IEC 61508:2010: Functional safety of electrical/electronic/programmable electronic safety-related systems
- ISO 26262:2011: Road vehicles - Functional safety
Autorin
Gudrun Neumann studierte Informatik an der Technischen Universität München und schloss das Studium als Diplom-Informatikerin Univ. (Dipl.-Inform. Univ.) im Jahr 1990 ab. Im Anschluss war sie bei der Siemens AG in verschiedenen Bereichen tätig. Seit 2010 ist sie als Product Manager Functional Safety Software bei der SGS-TÜV Saar tätig und ist dort verantwortlich für die Durchführung von Analysen und Beurteilungen von komplexen Systemen, z.B. Qualifizierung von Software Tools. 2012 wurde sie Team Leiterin des Software Teams. Neben diesen Tätigkeiten führt sie auch Beratungen und Schulungen zur Funktionalen Sicherheit von Software durch.
Test, Qualität & Debug - unsere Trainings & Coachings
Wollen Sie sich auf den aktuellen Stand der Technik bringen?
Dann informieren Sie sich hier zu Schulungen/ Seminaren/ Trainings/ Workshops und individuellen Coachings von MircoConsult zum Thema Test, Qualität & Debug.
Training & Coaching zu den weiteren Themen unseren Portfolios finden Sie hier.
Test, Qualität & Debug - Fachwissen
Wertvolles Fachwissen zum Thema Test, Qualität & Debug steht hier für Sie zum kostenfreien Download bereit.
Fachwissen zu weiteren Themen unseren Portfolios finden Sie hier.