Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio...

29
Ein Erfahrungsbericht Beatrix Forster Automatisierte Validierung einer Continuous Integration Toolkette

Transcript of Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio...

Page 1: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Ein Erfahrungsbericht

Beatrix Forster

Automatisierte Validierung einer Continuous Integration Toolkette

Page 2: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Über uns

■ Über 35 Jahre Erfahrung im industriellen Umfeld ■ Medizintechnik

■ Pharmazie

■ Automotive

■ Automatisierung

■ Avionik/Defense

■ Finance

■ Öffentlicher Dienst

■ Expertise:

komplexe und sicherheitskritische Systeme

O219-jun-2018

Page 3: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Engineering

Unser Serviceportfolio

O319-jun-2018

ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile Extension ISTQB® CTFL - MBT ICPMSB® CPMS ASQF® CPIoT

Training

Prozesse/Reifegradmodelle Konformität zu Normen

und Standards Methoden Werkzeugunterstützung Zertifizierung und Validierung eigenes Validierungs-

Framework

Beratung Requirements Engineering Architekturentwicklung Design Implementierung Integrationsmanagement Performance-Optimierung Agile Entwicklung/SCRUM

SoftwareentwicklungAnforderungs- management

Risiko-management

Änderungs-management

Konfigurations- management

Projekt-management

Testmanagement Testdesign, -implementierung Testdurchführung Testautomatisierung Management der Infrastruktur Security Testing .modellzentrierterTest

Test

Page 4: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Das Projekt

■ Aufgabe ■ Validierung einer Continuous Integration Toolkette

■ Branche Medizintechnik ■ Konform zu FDA Guidelines und ISO/IEC 13485

■ Umfang ■ 9 Personenmonate ■ 1 Requirements-Ingenieur, 2 Testspezialisten

■ Vorgehensweise ■ Risiko- und Workflow-basiert ■ Einsatz von automatisierten Tests

■ Ergebnis ■ Es wurden Abweichungen festgestellt

O419-jun-2018

Page 5: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Continuous Integration – was ist das?

O519-jun-2018

Polling

Com

mit

✔ ✖ NotificationSource code

Developer

Build

Error Reporting

Rel

ease

Test cases

SuT

Tester

Compile

Make

Test

Continuous IntegrationRepository Deployment

Deployment

Page 6: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Validierung – Vorgehensweise

■ Schritt 1: Analyse der Prozesse und Werkzeuge

■ Schritt 2: Spezifizieren der Anforderungen

■ Schritt 3: Testkonzept

■ Schritt 4: Modellbasierte Testfallerstellung

■ Schritt 5: Testautomatisierung

■ Schritt 6: Testdurchführung und Dokumentation

■ Schritt 7: Bewertung der Testergebnisse

O619-jun-2018

Page 7: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Jenkins Server – steuert den Prozess

Build-Umgebung•Compiler (4 Tools) •Make-Tool (4 Tools) •Checksum Generator

Test-Umgebung

•Statische Code-Analyse (2 Tools) •Unit-Test Framework •Memory Leakage Detection •Code Coverage Analyzer

Sonstige•Dokumenten-Generatoren (2 Tools) •1 Hilfswerkzeug zur Ausführung von Windows-Tools unter Linux

Analyse der Tools

O719-jun-2018

Page 8: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Analyse der Prozesse

■ SOPs und Guidelines

■ Stakeholder Interviews

■ Modellierung der Use Cases

■ Review durch Stakeholder und Process-Owner

O819-jun-2018

Page 9: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Validierung – Vorgehensweise

■ Schritt 1: Analyse der Prozesse und Werkzeuge

■ Schritt 2: Spezifizieren der Anforderungen

■ Schritt 3: Testkonzept

■ Schritt 4: Modellbasierte Testfallerstellung

■ Schritt 5: Testautomatisierung

■ Schritt 6: Testdurchführung und Dokumentation

■ Schritt 7: Bewertung der Testergebnisse

O919-jun-2018

Page 10: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Spezifizieren der Anforderungen

■ Funktionale Anforderungen aus Workflow-Modellen ableiten

O1019-jun-2018

Page 11: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Spezifizieren der Anforderungen

■ Risikoanalyse ■ Einfluss auf die Produktqualität ■ Sichtbarkeit von Fehlern

▪ z.B. unabsichtliches Ändern der Konfiguration

■ Nichtfunktionale Anforderungen ■ Beispiele

▪ Max. Dauer von Builds ▪ Volumen des Source-Codes ▪ Tolerable Ausfallzeiten => Dauer des Restore ▪ Portabilität

■ aus Stakeholder-Interviews und Risikoanalyse

O1119-jun-2018

Page 12: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Validierung – Vorgehensweise

■ Schritt 1: Analyse der Prozesse und Werkzeuge

■ Schritt 2: Spezifizieren der Anforderungen

■ Schritt 3: Testkonzept

■ Schritt 4: Modellbasierte Testfallerstellung

■ Schritt 5: Testautomatisierung

■ Schritt 6: Testdurchführung und Dokumentation

■ Schritt 7: Bewertung der Testergebnisse

O1219-jun-2018

Page 13: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Testkonzept

■ Automatisierte Tests wo möglich und sinnvoll ■ Manuelle Tests soweit erforderlich ■ Alle Tests im selben Repository

O1319-jun-2018

Dokumentation

Page 14: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Testautomatisierung - Motivation

■ Art der Tests ■ Auslesen und Verifizieren von Log-Dateien wäre manuell

weder effektiv noch effizient ■ Anzahl der Tests

■ Sämtliche Regeln nach Misra C++:2008 ■ Sehr viele identische Testabläufe mit unterschiedlichen Daten

■ Wiederholbarkeit von Tests ■ Zahlreiche Regressionen, da die Toolkette noch verändert

wurde ■ Sichere und schnelle Prüfung bei projektbedingtem Update

der Konfiguration der Continuous Integration

O1419-jun-2018

Page 15: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Testkonzept

Manueller Test

■ Role-based workflows ■ Installation Qualification ■ Performance Qualification ■ Backup- / Restore

Automatischer Test

■ Test data driven tests ■ Compiler ■ Static Code Analyzer ■ Unit Test ■ SW Image Creation

O1519-jun-2018

Page 16: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Validierung – Vorgehensweise

■ Schritt 1: Analyse der Prozesse und Werkzeuge

■ Schritt 2: Spezifizieren der Anforderungen

■ Schritt 3: Testkonzept

■ Schritt 4: Modellbasierte Testfallerstellung

■ Schritt 5: Testautomatisierung

■ Schritt 6: Testdurchführung und Dokumentation

■ Schritt 7: Bewertung der Testergebnisse

O1619-jun-2018

Page 17: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Test Cases (with risks and requirements assigned)

modellbasierte Testfallerstellung

O1719-jun-2018

Requirements Risks

Workflow Models Tester‘s Mind Set

Workflows

IQ/OQ/PQ Test CasesTest Results

Defects

Test Management Criteria

(e.g. Test Coverage)

Test Plans Test Reports

Summary Traceability

Requirements Risks

Requirements Risks

Page 18: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Modellbasierte Testfallerstellung

■ Workflow-orientiert ■ anhand des geplanten Prozesses ■ anhand der Rollen im Prozess

■ Risiko-basiert ■ verstärkte Prüfung da

▪ wo Einfluss auf Produktqualität besteht ▪ wo Fehler nicht offensichtlich sind

■ Systematisch & Dokumentiert ■ was wird wie getestet ■ was wird nicht getestet (Nachweis, das etwas nicht vergessen

wurde)

O1819-jun-2018

Page 19: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Validierung – Vorgehensweise

■ Schritt 1: Analyse der Prozesse und Werkzeuge

■ Schritt 2: Spezifizieren der Anforderungen

■ Schritt 3: Testkonzept

■ Schritt 4: Modellbasierte Testfallerstellung

■ Schritt 5: Testautomatisierung

■ Schritt 6: Testdurchführung und Dokumentation

■ Schritt 7: Bewertung der Testergebnisse

O1919-jun-2018

Page 20: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Testautomatisierung - Aufbau

■ Testumgebung strikt getrennt von Produktiv-Umgebung

■ Separater Jenkins-Server ■ Zu testende Werkzeuge

■ Test Repository in Subversion ■ Testframework (Spock) Bibliotheken und Testskripte ■ Testdaten

▪ Projekt 1 analog zu Product-Projekt ▪ Projekt …

■ Zusätzliche Informationen ▪ z.B. source code für Misra rules

O2019-jun-2018

Page 21: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Jenkins

Subversion • Spock Bibliotheken • Testskripte (*.groovy) • Testdaten

Workspace • Spock Bibliotheken • Testskripte (*.groovy) • Testdaten --------------------------------------------- • Kompilierte Testskripte (*.class) • Testergebnisse (JUnit *.xml) • Testergebnisse (proprietär *.xml)

gradle (Testdurchführungs-

Werkzeug)Polarion ALM

• Testfälle • Testergebnisse

1. Check-out des Tests

2. Start der Testdurchführung

3. Kompilieren und Ausführen der Testskripte

4. Upload der Testergebnisse

Kopie des Tests

*.groovy => *.class

*.class => *.xml

proprietär *.xmlKontrollfluss Datenfluss

SkriptTestdaten

!2119-jun-2018

Page 22: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Testautomatisierung mit Spock und .groovy

■ Spock Framework ■ Ansatz gemäß Behaviour Driven Development

▪ given: Vorbedingung ▪ expect: erwartetes Ergebnis ▪ where: zu prüfende Regel

O2219-jun-2018

Page 23: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Validierung – Vorgehensweise

■ Schritt 1: Analyse der Prozesse und Werkzeuge

■ Schritt 2: Spezifizieren der Anforderungen

■ Schritt 3: Testkonzept

■ Schritt 4: Modellbasierte Testfallerstellung

■ Schritt 5: Testautomatisierung

■ Schritt 6: Testdurchführung und Dokumentation

■ Schritt 7: Bewertung der Testergebnisse

O2319-jun-2018

Page 24: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Testdurchführung

■ 41 Testfälle insgesamt

■ 31 Manuelle Tests ■ 20 pass, 10 failed, 1 open ■ Testdauer 25 h ■ Minor deviations

■ 10 Automatisierte Tests ■ 8 pass, 2 failed ■ Testdauer 1h 10 min ■ Major deviations

O2419-jun-2018

Page 25: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Validierung – Vorgehensweise

■ Schritt 1: Analyse der Prozesse und Werkzeuge

■ Schritt 2: Spezifizieren der Anforderungen

■ Schritt 3: Testkonzept

■ Schritt 4: Modellbasierte Testfallerstellung

■ Schritt 5: Testautomatisierung

■ Schritt 6: Testdurchführung und Dokumentation

■ Schritt 7: Bewertung der Testergebnisse

O2519-jun-2018

Page 26: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Schritt 7: Bewertung der Testergebnisse

■ Gravierende Abweichungen ■ Einzelne Verstöße gegen Misra C++:2008 wurden vom Static

Code Analyzer nicht richtig erkannt ■ Continuous Integration V1.0 wurde zur Erstellung des

Produktcodes nicht freigegeben

■ Korrektur vom Toolhersteller ■ Erneute Validierung ergab nur Minor Deviations ■ Continuos Integration V2.0 validiert und freigegeben

O2619-jun-2018

Page 27: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Fazit

■ Fehler in einer Toolkette können durch Validierung erkannt und vermieden werden

■ Testautomatisierung ermöglicht ■ umfassenden Test mit großen Datenmengen ■ effiziente Revalidierung

■ Das Konzept der Testautomatisierung konnte in einem Folgeprojekt übernommen werden

■ Unsere Use-case- und Workflow-Modelle waren Basis für Verbesserungen in der Toolkette

O2719-jun-2018

Page 28: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

Vielen Dank für Ihre Aufmerksamkeit!

Noch Fragen? Antworten auch an unserem Stand!

O2819-jun-2018

Page 29: Ein Erfahrungsbericht Beatrix Forster - Embedded …...E n gi n e er in g Unser Serviceportfolio 19-jun-2018 O3 ASQF® CPPM IREB® CPRE ISTQB® Certified Tester ISTQB® CTFL - Agile

sepp.med gmbh Gewerbering 9

91341 Röttenbach Tel: +49 9195 931-0

Fax: +49 9195 931-300 www.seppmed.de

Beatrix Forster Tel: +49 9195 931-0 eMail: [email protected]