ISO 29119 - Die Softwaretest-Normen verstehen und anwenden
Von Matthias Daigl und Rolf Glunz
()
Über dieses E-Book
Dieses Buch gibt eine praxisorientierte Einführung und einen fundierten Überblick über diese Normen und zeigt insbesondere die Umsetzung der Anforderungen aus der ISO 29119 hinsichtlich der Testaktivitäten auf. Der Aufbau des Buches spiegelt die Struktur der Normenreihe wider:
• Historie der Testnormen und Einführung
• Inhalte der ISO 29119
• Konzepte und Definitionen (Teil I)
• Testprozesse (Teil 2)
• Testdokumentation (Teil 3)
• Testverfahren (Teil 4)
• Anwendungsbeispiele
Dabei wird auch auf Themen eingegangen, die es (noch) nicht in die Norm geschafft haben, wie z.B. statischer Test mit Reviews und Analyse oder Security Levels. Im Anhang findet der Leser eine Zusammenstellung von Informationen zu besonders häufig gestellten Fragen zur ISO 29119, eine Übersetzung der englischen Begriffe sowie ausführliche Referenzen.
Das Buch richtet sich in erster Linie an Praktiker, die einen leichteren Einstieg in die Normenreihe und eine Hilfestellung für die Umsetzung der ISO 29119 in der Praxis suchen.
Ähnlich wie ISO 29119 - Die Softwaretest-Normen verstehen und anwenden
Ähnliche E-Books
Keyword-Driven Testing: Grundlage für effiziente Testspezifikation und Automatisierung Bewertung: 0 von 5 Sternen0 BewertungenDokumentation in agilen Projekten: Lösungsmuster für ein bedarfsgerechtes Vorgehen Bewertung: 0 von 5 Sternen0 BewertungenContinuous Delivery: Der pragmatische Einstieg Bewertung: 0 von 5 Sternen0 BewertungenTMap® Next: Praktischer Leitfaden für ergebnisorientiertes Softwaretesten Bewertung: 0 von 5 Sternen0 BewertungenTestdaten und Testdatenmanagement: Vorgehen, Methoden und Praxis Bewertung: 0 von 5 Sternen0 BewertungenSoftware entwickeln mit Verstand: Was Sie über Wissensarbeit wissen müssen, um Projekte produktiver zu machen Bewertung: 4 von 5 Sternen4/5Agiles Projektmanagement im Berufsalltag: Für mittlere und kleine Projekte Bewertung: 0 von 5 Sternen0 BewertungenTestmanagement in der Praxis Bewertung: 0 von 5 Sternen0 BewertungenProduct Ownership meistern: Produkte erfolgreich entwickeln Bewertung: 0 von 5 Sternen0 BewertungenAbläufe verbessern - Betriebserfolg garantieren Bewertung: 0 von 5 Sternen0 BewertungenOnline-Moderationen planen, vorbereiten und durchführen: Ein Überblick für Studierende und Praktiker Bewertung: 0 von 5 Sternen0 BewertungenBasiswissen Testautomatisierung: Aus- und Weiterbildung zum ISTQB® Advanced Level Specialist – Certified Test Automation Engineer Bewertung: 0 von 5 Sternen0 BewertungenScrum. Schnelleinstieg (3. Aufl.) Bewertung: 0 von 5 Sternen0 BewertungenAutomotive SPICE® - Capability Level 2 und 3 in der Praxis: Prozessspezifische Interpretationsvorschläge Bewertung: 0 von 5 Sternen0 BewertungenReviews in der System- und Softwareentwicklung: Grundlagen, Praxis, kontinuierliche Verbesserung Bewertung: 0 von 5 Sternen0 BewertungenMicrosoft 365 Mobilität und Sicherheit: Original Microsoft Prüfungstraining MS-101 Bewertung: 0 von 5 Sternen0 BewertungenDigitale Formate entwickeln: Wie Redaktionen neue Ideen umsetzen Bewertung: 0 von 5 Sternen0 BewertungenErfolgreiche Softwareprojekte im Web: 100 Gedanken zur Webentwicklung Bewertung: 0 von 5 Sternen0 BewertungenPRINCE2: Die Erfolgsmethode einfach erklärt Bewertung: 0 von 5 Sternen0 BewertungenDas Design Sprint Handbuch: Ihr Wegbegleiter durch die Produktentwicklung Bewertung: 4 von 5 Sternen4/5Die DIN EN ISO 9001 verstehen: Die Norm sicher interpretieren und sinnvoll umsetzen Bewertung: 0 von 5 Sternen0 BewertungenMicrosoft Teams - Effizient im Team organisieren und arbeiten - komplett in Farbe Bewertung: 0 von 5 Sternen0 BewertungenSoftware in Workshops perfekt präsentieren: So begeistern und gewinnen Sie Kunden für sich Bewertung: 0 von 5 Sternen0 BewertungenUser - Interface - Design: Usability in Web- und Software-Projekten Bewertung: 0 von 5 Sternen0 BewertungenStrategisches Produktmanagement: Produktstrategien und Roadmaps für digitale Produkte und agile Teams Bewertung: 0 von 5 Sternen0 BewertungenDie ISO 9001:2015 – das Wichtigste in Kürze: Die Norm für den betrieblichen Alltag kurz, knapp und verständlich erklärt Bewertung: 0 von 5 Sternen0 BewertungenSoftware-Test für Embedded Systems: Ein Praxishandbuch für Entwickler, Tester und technische Projektleiter Bewertung: 0 von 5 Sternen0 BewertungenGenerisches Prozessebenenmodell (PrEMo) zwischen Strategie und technologiegestützten Maßnahmen: Systematische Darstellung für die praktische Anwendung Bewertung: 0 von 5 Sternen0 BewertungenKanban: Evolutionäres Change Management für IT-Organisationen Bewertung: 3 von 5 Sternen3/5Produkte digital-first denken: Wie Unternehmen software-basierte Produktinnovation erfolgreich gestalten Bewertung: 0 von 5 Sternen0 Bewertungen
Softwareentwicklung & -technik für Sie
Projektmanagement für Anfänger: Grundlagen, -begriffe und Tools Bewertung: 0 von 5 Sternen0 BewertungenDesign Thinking für Anfänger: Innovation als Faktor für unternehmerischen Erfolg Bewertung: 0 von 5 Sternen0 Bewertungen3D-Drucken für Einsteiger: Ohne Frust 3D-Drucker selbst nutzen Bewertung: 0 von 5 Sternen0 BewertungenProgrammieren lernen mit Python 3: Schnelleinstieg für Beginner Bewertung: 0 von 5 Sternen0 BewertungenKanban für Anfänger: Grundlegendes über den Einsatz von Kanban in der Industrie und der Softwareentwicklung Bewertung: 0 von 5 Sternen0 BewertungenSketchnotes in der IT: Abstrakte Themen mit Leichtigkeit visualisieren Bewertung: 0 von 5 Sternen0 BewertungenZertifizierung für Softwarearchitekten: Ihr Weg zur iSAQB-CPSA-F-Prüfung Bewertung: 0 von 5 Sternen0 BewertungenDas große Python3 Workbook: Mit vielen Beispielen und Übungen - Programmieren leicht gemacht! Bewertung: 4 von 5 Sternen4/5Digital Painting Workbook Bewertung: 0 von 5 Sternen0 BewertungenLean Production - Grundlagen: Das Prinzip der schlanken Produktion verstehen und in der Praxis anwenden. Schlank zur Wertschöpfung! Bewertung: 0 von 5 Sternen0 BewertungenKOMA-Script: Eine Sammlung von Klassen und Paketen für LaTeX 2e Bewertung: 0 von 5 Sternen0 BewertungenSoftwareentwicklungsprozess: Von der ersten Idee bis zur Installation Bewertung: 0 von 5 Sternen0 BewertungenAgiles Produktmanagement mit Scrum: Erfolgreich als Product Owner arbeiten Bewertung: 3 von 5 Sternen3/5Agiles Projektmanagement: Scrum für Einsteiger Bewertung: 0 von 5 Sternen0 BewertungenKompaktes Managementwissen: Die Grunstruktur agiler Prozesse Bewertung: 0 von 5 Sternen0 BewertungenAgiles Requirements Engineering und Testen Bewertung: 0 von 5 Sternen0 BewertungenLean Management für Einsteiger: Grundlagen des Lean Managements für Kleine und Mittelständische Unternehmen – mit Vielen Praxisbeispielen Bewertung: 0 von 5 Sternen0 BewertungenAutomatisiertes Testen: Testautomatisierung mit Geb und ScalaTest Bewertung: 0 von 5 Sternen0 BewertungenBessere Softwareentwicklung mit DevOps Bewertung: 0 von 5 Sternen0 BewertungenEinfach Java: Gleich richtig programmieren lernen Bewertung: 0 von 5 Sternen0 BewertungenSoftwaredesigndokumente - sinnvoller Einsatz im Projektalltag: Sinnvoller Einsatz im Projektalltag Bewertung: 0 von 5 Sternen0 BewertungenWeniger schlecht Projekte managen: Ohne Krise zum Projekterfolg Bewertung: 0 von 5 Sternen0 BewertungenUML @ Classroom: Eine Einführung in die objektorientierte Modellierung Bewertung: 0 von 5 Sternen0 BewertungenProjekt Unicorn: Der Roman. Über Entwickler, Digital Disruption und das Überleben im Datenzeitalter Bewertung: 0 von 5 Sternen0 BewertungenAgile Spiele – kurz & gut: Für Agile Coaches und Scrum Master Bewertung: 0 von 5 Sternen0 BewertungenLean Management für Einsteiger: Erfolgsfaktoren für Lean Management – Lean Leadership & Co. als langfristige Erfolgsgaranten Bewertung: 0 von 5 Sternen0 BewertungenGrundlagen und Methoden der Wirtschaftsinformatik: Eine anwendungsorientierte Einführung Bewertung: 0 von 5 Sternen0 BewertungenQualität in IT-Architekturen: Management Bewertung: 0 von 5 Sternen0 BewertungenAgiles Coaching als Erfolgsfaktor: Grundlagen des Coachings, um Agile Teams erfolgreich zu managen Bewertung: 0 von 5 Sternen0 BewertungenEinfach Python: Gleich richtig programmieren lernen Bewertung: 0 von 5 Sternen0 Bewertungen
Rezensionen für ISO 29119 - Die Softwaretest-Normen verstehen und anwenden
0 Bewertungen0 Rezensionen
Buchvorschau
ISO 29119 - Die Softwaretest-Normen verstehen und anwenden - Matthias Daigl
Teil I
Historie und Grundlagen
1 Einführung
Ein Buch über eine neue 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 neue 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, 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 auch als Einstieg in das Thema »Softwaretest-Normen und deren praxisorientierte Anwendung« eignet es sich als Grundlagenlektüre.
Der Einfachheit und besseren Lesbarkeit halber nennen wir die Norm in diesem Buch ISO 29119 – vollständig müssten wir immer von der ISO/IEC/IEEE 29119 sprechen. 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 Grundlagen
Teil II: Inhalte der Testnormen
Teil III: Anwendungshinweise und Zukunft
Anhang: FAQ, Glossar, Verweise und Referenzen
Diese 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 2 Entstehungsgeschichte und Kontext 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 neue 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 – auch, weil künftige Lehrpläne sicher auf die Inhalte der ISO 29119 eingehen werden. Somit wird die ISO 29119 zukünftig auch bei der Ausbildung von Testern eine wichtige Rolle spielen – ein weiterer Grund, sich schon jetzt mit den Inhalten zu beschäftigen.
Teil II behandelt ganz konkret die Inhalte der einzelnen Normenteile. In vier Kapiteln geht es analog zu den Normen um Konzepte und Definitionen (ISO 29119 – Teil 1), um Testprozesse (ISO 29119 – Teil 2), Testdokumentation (ISO 29119 – Teil 3) und schließlich um Testverfahren (ISO 29119 – Teil 4). 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 7 Anwendung, 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 8 Kritik stellt sich das Buch der aktuellen kritischen Diskussion über den Sinn der ISO 29119, mit dem Kapitel 9 Jenseits der heutigen ISO 29119 wird die Grenze gezogen zu den Themen, die aktuell (noch) nicht durch die Normenreihe abgedeckt sind, und mit dem Ausblick bietet das Buch eine Zukunftsperspektive.
Der Anhang rundet das Buch ab: Oft gestellte Fragen werden möglicherweise in Anhang A FAQ schnell beantwortet, Glossar und 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 liefert »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 sein 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 »De-jure-Standard«.
Im allgemeinen Sprachgebrauch nutzt man im Deutschen beide Begriffe allerdings oft synonym. Dieses Buch bezieht sich auf Normen, und daher wird auch meist dieser Begriff verwendet – wir erlauben uns aber die Verwendung des Begriffs »Standard«, wenn es der Lesbarkeit hilft.
2 Entstehungsgeschichte und Kontext der ISO 29119
Wer »richtig«, mit einem gewissen Anspruch und nicht »einfach nur so« Software testen möchte, für den steht schon seit Jahren eine Anzahl von Normen zur Verfügung. Diese Normen sind 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 werden.
Interessanterweise sind sich viele ISTQB Certified Tester gar nicht bewusst¹, 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 Nummern der Normen. Trotzdem gibt es diese:
Zu nennen wären hier der Standard IEEE 829 [IEEE829], die beiden Normen BS 7925-1 [BS7925-1] und BS 7925-2 [BS7925-2] sowie IEEE 1008 [IEEE1008].
Insgesamt wird in diesem Kapitel neben den eben genannte 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 drei Teile der Normenreihe ISO 29119 im September 2013 und dem vierten Teil im Dezember 2015 stehen jetzt neue Normen zur Verfügung, die die eben genannten Normen abgelöst haben oder noch ablösen werden. Bevor auf Inhalt und Struktur dieser neuen, künftig 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
2.1 Bedeutung und Geschichte der Vorgängernormen
Die im Folgenden genannten Normen stammen von den Normungsorganisationen IEEE und BSI. Auch wenn beide Organisationen nicht die gleiche Reichweite wie ISO haben, waren diese Normen doch über viele Jahre die maßgeblichen Normen für Softwaretest.
2.1.1 IEEE 829
IEEE 829 war lange der bedeutendste Standard für Softwaretest.
Der Standard IEEE 829 [IEEE829] 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.
2.1.2 BS 7925-1
Die Norm BS 7925-1 [BS7925-1] 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 Glossar sich in vielen Fällen auf die Begriffe aus BS 7925-1 bezieht.² Dank dem German Testing Board (GTB) wurden die Begriffe ins Deutsche übertragen. Dieses Glossar findet sich unter [11] sowie mehrsprachig bei [13].
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 zum Beispiel 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 des ISTQB und des BS 7925-1 nicht 1:1 dieselben sind. Zum einen hat sich gezeigt, dass im Laufe der Zeit doch einige weitere Begriffe zu definieren waren, die nicht im BS 7925-1 beschrieben sind. Damit kamen Begriffe hinzu, die das ISTQB selbst definiert hat. Zum anderen hat das ISTQB in seinem Glossar auch andere Quellen referenziert.
Somit ist einerseits klar, dass die Norm BS 7925-1 einen großen Einfluss auf die Sprache der Softwaretester genommen hat, andererseits aber auch, dass sie durch die seit ihrer Erstellung stattgefundenen Entwicklungen nicht mehr ausreichend ist.
2.1.3 BS 7925-2
Die Norm BS 7925-2 [BS7925-2] 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.
2.1.4 IEEE 1008
Der Standard IEEE 1008 [IEEE1008] 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 Reihe 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 neuen ISO 29119 abgelöst wird.
2.2 Die neuen Normen
Mit den 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 neue 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« sind die bisher verfügbaren Normen nicht. Die Themenblöcke Begriffe, Dokumente und Testverfahren werden 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 moderne Standards und Normen prozessorientiert sind oder Überarbeitungen von Normen einen Schwerpunkt auf Prozessorientierung legen. Ein Beispiel hierfür ist die Norm ISO 9000 [ISO9000] 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« jedoch eines, das für Softwaretesten sehr wichtig ist, bisher aber stiefmütterlich behandelt wurde – zwar wurde es ein wenig angerissen in der letzten Fassung des IEEE 829 von 2008, aber eben nicht ausreichend erörtert. Testprozesse sind ein Pflichtthema in einer modernen Norm zum Softwaretesten – 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. So schwierig aber die Konsensbildung mitunter war – die Ergebnisse liegen nun vor.
2.3 Inhaltliche Aufteilung
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 vier Normen, die mit Teil 1 bis Teil 4 benannt werden:
ISO 29119-1 Software Testing – Concepts and Definitions
In dieser Norm (auch bezeichnet als ISO 29119 Teil 1) werden notwendige Begriffe definiert, und es erfolgt eine grundlegende 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 Durchführung dynamischer Tests –, beschrieben. Dieser Teil der Normenreihe kann als zentral betrachtet werden, da die beiden 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 Testentwurfsverfahren 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.
Damit ist ein kurzer Überblick über diese vier Teile gegeben, die den Kern der Normenreihe ISO 29119 bilden. In größerer Tiefe werden sie in den nachfolgenden Kapiteln behandelt. Weitere, ergänzende Teile sind in Planung, jedoch kein Schwerpunkt dieses Buches – mehr dazu findet sich in Kapitel 10.
2.4 Zusammenhang mit bestehenden Normen und Standards
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.
Historisch bedingt, kann es heute noch keine Referenz aus einer der bestehenden Normen und Standards auf die noch sehr neue Reihe ISO 29119 geben. Das mag sich in Zukunft ändern. Schon jetzt gibt es Berührungspunkte.
2.4.1 Themen- und branchenspezifische Normen und Standards
Die folgenden Abschnitte stellen Normen und Standards zu speziellen Themenbereichen oder Branchen mit Bezug zu Softwaretest vor:
Sicherheitskritische Systeme
Automobiltechnik
Eisenbahntechnik
Kerntechnik
Medizintechnik
Normen mit Bezug zu sicherheitskritischen Systemen
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