TESTAUTOMATISIERUNG & AGILE PROJEKTE · 2014-12-01 · audit und comPLiance...

Preview:

Citation preview

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 Sven.Rudolph@T-Systems.com

kontakt

21.11.2014 – streng vertraulich, vertraulich, intern, öffentlich – 36

Technische Präsentation und Showcase Vielen Dank

Recommended