testautomatisierung & agile projekte · 2014-12-01 · audit und compliance...
TRANSCRIPT
TESTAUTOMATISIERUNG & AGILE PROJEKTE
EIN BLICK HINTER DIE KULISSEN
1. Vorstellung T-Systems MMS/Test and Integration Center
2. Was verstehen wir unter Agil?
3. Wie sollte ich mein Team zusammenstellen?
4. Tools & Techniken —Wie setze ich diese ein?
5. Wo ist die Testautomatisierung sinnvoll?
6. Wie reporte ich Ergebnisse? Habe ich überhaupt Kennzahlen?
7. Lohnt sich das eigentlich alles?
AGenda 27.11.2014, Hacker Day & TIC-Conference
Das Test and Integration Center von T-Systems Multimedia Solutions ist das einzige akkreditierte Softwareprüflabor der Internet- und Multimediabranche in Deutschland, das von der Deutschen Akkreditierungsstelle (DAkkS) anerkannt ist.
Mit über 175 ISTQB-zertifizierten Testexperten und 45 Spezialisten für IT-Security und Datenschutz prüfen wir die Qualität und Sicherheit von Web-Applikationen.
Neutrale und weltweit anerkannte Testergebnisse durch Qualitätsnachweis nach DIN ISO/EC 25051:2006-06
Testleistungen im Überblick
SoFtWare
QuaLitY management
managed teSt
SerViceS
Zerti-
Fizierung
code
QuaLitY management
interFace
Und Soa- SerVice-
teSt
FunktionS-
und abnahme-teSt
SaP bi
teSt
SaP erP
teSt
teSt-
auto-matiSierung
teSt aS a
SerVice
LaSt und
PerFor-mance-
teSt
PerFormance
engineering
aPPLication
monitoring
mobiLe
teSting
uSabiLitY teSt
acceSSibiLitY
teSt
anonYmi-
Sierung
audit und
comPLiance
conSuLting
inFor-
mationS-SicherheitS-
management
managed
SecuritY SerViceS
PenetrationS-
teSt
SecuritY
code reVieWS
SicherheitS-
und daten-Schutz-
konzePte
it-ForenSik
training
und aWareneSS
1. Vorstellung T-Systems MMS/Test and Integration Center
2. Was verstehen wir unter Agil? 3. Wie sollte ich mein Team zusammenstellen?
4. Tools & Techniken - Wie setze ich diese ein?
5. Wo ist die Testautomatisierung sinnvoll?
6. Wie reporte ich Ergebnisse? Habe ich überhaupt Kennzahlen?
7. Lohnt sich das eigentlich alles?
Testautomatisierung & Agile Projekte EIN BLICK HINTER DIE KULISSEN
Agil ist?
Was wir unter Agil verstehen
Flexibleres Vorgehensmodell – Neue Kundenwünsche können kurzfristig eingeplant werden
Lauffähige Software steht frühzeitig zur Überprüfung bereit
Testplanung & Testmanagement ist erforderlich
Releaseplanung ist trotzdem notwendig
Zusammenarbeit zwischen Kunde & Dienstleister ist entscheidend – Vorgehensweise konkret abstimmen
Test wird frühzeitig involviert – er definiert Abnahmekriterien, bevor die eigentliche Implementierung beginnt
Alle Anforderungen müssen trotz agiler Vorgehensweise klar dokumentiert werden
Testfälle werden trotz Agilität erstellt
Automatisierte Testskripte werden diesen zugeordnet
Bugs müssen über ein Bugtracking-Tool nachverfolgt werden
1. Vorstellung T-Systems MMS/Test and Integration Center
2. Was verstehen wir unter Agil?
3. Wie sollte ich mein Team zusammenstellen?
4. Tools & Techniken - Wie setze ich diese ein?
5. Wo ist die Testautomatisierung sinnvoll?
6. Wie reporte ich Ergebnisse? Habe ich überhaupt Kennzahlen?
7. Lohnt sich das eigentlich alles?
Testautomatisierung & Agile Projekte EIN BLICK HINTER DIE KULISSEN
Team?
Team!
Klare Strukturen schaffen o „Alle machen alles“ funktioniert nicht!
Spezialisten sind in agilen Teams weiterhin notwendig
Teams werden nach den benötigten Skills zusammengestellt
Softskills (Kommunikation) sind ein entscheidender Faktor o räumliche Nähe von Vorteil
Aber: Tester benötigen im Agilen Umfeld vermehrt Entwicklungs-KnowHow
Testautomatisierung ist mittlerweile eine Nische der Software-Entwicklung
Scrum Master kann mit entsprechendem Zertifikat auch ein Testmanager sein
Zertifikate wie ISTQB, OCP, CAT etc. sind sehr hilfreich
zertifikate
T-Systems Multimedia Solutions accepts the challenge
1. Vorstellung T-Systems MMS/Test and Integration Center
2. Was verstehen wir unter Agil?
3. Wie sollte ich mein Team zusammenstellen?
4. Tools & Techniken - Wie setze ich diese ein?
5. Wo ist die Testautomatisierung sinnvoll?
6. Wie reporte ich Ergebnisse? Habe ich überhaupt Kennzahlen?
7. Lohnt sich das eigentlich alles?
Testautomatisierung & Agile Projekte EIN BLICK HINTER DIE KULISSEN
Product Backlog Product-Owner
Scrum-Master
täglich
Sprint
14-30 Tage
Daily Scrum Täglicher Informationsaustausch
Status der Testaufgaben
Bewertung des automatisierten Regressionstests
Sprintplanung
Sprint-Review
Sprint-Retrospektive
Festlegung der umzusetzenden Anforderungen
Definition der Abnahmekriterien pro Feature
Festlegung der automatisierten Regressionstests
Detaillierung der Testaufgaben
Schätzung des Aufwandes
Bewertung des vergangenen Sp rints
Einhaltung des vereinbarten Testprozesses
Optimierung der Testautomatisierung
Gesamtheit der Anforderungen
Analyse der Anforderungen
Unterstützung bei der Formulierung
von Abnahmekriterien
Festlegung notwendiger Testarten
Vorstellung der Sprintergebnisse
Report über automatisierte Abnahmetests
Nachweis der erreichten Qualitätsmetriken
Bewertung der aktuellen Software
Agile Testing - Vorgehensweise
Legende Vorgehen nach Scrum
Umsetzung durch Test
Tools & Techniken!
In Agilen Projekten ist Testautomatisierung zwingend ständig steigender Regressionstestbedarf
Entwickler haben jeden Morgen eine Qualitätsaussage durch Continuous Integration
Open Source bietet großes Potential bzgl. Erweiterungen
Testdatenmanagement bei größeren Projekten enorm wichtig – wird häufig unterschätzt
o Testdatenanonymisierung o Testdatensynthetisierung o Testdatenverwaltung
Tools & Techniken!
Tools & Techniken!
Testspezifikation Testdurchführung Testauswertung
VCS (SVN)
Grid
Report
Tools & Techniken!
Synchronisation
API Zugriff
WS FS DB Mail
Code Quality
Sonar
Checkstyle
Test Status
Testskript-Logging
Screenshots/ Screencasts
Reporting
Nativ Sikuli
Webtest Selenium/WebDriver
Test VM 1 Test VM 2 Test VM n
Selenium Grid Hub
Projekt 1 Projekt 2
Projekt 3
Tools & Techniken!
Tools & Techniken!
Layoutvergleich über Bilderkennung - Referenz mit Annotationen und Distanz
1. Vorstellung T-Systems MMS/Test and Integration Center
2. Was verstehen wir unter Agil?
3. Wie sollte ich mein Team zusammenstellen?
4. Tools & Techniken - Wie setze ich diese ein?
5. Wo ist die Testautomatisierung sinnvoll?
6. Wie reporte ich Ergebnisse? Habe ich überhaupt Kennzahlen?
7. Lohnt sich das eigentlich alles?
Testautomatisierung & Agile Projekte EIN BLICK HINTER DIE KULISSEN
automatisierung?
automatisierung!
Bei Projekt-Langläufern unabdingbar
gerade bei ständigen Änderungen ist die Automatisierung enorm wichtig
von Anfang an mit der Entwicklung richtig aufsetzen
das Hauptziel bei Regressiontests ist nicht primär neue Fehler zu finden
sondern die bereits bestehende Funktionalität darf durch weitere Änderungen nicht beeinträchtigt werden
von Anfang an als entwicklungsbegleitenden Test (Modultest) einsetzen
Kann bei späteren Teststufen wiederverwendet werden dadurch ergibt sich dann auch der ROI
1. Vorstellung T-Systems MMS/Test and Integration Center
2. Was verstehen wir unter Agil?
3. Wie sollte ich mein Team zusammenstellen?
4. Tools & Techniken - Wie setze ich diese ein?
5. Wo ist die Testautomatisierung sinnvoll?
6. Wie reporte ich Ergebnisse? Habe ich überhaupt Kennzahlen?
7. Lohnt sich das eigentlich alles?
Testautomatisierung & Agile Projekte EIN BLICK HINTER DIE KULISSEN
Report & Ergebnisse?
Report & Ergebnisse!
Testfälle bzw. Testideen werden in einem Testmanagement-Tool geschrieben
o Mapping über Anforderungen zu Testfallketten bis hin zu Ergebnissen
o Ergebnisse der Testautomatisierung werden über einen selbst entwickelten Webservice automatisch zurück geschrieben
Bugtracking-Tools (wie Jira, Trac) werden eingesetzt
Kennzahlen werden durch die Testautomatisierung automatisch mitgeliefert
Automatische Generierung von Reports durch XETA
Report & Ergebnisse!
Report & Ergebnisse!
Report & Ergebnisse!
XETA – Tracking von Testsuiten
o Testlaufzeiten innerhalb eines Zeitraums
o Daten werden in einer projektspezifischen DB gesammelt
1. Vorstellung T-Systems MMS/Test and Integration Center
2. Was verstehen wir unter Agil?
3. Wie sollte ich mein Team zusammenstellen?
4. Tools & Techniken - Wie setze ich diese ein?
5. Wo ist die Testautomatisierung sinnvoll?
6. Wie reporte ich Ergebnisse? Habe ich überhaupt Kennzahlen?
7. Lohnt sich das eigentlich alles?
Testautomatisierung & Agile Projekte EIN BLICK HINTER DIE KULISSEN
NUtzen?
Nutzen!
0
2000
4000
6000
8000
10000
12000
14000
0
10
20
30
40
50
60
Fehlerwirkung
entdeckte Fehler in %
Ø Kosten pro Fehlerkorrektur (€)
Auszug "CHAOS Summary 2009" (Standish Group)
- erfolgreich abgeschlossene IT-Projekte: ca. 32 %
- gescheitert oder abgebrochen: ca. 24 %
- abgeschlossen: ca. 44 %, diese jedoch:
mit überzogenem Budget,
nicht rechtzeitig
und/oder mit weniger Features als benötigt.
Testen ist teuer?? - Fehler werden teuer!
Nutzen!
Anfangsaufwand (initial) ist natürlich da, im Laufe des Projektes amortisiert sich dieser jedoch
Fehler werden viel früher gefunden spart hohe Bugfixing-Kosten, wenn auch im Detail schwer messbar
Testautomatisierung soll: o vorhandene Funktionalitäten sicherstellen (Regression) o agilen Umfeld entwicklungsbegleitend neue
Funktionalitäten testen, um frühzeitig Fehler zu finden
man erreicht eine Reduktion des Fehleraufkommens
Nächtliche Testläufe - kürzere Testzeit
Entlastung von Routineaufgaben im manuellen Test dadurch haben Kollegen mehr Zeit für andere Themen
Wiederholbarkeit der Tests für mehrerer Teststufen (Modultest, Systemtest, Integrationstest, Abnahmetest)
Ret urn on Investment
Aufwand automatisiert
Aufwand manuell
FAZIT!
Ideale Vorgehensweise wählen – Dienstleister und Kunde müssen sich einig sein
Teams richtig besetzen, Rollen entsprechend verteilen
Best Practises aus klassischen Modellen nicht „verteufeln“
Notwendige Dinge dokumentieren (Anforderungen, TF etc.)
Passende Tools auswählen
Automatisierung richtig aufsetzen (entwicklungsbegleitend, Parallelisierung, Wiederholbarkeit etc.)
Testautomatisierung ist im Agilen Umfeld im Zusammenspiel mit Continuous Integration unverzichtbar!
Und natürlich den richtigen Dienstleister auswählen
Test Automation & Agile Testing
T-Systems Multimedia Solutions GmbH Riesaer Straße 5 01129 Dresden
Sven Rudolph Leiter Test Automation & Agile Testing
0351 / 2820 - 2585 [email protected]
kontakt
21.11.2014 – streng vertraulich, vertraulich, intern, öffentlich – 36
Technische Präsentation und Showcase Vielen Dank