Leitfaden für Software-Testmanager Normgerechtes Software-Testmanagement in Automotive-Projekten

Von Wolfgang Rohé, Razorcat* 8 min Lesedauer

Anbieter zum Thema

ISO 26262, ASPICE, ISO 9001, ISO 29119 – Bei der Entwicklung von sicherheitskritischer Automotive-Software gilt es, die Einhaltung einer Reihe von Normen und Standards sicherzustellen. Aber was genau schreiben diese Richtlinien für das Software-Testmanagement vor und was gilt es zu beachten?

Normen und Anforderungen wie ISO 262626, ASPICE oder ISO 29119 sollten Entwickler nicht auf die leichte Schulter nehmen. Aber wie genau wie wirken sich deren Vorgaben auf den Test und das Qualitätsmanagement von Automotive-Software aus?(Bild:  frei lizenziert /  Pixabay)
Normen und Anforderungen wie ISO 262626, ASPICE oder ISO 29119 sollten Entwickler nicht auf die leichte Schulter nehmen. Aber wie genau wie wirken sich deren Vorgaben auf den Test und das Qualitätsmanagement von Automotive-Software aus?
(Bild: frei lizenziert / Pixabay)

Bei der Beauftragung eines Automotive-Projekts setzen Automobilzulieferer und -OEMs heutzutage eine ISO 9001- und IATF-Zertifizierung des Auftragnehmers voraus. Für das Projektergebnis erwarten sie die korrekte Einhaltung der ISO 26262, nachgewiesen durch ein ASPICE-Assessment mit dem Reifegrad 2.

Verantwortlich für das Erreichen der funktionalen Sicherheit ist der Projektleiter. Für die Sicherstellung der notwendigen Vorgaben an Sicherheitsaktivitäten der ISO 26262 ist der Safety Manager verantwortlich. Dazu zählt, entsprechend dieser Norm ein Qualitätsmanagementsystem gemäß ISO 9001 einzuführen. Dieses Qualitätsmanagementsystem erwartet ein Software-Testmanagement nach ISO 29119. Ob dieses für die sicherheitsrelevante Software-Entwicklung im Automotive-Projekt bereit ist, liegt in der Verantwortung des Software-Testmanagers.

Der rechtliche Kontext

Unternehmen sind angehalten, ihre sicherheitskritischen Automotive-Projekte nach dem „Stand der Technik“ durchzuführen. Das bedeutet, dass die Norm ISO 26262 einzuhalten ist; die Beauftragung des Kunden verlangt das explizit.

Normen besitzen keine Gesetzeskraft. Das bedeutet aber nicht, dass die Einhaltung der Norm nicht zwingend ist. Unternehmen ist die Einhaltung der Normen haftungstechnisch und somit wirtschaftlich anzuraten, damit im Falle eines Rechtsstreits aufgrund aufgetretener Mängel die Vermutungswirkung vor Gericht nachgewiesen werden kann. Denn Gerichte vertreten die Annahme, wenn die Anforderungen aus der Norm erfüllt sind, wurde auch den (rechtsverbindlichen) Forderungen der Verordnungen bzw. der Gesetze nachgekommen.

Im Regelfall ist die Einhaltung der Norm aber deshalb gesetzlich bindend, weil der Kunde in seiner Beauftragung festgelegt hat, dass nach der Norm ISO 26262 zu entwickeln ist.

Diese Bedingung wird sehr oft durch die zusätzliche Anforderung ergänzt, den ASPICE-Reifegrad Level 2 nach einem Jahr im Projekt zu erfüllen und nachzuweisen.

Der normative Weg zum Software-Testmanagement

Die Beauftragung eines Automotive-Projekts setzt in der Regel die ISO 9001-Zertifizierung und die Einhaltung der ISO 26262 als bindend voraus. Sie gibt explizit den wesentlichen Hinweis durch die Anforderung an das „Overall safety management“ in der ISO 26262-2:2018, Abschnitt 5: „Die Organisation muss über ein Qualitätsmanagementsystem verfügen, dass das Erreichen der funktionalen Sicherheit unterstützt und einem Qualitätsmanagementstandard wie IATF 16949 in Verbindung mit ISO 9001 oder einem gleichwertigen Standard entspricht.“

Demnach wird ein „ISO 9001-Qualitätsmanagementsystem“ zur Unterstützung des Automotive-Projekts erwartet. Die Norm gibt durch einen Literaturhinweis einen weiteren Hinweis auf eine ergänzende Richtlinie, die „ISO/IEC 90003, Software engineering — Guidelines for the application of ISO 9001:2008 to computer software“.

Bild 1: Der Weg von der ISO 9001 zum Software-Testmanagement.(Bild:  Razorcat)
Bild 1: Der Weg von der ISO 9001 zum Software-Testmanagement.
(Bild: Razorcat)

Entsprechend gehören zu einer Testplanung Aspekte wie Testziele, Testumfang, Testergebnisse und auch Ressourcenplanung. Ein ergänzender Hinweis gibt Auskunft darüber, dass Organisationen ihre Testprozesse gemäß der ISO 29119-Reihe einrichten sollen. Im Speziellen gehören hierzu die Testmanagementprozesse und die dynamischen Testprozesse. Der Software-Test gehört zur Sicherung der Produktqualität.

Den Normen-Zusammenhang zum Software-Testmanagement zeigt Bild 1.

Vorgaben aus der ISO 9001 und ISO 90003

Die ISO 9001:2015 stellt keine Anforderungen an den Softwaretest selbst. Sie behandelt lediglich das Thema Software im Zusammenhang als Mittel zur Gewährleistung des Qualitätsmanagements und ihrer Infrastruktur (siehe ISO 9001 7.1.3 und 7.5.2).

Die ISO/IEC/IEEE 90003 „Software engineering — Guidelines for the application of ISO 9001:2015 to computer software“ wird da in Abschnitt 8.3.4.4 „Testing“ konkreter: Demnach können Unittest, Integrationstest, Systemtest, Qualifikationstest und Abnahmetest ein Bestandteil der Testplanung inklusive ihrer Erstellung, Dokumentation und Implementierung sein. Kurze Erwähnung finden korrespondierende Aspekte wie Regressionstest, Testwerkzeuge, Testverfahren sowie Problem- und Änderungsmanagement.

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Der wesentliche Hinweis zum Software-Testmanagement findet sich am Ende des Abschnitts „NOTE 3. Die ISO/IEC/IEEE 29119-Reihe enthält Informationen zum Testen von Software. Organisationen können ihre eigenen Testprozesse auf Grundlage der in der ISO/IEC/IEEE 29119-Reihe festgelegten Prinzipien und Prozesse entwickeln.“

Die Gefahr in dieser Formulierung: Clevere Manager könnten dazu verleitet werden, ein eigenes, stark reduziertes und somit kostengünstiges Software-Testmanagement zu implementieren. Auch wenn das möglich wäre, empfiehlt es sich der ISO/IEC/IEEE 29119-Reihe zu folgen, denn in ihr steckt viel Erfahrung und die geforderten Arbeitsprodukte müssen behandelt werden – das spart schlussendlich Zeit und Kosten.

Grundlegende Fragen klären

Ausgehend von einem ISO 9001 Software-Testmanagement sollten sich der Safety-Manager und der Software-Testmanager noch vor Beginn eines Automotive-Projekts folgende Fragen stellen:

  • 1. Berücksichtigt Ihr Qualitätsmanagementsystem Ihre Software als Produkt?
  • 2. Sind Ihre Software-Testprozesse spezifiziert?
  • 3. Ist Ihr Software-Testmanagement interessenkonfliktfrei aufgestellt?
  • 4. Liefert Ihr Testprozess die aus der ISO 26262-6 und ASPICE SWE.4-6 die geforderten Arbeitsergebnisse und Arbeitsprodukte?
  • 5. Existiert ein Software-Testhandbuch oder etwas Vergleichbares?
  • 6. Ist die von der Software-Entwicklung zu liefernde Testbasis im Software-Testhandbuch in Umfang und Qualität definiert?
  • 7. Berücksichtigen Ihre Testprozesse die „Unterstützenden Prozesse“, wie Risk-, Defect- und Change-Management?
  • 8. Berücksichtigt Ihr Software-Testprozess eine „Software Configuration Item List“ für das Konfigurationsmanagement zur Produktkonfiguration?
  • 9. Ist Ihr Software-Testmanagement bei der Entscheidung im Release-Audit vertreten und begründet es seine Entscheidung mit einem Test-Statusreport?

Vorgaben aus der ISO 29119

Die ISO 29119 besagt: „Testmanagement ist die Planung, Terminierung, Schätzung, Überwachung, Berichterstattung, Kontrolle und der Abschluss von Testaktivitäten.“ Im Software-Testhandbuch, das in der Verantwortung des Software-Testmanagers liegt, sollten diese Aspekte beschrieben sein. Es wird empfohlen, im Einführungskapitel die Aufgabe des Software-Testmanagements formal zu beschreiben.

Das Software-Testhandbuch ist die klare Vorgabe des Software-Testmanagers für die Software-Testorganisation und sollte genügen, um die Kriterien für die Anforderungen der ISO 26262 und ASPICE zu erfüllen.

Die Normenreihe beschreibt umfassend eine geschlossene Software-Testwelt und gliedert sich in vier Teile:

Teil 1: Konzepte und Definitionen (Concepts and definitions): gibt Unterstützung zur Festlegung einer Testrichtlinie (Test Policy), die entweder in einem separaten Dokument ihren Platz findet oder als Kapitel im Software-Testhandbuch.

Teil 2: Testprozesse (Test processes): unterstützt mit seinen Testmanagement- und dynamischen Testprozessen die Definition einer passenden Vorgehensweisen für das jeweilige Unternehmen, die die Sicherstellung der Produktqualität gewährleisten – im Allgemeinen und im Speziellen für sicherheitsrelevante Projekte.

Teil 3: Testdokumentation (Test documentation): unterstützt bei der Festlegung der inhaltlichen Strukturen der erforderlichen Testdokumente, die mit den „Outcomes“ des ASPICE harmonisiert sein sollten.

Teil 4: Testtechniken (Test techniques): liefert Unterstützung bei der Festlegung der Testtechniken und Testendekriterien für die Testdurchführung im Projekt-Testplan.

Die Normenreihe – zu der auch die Teile 5, 6, 11 und 13 gehören, die sich speziellen Test-Themen widmen – bietet die notwendigen und inhaltlichen Aspekte für das Software-Testhandbuch eines Unternehmens.

Die Anforderungen der Software-Verifikation mit dem Unit- und Integrationstest sind formal im Software-Testhandbuch und konkret im Projekt-Testplan zu berücksichtigen.

Aus der ISO 26262 ergeben sich die formalen Testziele: Den Nachweis im Software-Unittest zu erbringen, dass die Software-Unit ihre Anforderungen erfüllt und dem Unit-Design entspricht ohne ungewollte Funktionalität. Sowie den Nachweis im Software-Integrationstest zu erbringen, dass die Software-Units und -komponenten die Softwarearchitektur-Anforderungen erfüllen und die integrierte Software keine unerwünschte Funktionalität enthält.

Für die Teststufen sind Verifikations-Methoden ASIL-bezogen in Tabellen aufgeführt.

Die anzuwendenden Methoden für die Testdurchführung sind ebenfalls in Tabellen ASIL-bezogen aufgeführt (siehe die folgenden Tabellen 1 bis 4). Sie behandeln das Thema Testfall-Generierung sowie Testfall-Ableitung und Testende-Kriterien in Form von Abdeckungs-Metriken.

  Methode  A
 1a Analyse der Anfoderungen  ++ ++ ++ ++
 1b Generierung und Analyse von Äquivalenzklassen  + ++ ++ ++
 1c Analyse von Grenzwerten  + ++ ++ ++
 1d Intuitive Testfallermittlung basierend auf Wissen oder Erfahrung  + + + +

Tabelle 1: ISO 26262-6:2018, Table 8 „Methoden zur Ableitung von Testfällen für Software-Unit-Tests“

  Methode
1a Anweisungsüberdeckung (Statement coverage) ++ ++ + +
1b Zweigüberdeckung (Branch coverage) + ++ ++ ++
1c MC/DC modifizierte Bedingungs-/Entscheidungsüberdeckung (Modified Condition/Decision Coverage) + + + ++

Tabelle 2: ISO 26262-6:2018, Table 9 „Strukturelle Abdeckungs-Metriken auf der Software-Unit-Ebene“

  Methode A B C D
1a  Analyse der Anforderungen ++ ++ ++ ++
1b Generierung und Analyse von Äquivalenzklassen  + ++ ++ ++
1c Analyse von Grenzwerten  + ++ ++ ++
1d  Intuitive Testfallermittlung basierend auf Wissen oder Erfahrung + + + +

Tabelle 3: ISO 26262-6:2018, Table 11 „Methoden zur Ableitung von Testfällen für den Software-Integrationstests“

  Methode A B C D
1a Funktionsabdeckung + + ++ ++
1b Aufrufabdeckung + + ++ ++

Tabelle 4: ISO 26262-6:2018, Table 12 „Strukturelle Abdeckung auf Softwarearchitekturebene“

Von der Planung bis zum Reporting

Bild 2: Arbeitsprodukte-Matrix über die Teststufen.(Bild:  Razorcat)
Bild 2: Arbeitsprodukte-Matrix über die Teststufen.
(Bild: Razorcat)

Welche Ergebnisse gefordert sind, führt ASPICE einerseits prozessbezogen in „ASPICE process outcomes“ und andererseits dokumentbezogen in „Output work products“ auf. Welche Ergebnisse vorliegen werden, sind im Software-Testhandbuch festgelegt. Es ist eine Teststufen- und prozessorientierte Darstellung zu empfehlen, wie in Bild 2 gezeigt.

Die ausgewählten Anforderungen sind Kernanforderungen, die zwingend im Software-Testhandbuch in Form von Prozessen und Prozessergebnissen behandelt sein müssen. Sie zeigen, dass die Voraussetzung für die Erfüllung der Norm und dem Bestehen eines ASPICE-Assessments, gegeben sind.

Software-Testmanagement konfliktfrei aufstellen

Das Software-Testmanagement ist im Qualitätsmanagementsystem eine Säule der Qualitätssicherung. ASPICE formuliert in SUP.1 „Quality Assurance“: “Qualitäts-sicherung erfolgt unabhängig und objektiv ohne Interessenkonflikte”. Das Software-Testmanagement muss also passend zu seiner Aufgabe in der Projekt- und Unternehmensorganisation aufgestellt sein.

Eine Aufstellung des Software-Testmanagements unterhalb des Projektmanagements oder der Softwareentwicklung ist unzulässig, denn der Software-Leiter oder der Projektleiter wären dem Testmanager gegenüber weisungsbefugt. Konfliktfrei und somit zulässig ist die die Aufstellung des Software-Testmanagements direkt neben dem Projektmanagement oder als Teil des Qualitätsmanagements.

Auch in der Unternehmensorganisation muss der Software-Testmanager unabhängig bleiben: Zulässig ist daher nur die Positionierung des Software-Testmanagers entweder unter der Geschäftsführung oder dem Qualitätsmanagement. Prinzipiell ist darauf zu achten, dass sich Projekt- und Unternehmensorganisation nicht widersprechen und die Unabhängigkeit des Software-Testmanagements gewahrt bleibt.

Fazit: Einhaltung der Normvorgaben sichert kurz- wie langfristig Erfolge

Der normative Weg zum Qualitätsmanagementsystem „Software Testmanagement“ in Automotive-Projekten ist klar: Die ISO 26262-2 fordert als Unterstützung für das Safety-Management ein Qualitätsmanagementsystem nach ISO 9001, die für Software-Produkte durch die ISO 90003 ergänzt wird und die letztendlich zur Softwaretest-Normenreihe ISO 29119 führt.

Das Software-Testmanagement kann aus der Sicht der ISO 9001 minimalistisch ausfallen. Die allgemein formulierten Anforderungen erlauben das und aus wirtschaftlichen Gründen wird dies oft auch so gehandhabt. Erst die Anforderungen und Aspekte aus der ISO 26262-6 und ASPICE SWE.4-6 erfordern ein Software-Testmanagement, das die Fähigkeit zu deren Umsetzung hat, welche wiederum durch ein ASPICE-Assessment nachzuweisen ist.

So verwirrend die Normen und Richtlinien für die sicherheitskritische Software-Entwicklung auf den ersten Blick erscheinen mögen: Grundsätzlich sind Software-Testmanager gut beraten, sich an deren Vorgaben zu halten. Denn damit können sie nicht nur gewährleisten, dass die Software hinsichtlich ihrer funktionalen Sicherheit ausreichend getestet wurde und dies auch nachprüfbar dokumentiert ist. Vielmehr sparen sie durch das Befolgen bewährter Konzepte und Maßnahmen Zeit und Kosten und sichern bereits kurzfristig den Projekterfolg.

 (sg)

* Wolfgang Rohé ist seit 2020 Mitarbeiter der Razorcat Development GmbH und betreut den Bereich Testmanagement und Testprozesse.

(ID:50330977)