Best Practices zur Standardisierung von Testmetriken als Teilaspekt
Transcription
Best Practices zur Standardisierung von Testmetriken als Teilaspekt
Best Practices zur Standardisierung von Testmetriken als Teilaspekt zur Erreichung von Automotive SPICE® Reifegradstufe 3 Max Hefke, Horst Pohlmann 1 Lemförder Electronic GmbH Von dem Bussche Münch Str. 12, 32339 Espelkamp [email protected], [email protected] Motivation und Abstract. Die rasante Entwicklung im Automobilbereich und die zunehmende Vernetzung neuer (Safety und Security) Sicherheitssysteme innerhalb und außerhalb des Fahrzeuges führen unweigerlich zu einer steigenden Testkomplexität. Demzufolge werden bereits heute aus den tausenden von Anforderungen/Testfällen zukünftig zehntausende von Anforderungen bzw. Testfällen im anforderungsbasierten Testen. Der Einsatz von standardisierten und automatisierten Testmetriken stellt einen Ansatz dar, diese Komplexität zu beherrschen. Metriken, welche die Eigenschaft besitzen ein Messobjekt in der Softwaretechnik zu vermessen und in Zahlen auszudrücken, wie z.B. die Anzahl der atomaren Anforderungen eines Subsystems, sind von der Akquisition bis zur Freigabe ein nützliches Werkzeug. Sie dienen sowohl zur Überwachung und Steuerung der Entwicklungsund Testprozesse als auch für die Herleitung der Kriterien für die Freigabe in den Integrationsstufen bis zur Serie. Zudem kann die formale Vollständigkeit bzgl. der bidirektionalen Traceability nach ASPICE mit einfachen Mitteln nachgewiesen werden [1]. Die Traceability erstreckt sich z.B. von den Software Anforderungen über die spezifizierten Software Testfälle und nach ASPICE 3.0 zusätzlich bis hin zu den Software Testergebnissen. 1 Einleitung Dieser Beitrag dient Testmanagern und Prozessverantwortlichen, als Hilfestellung bei der Prozessoptimierung durch Standardisierung der Testmetriken des Softwaretestprozesses im Hinblick auf Automotive SPICE® Level 3. Durch die Standardisierung von Testmetriken wird am Beispiel des Softwaretestprozesses ein Grundstein gelegt, um Reifegradstufe 3 nach Automotive SPICE® zu erreichen. Auf Basis einer fundierten Ausbildung (z.B. ISTQB® Advanced Level Testmanager) und einer systematischen Analyse der Anforderungen der Automotive Hersteller (OEM´s), Lieferanten, Wettbewerbern und Veröffentlichungen wurden die Best Practice Testmetriken in einem Unternehmen standardisiert. Dabei waren zusätzlich die projektübergreifenden 1 Anforderungen der Reifegradstufe 3 hinsichtlich der Effektivität mit zu berücksichtigen. Ziel des Beitrages ist es eine Best Practice Vorgehensweise darzustellen, die exemplarisch für die Softwareteststufe definiert wurde und analog auf andere Teststufen übertragen wurde. 2 Grundlagen Abgeleitete (äußere) Metriken (z.B. AnforderungsTestabdeckung), setzen sich aus verschiedenen Basis (inneren) Metriken zusammen; d.h. z.B. werden für die Ermittlung der Metrik Anforderungs-Testabdeckung die Anzahl der durch mindestens einen Testfall getesteten Anforderungen und die Gesamtzahl der Anforderungen benötigt. Der Zusammenhang der inneren und äußeren Metriken wird mittels des sog. „Eisbergmodells“ (siehe Abbildung 1) veranschaulicht. Äußere Metriken Innere Metriken Abbildung 1: Eisbergmodell [2] 2.1 Automotive SPICE® Durch den Zusammenschluss von führenden Automobilherstellern, der SIG (Automotive Special Interest Group) und dem „Procurement Forum“ ist auf der Basis der ISO 15504, der Automotive SPICE® Standard entstanden [1]. Der Standard ist gegliedert in das PAM (Process Assessment Model) und das PRM (Process Reference Model). 2.2 ISO 29119 - Softwaretestnorm Die ISO 29119 besteht aus vier Teilen: Konzepte und Definitionen, Testprozess, Testdokumentation und Testtechniken [3]. In Teil 1 – Konzepte und Definitionen ist bspw. die Metrik „Test Coverage“ definiert, welche in Kap. 3 des vorliegenden Beitrages näher beschrieben wird. Lemförder Elektronik GmbH mit Sitz in Ostwestfalen ist eine 100% Tochter der ZF Friedrichshafen AG 3 Best Practices zur Standardisierung Das Ziel in diesem Abschnitt ist es Testmetriken zu ermitteln, analysieren, bewerten und abschließend zu standardisieren. In Abbildung 2 ist der Weg von Testmetriken zu standardisierten und automatisierten Testmetriken dargestellt. Einheitliche Definitionen festlegen Existente Ansätze analysieren (unternehmensinterne Dokumentation, aktuelle Projekte, Literatur, …) OEM Anforderungen analysieren Kategorisieren („optional“/„verpflichtend“) Standardisierte Testmetriken ASPICE Prozessanwendung 3.2 Automatisieren ASPICE Prozessdefinition 3.1 Testmetriken ASPICE Anforderungen analysieren Standardisierte und automatisierte Testmetriken Tailoring auf Basis der Kategorisierung Anwendung Analysieren von zusätzlichen projektspezifischen / standortspezifischen Anforderungen Abbildung 2: Best Vorgehensweise Practices – „getailorte“ Projektmetriken Übersicht der Im ersten Schritt wurden existente Ansätze wie unternehmensinterne Dokumentationen, aktuell laufende Entwicklungsprojekte oder Veröffentlichungen zum Thema analysiert. Auf dem Weg zu den standardisierten Testmetriken ist es darüber hinaus relevant, die Automotive SPICE und OEM Anforderungen zu analysieren. Standardisierte Testmetriken müssen einheitlich definiert werden, um ein ebenfalls gleiches Verständnis im Unternehmen zu schaffen. Die Vereinheitlichung der Definition der Testmetriken erfolgt auf der Basis der ISO 29119. Dazu wurde die Metrik „Test Coverage: degree, expressed as a percentage, to which specified test coverage items have been exercised by a test case or test cases“ [3] Wort für Wort auseinander gezogen, um dann eine einheitliche Definition festzulegen. Abbildung 3 veranschaulicht die Herangehensweise. Herleitung/Lösungsansatz Im letzten Schritt (nach Abbildung 2) werden die standardisierten Testmetriken kategorisiert; d.h. hinsichtlich für eine Anwendung in jedem Projekt und einer optionalen Verwendung definiert. Sobald die Testmetriken automatisiert werden können, steht der Anwendung im Projekt nichts mehr im Weg. Anwendungszenario: Durch die definierten standardisierten Testmetriken können folgende Fragen beantwortet werden: - Wie viele der akzeptierten Anforderungen sind überhaupt testbar? - Wie viele der akzeptierten und testbaren Anforderungen besitzen bereits mindestens einen spezifizierten Testfall? - Wie viele spezifizierte Testfälle wurden (im aktuellen Testzyklus bereits (vollständig) durchgeführt? - Sind alle spezifizierten und verlinkten Testfälle zur jeweiligen Anforderung vollständig bestanden? 4 Zusammenfassung Dieser hier vorgestellte Lösungsansatz dient zum Nachweis der Traceability und (formalen) Konsistenz nach ASPICE 3.0. Anhand der automatisierten und standardisierten Testmetriken, wird die zukünftig weiter zunehmende Testkomplexität beherrschbar. Keywords: Testmetriken, Testkomplexität, Automotive SPICE, anforderungsbasiertes Testen, ISO 29119 5 Literatur- und Quellverzeichnis [1] [2] Anlehnung an den neuen Standard ISO 29119-1, Beispiel „Test coverage“ [3]: – degree, expressed as a percentage, to which specified test coverage items have been exercised by a test case or test cases Prozentuale Darstellung einem oder mehreren Testfällen SWAnforderungen „Durchgeführte“ [3] SW-Anforderungstestdurchführungsstatus* = Anzahl akzeptierter und testbarer SWAnforderungen mit mindestens einem eingehen Link von einem ausgeführten Testfall dargestellt zu Gesamtzahl akzeptierter und testbarer SW-Anforderungen * Im Rahmen der Diskussionen sind einige Testmetrik Bezeichnungen verändert worden. Abbildung 3: Einheitliche Definitionen festlegen ® Automotive SPICE Process Assessment Model; VDA QMC Working Group 13 / Automotive SIG; Version 3.0; 16.07.2015. Djibang; Das Eisberg - Prinzip; September 2015; URL: http://www.djibang.org/wp/wpcontent/uploads/eisberg.jpg; Datum des Abrufs: 03.09.2015. (hier lediglich das Bild entnommen). ISO/IEC/IEEE 29119; Software and System engineering – Software testing; 2013.