qualitativ sicheres testen in agiler prozessumgebungagile software test 22 test quality iso...
TRANSCRIPT
© Zuken
ZUKEN E³ GmbH Ulm-Einsingen
Qualitativ sicheres Testen in agiler
ProzessumgebungJürgen Blatz
Software Engineer Quality Assurance
Product Development
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
Referent Dipl.Ing. (FH) Jürgen Blatz
1988 Studium zur Techn. Informatik in Ulm Mitwirkung an der Entwicklung von Software für Hochregallager und dem Mautsystem für
die norwegische Stadt Oslo per optischer Nummernerfassung
1989 Anstellung bei CIM-Team Ulm Software-Portierung eines Leiterplattenentflechtungsmodel von Fortran nach ‚C‘ Weiterentwicklung des
Modules für HP
2002 Entwicklung objektorientierter Verkablungssoftware „E³.series“
2008 Übernahme CIM-Team durch die Zuken E3 GmbH Spezialisierung im Bereich QA/Software-Test
2011 Einführung SRUM-Prozess in der Entwicklung QA/Test im agilen Entwicklungsfeld
Privat Ausgleichsport Leitung Einstein-Vorbereitungsgruppe EM-19
2
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
Überblick
Kurzes Firmenportrait
Wo ist unsere Software weltweit im Einsatz Maschinenbau, Automobilindustrie, Aerospace,
Spezialfahrzeuge, Schienenfahrzeuge
Agile Methoden contra V-Modell
Agile Test-Methoden
…noch Fragen
Software-Präsentation E³.series(nach Vortrag auf Wunsch)
3
© Zuken
Zuken Corporate ProfileSummary
4
1976
$231,500,427*
Yokohama, Japan
Munich, Germany
Westford, Massachusetts
Tokyo Stock Exchange Level-1
1,191
Profitable, no debt
Founded
Revenue Year Ended March 2013
Corporate Headquarters
European Headquarters
North American Headquarters
Stock Listing
Employees
Operational Excellence
* using the original currency and the average exchange rate for the period.
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
Zuken Technologiezentren
Zuken Zentrale,
Japan - Yokohama
Zuken EAS Hauptsitz,
Deutschland - Hallbergmoos
Zuken Entwicklung,
Großbritannien - Bristol
Zuken Entwicklung,
Deutschland - Paderborn
Japan Entwicklung
GB Entwicklung
Zuken E3 Entwicklung
Deutschland - Ulm
Deutschland
Entwicklung
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
Zuken E³ GmbH Ulm - Einsingen
Zuken E3 Entwicklung
Deutschland - Ulm
• Gegründet 1987 in Ulm als CIM-Team
• Standort früher in Ulm – Söflingenmit ca. 10 Mitarbeitern
• Neubau 1993 in Ulm-Einsingen
•1998 Übernahme von E-CAD Systemen von HP/Cade Laichingen und beteiligte Mitarbeiter
•2001 Übernahme des E-CAD Systems promis von TCS in Süssen und beteiligte Mitarbeiter•2001 Übernahme des E-CAD Systems VarCAD
•2006 Beteiligung der Zuken AG Japan
•2014 neues Vertriebs-und Schulungszentrum Sedanstr. Ulm
•Aktuell ca. 90 Mitarbeiter in Ulm - Einsingen
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
spezifische
Technologie
spezifische
Technologie
Gemeinsame Kerntechnologien– Software / Dienstleistungen / Management-Expertise
ZUKEN – Strategie
Produkt- und Industrie- spezifisch
PLM
Electrical
Electronic
Mechanical Semi-
conductors
IntegrationIntegration
IntegrationIntegration
PLM
Electrical
Electronic
MechanicalSemi-
conductors
PLM
Electrical
Electronic
MechanicalSemi-
conductors
PLM
Electrical
Electronic
MechanicalSemi-
conductors
PLM
Electrical
Electronic
MechanicalSemi-
conductors
spezifische
Technologie
spezifische
Technologie
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
E³.series - Industriesegmente
• Fahrzeuge
Automobile
Agrarmaschinen
Baumaschinen, Kräne
Züge
• Luft- und Raumfahrt
Businessjets
Militärflugzeuge
Satelliten
• Konsumprodukte
Drucker, Kopierer, Scanner
Kommunikationssysteme
Medizintechnik
Weiße Ware
Spezielle Lösungen für spezifische Anwendungsgebiete
© Zuken
Fahrzeughersteller / Automotive
• Entwicklung von Fahrzeugen aller Art
– Spezielle Module für Automotive und Transportation
9
© Zuken
Industry Solutions - E³.machinery
(Maschinen- und Anlagenbau)
• Unterstützung internationaler Standards im Maschinenbau
10
© Zuken
Industry Solutions - E³.systems
• Verkabelung elektronischer Systeme
– Integration von PCB-Designdaten als Black-Box
11
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
Agile Vorstellungen…
If you think Agile means cowboy programmers doing
whatever they want with no requirements, no rules, no
documentation, and no testing, you might read too much
Dilbert (Angela Dugan 2013)
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
Agile Wahrnehmungen…
…und unser Ziel:
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
Agile Idee…
Entwickeln in Inkrementen
• Scrum kulinarisch gesprochen:
• Es ist wesentlich einfacher einen kleinen Bissen zu verdauen als einen großen.
• Wir schneiden auch ein Steak in mundgerechte Happen, bevor wir es genießen.
• Übertragen:
Es macht Sinn, ein großes Projekt in mehreren Inkrementen zu entwickeln.
Angefangen mit den wichtigen Teilen.Die Qualität bleibt immer im Auge.
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
Methodik: Scrum
15
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
Scrum: Teams
Entwicklung in Scrum-
Teams
• Aktuell 3 Entwickler-Teams
• Team jeweils in einem Raum
• Alle Rollen sollten im Team vertreten sein(Entwickler, Software-Architekt, QA/Tester)
• Agile Methoden erfordern Absprachen im Team.
• Ein Scrum-Master für alle 3Teams
16
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
Scrum: Teams
17
TeamEigenverantwortlich
Unterschiedliche Schwerpunkte
(Entwickler, Architekten, Tester )
Product OwnerVertritt die
Auftragsseite
für Rückfragen des Teams zuständig
Pflege Product Backlog
ScrumMasterVermittler
Unterstützer
nur verantwortlich für Einhaltung der Prozessabläufe
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
Scrum: Teams
Agile Praxis
18
Sprint BacklogTeam und PO
haben Weiterentwicklung
im AugeÜbersichtliche
Aufgabenverteilung Teams Story
PO schreibt die StoryLegt
Akzeptanzkriterien fest
Estimation-Meeting
Vorabschätzung mit Experten-WissenAbschätzungen
Planning Poker nach Komplexität
Sprint Planning
Team ‚commited‘ sich
auf die Aufgaben
Tägliche Standups
PO immer uptodate
schnelle Problemlösungen
Sprint Review
Auslieferungsfähiges InkrementKunde kann
Einblick nehmen
RetrospektiveInstrument zur
Verbesserung der Prozesse
/Abläufe/Qualität
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
Agiler Test…
19
Agiler Test (-Entwicklung) ist Eigenverantwortung der Teams
• Agil entwickeln Test-getrieben entwickeln
• Eigenverantwortlich entwickeln und Qualitätsstandards umsetzen
• Sehr hohe Test-Automation
• Bis zur ‚Definiton of Done‘
• Komplette Prozess-Dokumentation
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
Agile Software Test / Methoden
20
Qualitativsicheres Testen
Gewährleistet durch hohe Test-Automation
Durch Selbstdisziplin der Teams mit Fokus auf Qualität
Durch stetig verfügbare Software-Inkremente
Definition of Done
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
Agile Software Test / ‘Definition of Done’
21
Alle Akzeptanzkriterien sind erfüllt
Die Implementierung ist entsprechend der CodingHints und CleanCode-Richtlinien durchgeführt
Code Review ist durch einen anderen Entwickler durchgeführt
Die Änderungen sind in allen geforderten Software-Releases integriert
Die Unit Tests und Konsistenzprüfungen sind sinnvoll ergänzt oder angepasst
Die Unit Tests werden bestanden
Funktionstest ist durch eine andere Person durchgeführt
Automatisierte Tests und Testpläne sind sinnvoll ergänzt oder aufgenommen
Der Punkt ist nach dem Prozess-Workflow abgeschlossen
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
Agile Software Test
22
Test
Quality
ISO zertifiziert
Konsistenz-Tests
Unit-Tests
Modul-Tests
Code-Reviews
Automatisierte Tests durch Software-Schnittstelle
GUI Test-Automation (Ranorex)
Komplette Entwicklungs-Dokumentation
Pair-Programming bei komplexen Aufgaben
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
Agile Software Test
23
Konsistenztests
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
Agile Software Test
24
E³.series 2015 (Feb 21 2015 04:37:12 Build 2016-1582-Develop @118616)
UnitTest: Testing TypeLibrary Compatibility
Warning: Environment variable PRODUCTDEV_SERVER not set, using ULM
All 2447 Methods of [15.0.0.0] found in [15.70.0.0]
All 41 ComClasses and 174 Interfaces of [15.0.0.0] found in [15.70.0.0]
QueryInterface for 180 Interfaces of [15.70.0.0] succeeded!
ApplicationInterface / DbeApplicationInterface Test - succeeded!
UnitTest: TypeLibrary Compatibility Test succeeded!
Unit- und Modul Tests
• Prüft Daten-Strukturen
• Erweiterung gehört zu jeder Neu-Entwicklung
• Unit-Tests laufen nach ‚Compile‘
• Modul-Tests nächtlich
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
Agile Software Test
25
Code Review
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
Agile Software Test
26
Automatisierte Tests
GUI Tests
Nächtliche Builds
Täglich testbare Software-Versionen
Vollautomatische Tests aller Grundfunktionen
Prüfung an Kundenprojekten
Prüflauf über Software Schnittstelle
GUI Tests
Ranorex Studio
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
Agile Software Test
27
ManuelleTestvorgaben
Kunden-Tests
Weitere Tests
Spezielle Testpläne
Manuelle Vorgaben für nicht Team-Mitarbeiter
Kunden-Akzeptanztests
Software PreReleases
Immer neue Ideen zurQualitätssicherung
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
Risikoanalyse
28
Product risk
matrix
Abwägung:
Risiko
Wahrscheinlichkeit
…aus Kundensicht
…aus Entwicklersicht
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
Agil vs. V-Modell
29
Agil V-Modell
Entwicklungsmodell Agil (Scrum…) V-Modell
Team-Größe Klein, agil 3-8 Personen Überwiegend große Teams
Team work Aufgabenplanung und
Erstellung im Team
Architekt erstellt Modell
Entwickler setzen dieses
unabhängig um
Tester Als Team-Member QA-Abteilung
Testfälle erzeugt durch… Akzeptanzkriterien Spezifikationen
Testfälle Viel automatisiert und ständig
erweitert
Strikt entsprechend der
Spezifikation
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
Agil vs. V-Modell
30
Agil V-Modell
Change Management Kommen ins SprintBacklog
und durchlaufen komplette
Test-Vorgaben
Für Bugs gibt es keine Test-
Spezifikationen
Kunde einbezogen nach jedem Sprint selten
Integration Täglich:
Nur geprüfte lauffähige
Entwicklungspunkte
Gemeinsame Entwicklung auf
nicht lauffähiger Source
Software-Build /
Testversionen
Täglich Wöchentlich / teils in
Monatsphasen oder zu
bestimmten Meilensteinen
Qualität Täglich überprüfbare
Versionen
Manchmal wochenlang keine
Testversion verfügbar
Anpassungen Dynamisch täglich im
StandUp oder spätestens mit
nächstem Sprintplaning
Anpassungen nicht ohne
komplexe Umstrukturierungen
möglich
Terminbindung Definierte
Auslieferungszeitpunkte
- gegebenenfalls Abstriche in
der Funktionalität
Stets Termin-Verlängerungen
- gegebenenfalls Abstriche in
der Terminbindung
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
Agile Software Test
31
Fazit
mehr Tests
wesentlich mehr Automation
mehr Qualität
kürzer verfügbare Software-Inkremente
mehr Mitbestimmung und Kooperation Entwickler
höhere Kundenzufriedenheit
motivierte Entwickler
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
Agiles Testing / Bookworm
32
• Viele auch unterschiedliche Praxisbeispiele
Agile Testing: Der agile Weg zur Qualität
• How to get testers engaged in agile development
• Where testers and QA managers fit on an agile team
• What to look for when hiring an agile tester
• How to transition from a traditional cycle to agile development
• How to complete testing activities in short iterations
• How to use tests to successfully guide development
• How to overcome barriers to test automation
Agile Testing: A Practical Guide for
Testers and Agile Teams
• Bezieht sich mehr auf die Team-Integration der Tester
Soft Skills für Softwaretester
und Testmanager
© ZukenZuken proprietary information, forwarding beyond the intended recipient(s) is not permitted.
Further ideas / Questions
33