Im Fokus Ausgabe 19 | Juni 2011 6
Software beeinflusst heute nahezu alle Bereiche unseres Lebens. Eingebettete Systeme bestehend aus Software, Hardware und Mechanik sind in allen Branchen anzu-treffen, von der Telekommunikation, über Haushaltse-lektronik und Avionik bis zur Automobil-Branche. Trotz zunehmender Komplexität müssen diese Systeme unter allen Bedingungen fehlerfrei und zuverlässig arbeiten. Ein systematischer Test von Software und Gesamtsystem ist zwingend erforderlich.
Normen und Standards1 enthalten im Idealfall bewähr-te Vorgehensweisen und Methoden, die dem Stand der Technik im jeweiligen Anwendungsgebiet entsprechen. Ihre Anwendung ist daher auch im Testumfeld sinnvoll. Auch wenn man es nicht glauben mag: Normen, die sich mit dem Thema Test auseinander setzen, gibt es schon relativ lange. Die bekannteste Testnorm ist sicherlich der IEEE 829 Standard for Software Test Documentation, die bereits 1983 in einer ersten Version veröffentlicht wurde. Diese Norm beschäftigt sich mit der Dokumentation von Software-Tests und definiert eine Reihe von Dokumen-ten, die für den Test relevant sind. Das bekannteste darin beschriebene Dokument ist zweifelsfrei der Testplan, der vielfach in der Industrie Anwendung gefunden hat.
Weitere bekannte Normen sind die Britischen Standards BS 7925-1 Software Testing – Vocabulary und BS 7925-2 Software Testing – Software Component Testing von 1998 sowie der IEEE 1008 Standard for Software Unit Testing, den es seit 1987 gibt. Während die BS 7925-1 grundlegende Testbegriffe definiert und der BS7925-2 unterschiedliche Methoden zur Testfallableitung be-schreibt, erläutert die IEEE 1008 die grundsätzliche Vor-gehensweise beim Unit-Test.
Darüber hinaus existieren noch weitere Normen und Stan-dards, die z.B. Reifegradmodelle für den Testprozess auf-greifen, wie TPI®2 Next (Test Process Improvement) oder TMMi®3 (Test Maturity Model integrated). Aus einzelnen branchenspezifischen Normen, wie z.B. der IEC 61508 Functional Safety of electrical/electronic/programmable electronic safety related systems, ergeben sich auch Vor-gaben für den Software- und Systemtest sicherheitsrele-vanter Systeme.
Betrachtet man diese Testnormen, so wird erkennbar, dass sie aus unterschiedlichen Quellen stammen, unter-schiedliche Aspekte des Software-Testens beleuchten und zu unterschiedlichen Zeitpunkten erwickelt wurden.
Überblick über die ISO/IEC 29119
Die Zielsetzung der ISO/IEC 29119 Software Tes-ting besteht darin, eine Norm zu entwickeln, die die Testbegriffe, den Test-prozess, die Testdoku-mentation und Testtech-niken definiert und aufei-nander abstimmt. Das ist die große Idee und Her-ausforderung hinter der neuen Norm. Das Know-how der bereits existierenden Normen soll ebenfalls da-rin aufgehen. Von organisatorischen Teststrategien über projektspezifische Teststrategien und -pläne für einzelne Teststufen, Testfallentwurfstechniken, Testdurchführung und Berichtswesen soll diese Norm jedes Software-Ent-wicklungs- oder Wartungsprojekt unterstützen.
Um dies zu gewährleisten, besteht die Norm aktuell aus vier Teilen: Konzepte und Definitionen, Testprozess, Test-dokumentation und Testtechniken (siehe Abbildung 1).
Diese vier Teile der ISO/IEC 29119 werden im Rahmen der Arbeitsgruppe 26 Software Test der JTC1/SC7 (Joint Tech-nical Committee 1 “Information Technology” / Subcom-mittee 7 “Systems and Software Engineering”) entwickelt. Im Jahr 2008 wurde mit der Arbeit an den Teilen 2 und 3 begonnen; seitdem wurde und wird kontinuierlich daran gearbeitet. Im vergangenen Jahr ist innerhalb der Arbeits-gruppe eine erste Version der Teile 1 und 4 entstanden. Wie jede Norm durchlaufen auch die vier Teile der ISO/IEC 29119 den definierten Entwicklungszyklus einer ISO/IEC-Norm. Aktuell sind alle Teile nur zur Bearbeitung innerhalb der Arbeitsgruppe 26 sowie der nationalen Spiegelgremi-
ISO/IEC 29119 - Die neue TestnormKlaudia Dussa-Zieger
Klaudia Dussa-Zieger
Abbildung 1: Struktur der ISO/IEC 29119
7 Ausgabe 19 | Juni 2011
Der Autor
Softwaretesten verfügbar (in Deutschland dem DIN Arbeitsausschuss 043-01-07 Software und System Engineering). Es wird er-wartet, dass die ersten Teile 2012 öffentlich erhältlich sind. Nach ihrer Veröffentlichung soll die neue Norm eine Reihe existierender Standards ablösen: die BS 7925-1, BS 7925-2, IEEE 1008, IEEE 829.
Der Testprozess
Um einen Eindruck von der ISO/IEC 29119 zu gewinnen, sollen an dieser Stelle einige Details zum Testprozess, ISO/IEC 29119-2, dargestellt werden (siehe Abbildung 2).
Der Testprozess ist im Rahmen der ISO/IEC 29119-2 in vier Prozessgruppen aufgeteilt, die wiederum Prozesse enthalten:
- organisatorische Testprozesse- Testmanagement-Prozesse- statische Testprozesse- dynamische Testprozesse.
Die Gruppe des organisatorischen Testprozesses besteht aus genau einem Testprozess, nämlich aus dem organi-satorischen Testprozess selber. Dieser beschäftigt sich mit organisationsweiten Vorgaben zum Thema Testen. Die Testmanagement-Prozesse gliedern sich in drei Prozes-se: Testplanungsprozess, Testüberwachungs- und kont-rollprozess sowie Testabschlussprozess. Diese drei Pro-zesse übernehmen die typischen Managementaktivitäten. Die Gruppe der statischen Testprozesse umfasst die sta-tischen Analyseprozesse sowie die Review-Prozesse. Die
„klassischen“ Aktivitäten bei der dynamischen Testdurch-führung (Testdesign und Testimplementierung, Bereitstel-lung der Testumgebung, Testdurchführung und Abwei-chungsmanagement) werden in der Gruppe der dynami-schen Testprozesse zusammengefasst.
Alle Prozesse werden in der Norm detailliert beschrieben: die Zielsetzung, Schnittstellen zu anderen Prozessen, die zu erwartenden Ergebnisse, Aktivitäten und Aufgaben. Die relevanten Testdokumente werden benannt.
Erwähnenswert ist hierbei, dass die Norm keinerlei Test-stufen, wie z.B. Integrationstest oder Systemtest, vorgibt. Die Teststufen, die in einem Projekt durchgeführt werden sollen, müssen eben in diesem definiert und die Testpro-zesse für die jeweilige Stufen instanziiert werden. Damit hat jedes Projekt die Freiheit, die Teststufen an seine Be-dürfnisse anzupassen.
Ausblick
Die Ziele der ISO/IEC 29119 sind hoch gesteckt. Eine Defi-nition und Abstimmung von Testbegriffen, Testprozessen, Testdokumentation und Testmethoden ist eine große He-rausforderung. Noch ist kein Teil der ISO/IEC 29119 fina-lisiert. Bis zur endgültigen Fassung ist auch noch einige Arbeit zu leisten. Das Interesse jedoch an den vier Nor-menteilen ist groß; entsprechend viele Anmerkungen und Änderungswünsche werden von den jeweiligen nationalen Gremien eingereicht und müssen bearbeitet werden. Die Arbeit im Rahmen der Arbeitsgruppe 26 ist und bleibt da-her spannend.
Ob die ISO/IEC 29119 tatsächlich die vier benannten Nor-men ablösen wird, ist noch offen. Mindestens im Fall der IEEE 829 ist hier etwas Skepsis geboten, denn die IEEE 829 hat sich seit 1983 weiterentwickelt und in der Versi-on von 2008 den Anwendungsbereich (und Namen) von
„Software Test Documentation“ auf „Software and System Test Documentation“ erweitert, während sich die ISO/IEC 29119 rein auf Software Test beschränkt.
[1] Eine Norm ist eine allseits rechtlich anerkannte und durch ein Normungsverfahren beschlossene, allge-meingültige sowie veröffentlichte Regel zur Lösung eines Sachverhaltes. Ergeben sich Methoden oder Regeln aus Erfahrungen aus der Praxis und etablieren sich stillschweigend, so spricht man von Industriestan-dards und herstellerspezifischen Standards.
[2] TPI® is a registered trademark of Sogeti.[3] TMMi® is a registered trademark of the TMMi Foundation.
Der Autor
Dr. Klaudia Dussa-Zieger ist Expert Consultant bei der Method Park Soft-ware AG. Seit 2009 ist sie die Obfrau des DIN-Arbeitskreises 01-07 „System & Software Engineering“. Im ASQF leitet sie die Fachgruppe Software-Test deutschlandweit sowie die regionale Fachgruppe in Franken. Sie ist Dozentin für Software-Test an der Universität Erlangen-Nürnberg.
Diskutieren Sie mit uns zu diesem Thema in der ASQF-XING-Gruppe unter www.xing.com/net/asqf !
Abbildung 2: Testprozesse (Arbeitsstand 04/2011)
Top Related