Welche Testautomatisierungen sind möglich und sinnvoll?

Ähnliche Dokumente
Build-Pipeline mit Jenkins

Ein generativer Ansatz für den automatisierten Softwaretest,

TESTEN UND ABSICHERN EINES STARK VERNETZTEN STEUERGERÄTES IM SYSTEMVERBUND.

RTLOpen - Eine Methode zur interdisziplinären Entwicklung von software-intensiven Echtzeit-Systemen

modellzentrierter Test

End-to-End Agility Sind Sie schon agil genug? Mag. Christoph Leithner

TFS als ALM Software. Erfahrungsbericht aus der MedTec Ecke. Lukas Müller

Wer bin ich. > Senior Consultant, Architekt und Trainer (MATHEMA Software GmbH) > 25+ Jahre Software > 12+ Jahre Java Enterprise > 7+ Jahre.

Wann lohnt sich GUI- Testautomatisierung?

Modellbasierter Test mit. Medizintechnik. Kompetenz. Prozess. rund um MBT. Umsetzung. Ihren. Ausblick. Entwicklungsprozess

Wir implementieren Lösungen. + DevOps-in-the-Box. Rainer Heinold VP Technology and Services

Effizienzsteigerung von Softwaretests durch Automatisierung

Ohne Build geht's besser: Makeloses Java mit dem z 2 -Environment. Henning Blohm

Durchgängiger Software- und Systemtest einer hochdynamischen Antriebsregelung

Make-loses Java für mehr Produktivität: Das z 2 -Environment. Henning Blohm

DevOps in der Praxis. Alexander Pacnik

Prozess-Modelle für die Softwareentwicklung

Serbest Hammade / Resh serbest.hammade@hammade.de. Do, 21. Juni 2012

PROJEKT (WS 2010/2011 SS 2011) TESTAUTOMATISIERUNG

DevOps. Alexander Pacnik, Head of DevOps Engineering

Continuous Integration in.net. Marcin Kawalerowicz CEO CODEFUSION Sp. z o. o.

DOAG Regionaltreffen. Regionalgruppe Nürnberg. Migration von Forms Client/Server ins Web. Andreas Ströbel OPITZ CONSULTING München

Qualitätssicherung im Lebenszyklus des itcs. Anspruch und Wirklichkeit.

Testmanagement. Full-Service

ABSICHERUNG MODELLBASIERTER SICHERHEITSKRITISCHER AVIONIK SOFTWARE Dr. Elke Salecker

Innovative Software für Testinhalte als Middleware-Ergänzung zur frühzeitigen Testsimulation für System / IC Hardwarekomponenten

Modellbasierte Testautomatisierung mit Fitnesse

Christoph Behounek, eggs unimedia

Kontinuierliche Integration am Beispiel Jenkins

Automatisierung von Systemtests im industriellen Umfeld

Prozesse Last oder Lust?

Kooperatives Testen Basis auch zur Testautomatisierung während der Softwareentwicklung. Dipl. Inform. Hans-Josef Eisenbach

T1 - Fundamentaler Testprozess

Model Driven Software Development

AUFBAU EINER TESTORGANISATION

SharePoint Continuous Integration mit TFS Online & Azure VMs Torsten Mandelkow Christian Pappert Microsoft

Transfer von Prozessen des Software-Produktlinien Engineering in die Elektrik/Elektronik- Architekturentwicklung von Fahrzeugen

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit

Ontologiebasierte Entwicklung von Anforderungsspezifikationen im Automotive-Umfeld Mathias Schraps,

DIGICOMP OPEN TUESDAY AKTUELLE STANDARDS UND TRENDS IN DER AGILEN SOFTWARE ENTWICKLUNG. Michael Palotas 7. April GRIDFUSION

Maven 2 Softwareprojekte mit Kultur

Abschlussbericht. Erstellung eines automatisierten Build-Prozesses für Eclipse-RCP- Anwendungen am Fallbeispiel Control System Studio.

Software Engineering in

Testen Prinzipien und Methoden

>EasyMain Die Nutzung von Methoden, Prozessen und Standards im Rahmen eines Application Lifecycle Managements

Die Integration von Requirements Management, Software Configuration Management und Change Management mit der MKS Integrity Suite 2006

Team Foundation Server & Ranorex Workshop

Tool-Chain. Übung. Eclipse, SVN, Ant, Cobertura, Metrics Labor "Software Engineering Experiment" Sebastian Meyer und Kai Stapel

Frank Düsterbeck HEC GmbH. QM mit und durch agile Vorgehensweisen

Renée Bäcker. Perl $foo Magazin

Write Once, Test Everywhere Wann lohnt sich die Automatisierung von Java GUI Tests?

GitLab als alternative Entwicklungsplattform zu Github.com

Optimierungsstrategien beim Systemtest

Software Engineering Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen

Continuous Integration mit Jenkins

Automatisiertes UI Testing. Mark Allibone, , #2

Durch bessere Organisation zu höherer Produktivität und Qualität

Entwicklungsprozess Verbesserung:

MSDN Webcast: Team Foundation Server Mehr als nur eine Versionsverwaltung! Visual Studio Team System (Teil 1 von 10) Veröffentlicht: 20.

Schulung advertzoom. advertzoom Release 2.1 Stand Januar advertzoom GmbH

Architektur in der Mechatronik. existierender Testwerkzeuge

Service Virtualisierung

Continuous Delivery in der Realität eines Großunternehmens

your engineering partner boost your development

Massive Automatisierung von Software-Tests. In einem agilen Automotive Projekt

T2 Fundamentaler Testprozess

MISRA bzw. Programmierstandards steigern die Softwarequalität! - Ist das überhaupt möglich?

Continuous Integration

Aufbau einer Testorganisation in der Wirtschaft

Einreichung zum Call for Papers

Testmanagement in IT-Projekten

Conigma CCM Überblick. Change and Transport Management for SAP made easy

Agilität trifft Funktionale Sicherheit

Testautomatisierung. Lessons Learned. qme Software. Gustav-Meyer-Allee Berlin. Telefon 030/ Telefax 030/

Scrum Gestaltungsoptionen Empowerment

Ziele und Tätigkeiten von Architekten

Fabian Schmengler Pragmatisches Unit Testing. Meet Magento DE 2015

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

Ist Qualität nachrüstbar? Testen, Dokumentation und Code Qualität von Anfang an

Einführung von Test-Prozessen laut TMMi. Egon Valentini 1. März 2010

Softwareprojekte mit Kultur

Automatisierung von Testmanagementaufgaben

Echolot Qualitätssicherung mit Sonar

Release Management. Aktuelle Themen der Informatik. Oliver Schmid

Neue Zusammenarbeitsmodelle bei Fahrerassistenzsystemen zwischen OEM / SW-Unternehmen sichern Innovation und Zukunft

Wasserfall, «Death March», Scrum und agile Methoden. 08. Dezember 2011 Embedded Software Engineering Kongress Urs Böhm

Einführung Arten von Softwaretests Prinzipien Continuous Integration Tests in FLOSS-Projekten Quellen. Softwaretests. Christoph Betschart

Systemdenken und Gestaltungsmethodik Dokumentation

Software Engineering mit Übungen. Franz-Josef Elmer, Universität Basel, HS 2015

Software development with continuous integration

TESTAUTOMATISIERUNG & AGILE PROJEKTE EIN BLICK HINTER DIE KULISSEN

Modul Software Komponenten 18 Testing II. Martin Jud

Einsatz automatischer Testdatengenerierung im modellbasierten Test

Software Product Lines

Comparing Software Factories and Software Product Lines

Testen heute und in der Zukunft Ergebnisse der ersten unabhängigen Marktstudie für 6 Länder

Moderne Datenbankentwicklung Tools & Konzepte

Von Requirements zutests. gç~åüáãkpåüìäò]èì~äáíóé~êâkçé

Continuous Integration im medizinischen Bereich

Software-Lebenszyklus

Transkript:

Continuous Testing Welche Testautomatisierungen sind möglich und sinnvoll? Frank Ziesel 11.05.2017 12. Neu-Ulmer Test-Engineering-Day 2017

Agenda Motivation Automatisierung in Software Projekten Continuous Testing Zusammenfassung Firmenprofil: GIGATRONIK 2

Motivation 3

Motivation Gleiche Basis-Software für mehrere Projekte verwenden Ja, aber https://www.hanser-automotive.de/zeitschrift/archiv/artikel/flexibilitaet-durch-modulares-steuergeraetekonzept-933111.html 4

Motivation Grundprinzip Continuous Integration Ein automatisiertes System überwacht alle Änderungen am Versionsverwaltungs-System Automated via SVN and Jenkins Skripts Jenkins Job Alle Fehler werden umgehend an alle betroffenen Personen gemeldet Commit Check Out SVN Checkout Software Compilation Generische Konfiguration basiert primär auf Skripten Source SVN Error Notification Ziel: Fehler in der Software frühestmöglich erkennen um Folgefehler zu eliminieren und die Kosten für die Fehlerbehebung zu minimieren. Error Notification 5

Motivation Ziel Embedded Continuous Delivery Änderung von Softwarefunktion und Testbeschreibung löst eine Automatisierungsroutine aus Am Ende der Routine steht der fertige Auslieferungszustand zur Verfügung: Vollständige Firmware im richtigen Format Release-Notes Software- oder API-Dokumentation Testberichte für Modul-, Integration- und HIL-Tests Qualitätsberichte für SW und Prozessschritte Diagnosedateien (A2L, ODX, DBC, ) 6

Motivation Ziel Embedded Continuous Delivery Änderung von Softwarefunktion und Testbeschreibung löst eine Automatisierungsroutine aus Am Ende der Routine steht der fertige Auslieferungszustand zur Verfügung: Vollständige Firmware im richtigen Format Release-Notes Software- oder API-Dokumentation Testberichte für Modul-, Integration- und HIL-Tests Qualitätsberichte für SW und Prozessschritte Diagnosedateien (A2L, ODX, DBC, ) 7

Automatisierung in Software Projekten 8

Automatisierung in Software Projekten Automatisierung im Software Entwicklungsprozess Bestimmte Schritte des Entwicklungsprozesses können teilweise oder sogar vollständig automatisiert durchgeführt werden. Vorteile: Prozessgerechte Entwicklung Höhere Qualität und Nachverfolgbarkeit Entwicklungsaufwand reduziert sich Mittelfristig Nachteile: Initial höherer Aufwand durch Prozessänderung Betreuung vom Automatisierungs-System erforderlich 9

Automatisierung in Software Projekten Software Entwicklung nach V-Modell Spezifikation Design Modellbasierte Entwicklung Code Generierung Integrations- Test (SW) Modultest (Embedded) Integrations- Test (HW+SW) Modultest (Model) Abnahmetest Software Implemenierung Operativ 10

Automatisierung in Software Projekten Software Entwicklung und Management nach V-Modell Project Management Requirements Management Software Qualität HW Ressourcen Verbrauch Test Management Software Analyse Review Management Konfigurations Management API-Dokumentation Release Notes Spezifikation Design Modellbasierte Entwicklung Code Generierung Integrations- Test (SW) Modultest (Embedded) Abnahmetest Integrations- Test (HW+SW) Modultest (Model) Software Implemenierung Organisatorisch Operativ 11

Automatisierung in Software Projekten Software Entwicklung Automatisierungspotential Spezifikation Design Modellbasierte Entwicklung Code Generierung Integrations- Test (SW) Modultest (Embedded) Integrations- Test (HW+SW) Modultest (Model) Abnahmetest Software Implemenierung Manuell Teilautomatisierbar Vollautomatisierbar 12

Automatisierung in Software Projekten Software Entwicklung Automatisierungspotential Project Management Requirements Management Software Qualität HW Ressourcen Verbrauch Test Management Software Analyse Review Management Konfigurations Management API-Dokumentation Release Notes Spezifikation Design Modellbasierte Entwicklung Code Generierung Integrations- Test (SW) Modultest (Embedded) Abnahmetest Integrations- Test (HW+SW) Modultest (Model) Software Implemenierung Manuell Teilautomatisierbar Vollautomatisierbar 13

Automatisierung in Software Projekten Automatisierung Notwendig? Mehrere Software-Entwickler (>2) Mehrere Beteiligte Standorte (>2) Unterschiedliche Toolchains wie z. B. Code- Generierung und Embedded Compiler Software-Plattformkonzepte bei denen Sourecode in mehreren Projekten verwendet wird Hohe Anforderungen aus dem Entwicklungsprozess bei z. B. Funktional Sicheren Projekten (Anforderungen und Testergebnisse Traceability) Sonstige Faktoren: Prozess wird nicht gelebt Kundenanforderung zu Automatisierung 14

Continuous Testing 15

Continuous Testing Grundprinzip Continuous Integration Automated via SVN and Jenkins Skripts Jenkins Job Commit Check Out SVN Checkout Software Compilation Source SVN Error Notification Error Notification 16

Continuous Testing Minimalbeispiel Unit Tests Zusätzlich zur Erstellung der Firmware werden Test-Skripte ausgeführt: Modultests von einzelnen Softwaremodulen Automated via SVN and Jenkins Skripts Jenkins Commit Check Out Job SVN Checkout Software Compilation Benachrichtigungen können abhängig von mehreren Faktoren getriggert werden: Anzahl fehlerhafter oder übersprungener Tests zu hoch (Instabil) Zu viele MISRA Warnings Smoke Test nicht erfolgreich Source SVN Error Notification Unit Testing Error Notification 17

Automatisierte Ausführung Direkte Ausführung Zeitgesteuerte Ausführung Separater Jenkins Slave Continuous Testing Welche Teststufen sind sinnvoll realisierbar Automatisierbarkeit ist toolabhängig Direkte Ausführung ist nur bei kurzen Testzeiten zu Empfehlen Bei langen Testzeiten empfiehlt sich eine zeitgesteuerte Ausführung (z. B. Nachts) Separate Instanz von Jenkins ist für mache Teststufen sinnvoll (Jenkins Slave) Teststufen Abnahmetest - - - - Systemtest - Systemintegrations-test - Hardwaretest - - - - Hardware-integrationstest - - - - Hardwaremodultest - - - - Softwaretest Softwareintegrations-test Softwaremodultest Modelltest Modellintegrations-test Modellmodultest empfehlenswert möglich - nicht möglich 18

Trigger Instabiel E-Mail Fehler E-Mail Continuous Testing Best Practice für CI-Systeme Job #1 Build (GHS Compiler) SVN - SW-Team #2 Modultest (Tesssy) Job #1 SW-Entwickler Testmanager #3 Smoke Test (UDS Flash und CAN) Job #2 SW-Entwickler Integrator #4 MISRA Checker (UnderstandC) Zeit (0h) SW-Entwickler SW-Entwickler, QSP 19

Continuous Delivery 20

Contineous Testing Beispiel Continuous Delivery 21

Zusammenfassung 22

Continuous Testing Zusammenfassung Continuous Testing Vorteile Jenkins und >1000 Plugins sind kostenlos Aktueller Spezifikationsstand durch Synchronisation mit Requirements- und Testtools Langfristige Reduzierung der Testaufwände und der Fehlerquellen im Testablauf Bessere Software (wenig Raum für persönliche Ausprägungen) CI-Sytem als Quality Gate im Entwicklungsprozess 23

Continuous Testing Zusammenfassung Continuous Testing Nachteile Automatisierungssystem benötigt Pflege und Maintenance Jenkins ist (meist) ein separater Rechner, der eigene Lizenzen benötigt Initial höhere Aufwände für aufsetzen der Automatisierung 24

Toolanbindung und Möglichkeiten Fazit CI-Systeme können beliebig komplex ausgelegt werden Sinnvolles maß muss für jedes Entwicklungsteam definiert und etabliert werden Definition von automatisierten Teststufen ist notwendig Testautomatisierung muss in Entwicklungsprozess integriert werden 25

Firmenprofil GIGATRONIK Technologies GmbH 26

27

Copyright 2015 GIGATRONIK Alle Rechte vorbehalten