testen mit, durch und in scrum

68
Frank Düsterbeck de.slideshare.net/fduesterbeck @fduesterbeck Testen mit, durch und in Scrum

Upload: frank-duesterbeck

Post on 19-Jun-2015

467 views

Category:

Software


2 download

DESCRIPTION

Scrum ist gelebtes Qualitätsmanagement und zum Qualitätsmanagement gehört das Testen. Wie genau spielt das Testen in Scrum mit? Welche Arten und Stufen von Tests gibt es und wie können diese den Scrum Prozess unterstützen oder sogar behindern? Was machen Teams hierbei gerne falsch und können klassische Testverfahren behilflich sein die Qualität zu verbessern? Diese Fragen werden in dem Vortrag diskutiert, beantwortet und bewertet.

TRANSCRIPT

Page 1: Testen mit, durch und in Scrum

Frank Düsterbeckde.slideshare.net/fduesterbeck

@fduesterbeck

Testen mit, durch

und in Scrum

Page 2: Testen mit, durch und in Scrum

(De)-Motivation

Page 3: Testen mit, durch und in Scrum

Komplexität heutiger

Software schwer

beherrschbar

Anforderungsdynamik

Heutzutage schwer

beherrschbar

Page 4: Testen mit, durch und in Scrum

Quelle: Carl Dichter and Chris Tynes, JavaWorld.com, 06/01/97

Quelle: Wikipedia

Page 5: Testen mit, durch und in Scrum

scrum

prince2

rup

bpmn

eclipse

c#

aspectj

visual studio

jsf

uml

git

jubula

asp.net

asp mvc

spring

tfs

ejb

nunit

subversion

fitnesse

jboss

iis

clean code

tpl

usability

linq

wcf

birtant

maven

kanban

xp

user stories

azure

gwt

hibernate

migration

atdd

appssharepoint

dms

codedui

wpf

junit

tabrisrap

vaadin

jira

bugzillahpqc

testopia

seleniumjenkins

wf

c++

html5

javascript

css

design

php

javasecurity

netweaver

testcomplete

redmine

cucumber

hybris

typo3 sql server

oraclemysql

postgresql

bdd

Page 6: Testen mit, durch und in Scrum

Und wie schaff ich es Qualität zu erzeugen wenn alles so komplex und dynamisch ist?

Nicht durch Testenallein!

Aber es hilft schonmal!

Page 7: Testen mit, durch und in Scrum

Qualität

ist der Grad,

in dem Merkmale

einer Sache

Anforderungen erfüllen

Was ist gute Qualität?

Page 8: Testen mit, durch und in Scrum

Interne Qualität (Lieferantensicht)

Einfachheit, Wartbarkeit, Erweiterbarkeit

Fehlerfreiheit

Dokumentation, Architekturen, Programmcode

Prozesse, Methoden

Basis für...

Page 9: Testen mit, durch und in Scrum

Externe Qualität (Kundensicht)

Zufriedenheit, Erwartung

Erfüllung der Anforderungen

Funktionsumfang

Usability

Fehlerfreiheit

Audit

Page 10: Testen mit, durch und in Scrum

DIN ISO/IEC 25000 Software engineering

Software product Quality Requirements and Evaluation (SQuaRE)

Qualitätskriterien und Bewertung von Softwareprodukten

Page 11: Testen mit, durch und in Scrum

Funktionalität

Zuverlässigkeit

Wartbarkeit

Benutzbarkeit

AusgereiftheitVerfügbarkeitFehlertoleranz

Wiederherstellbarkeit

VollständigkeitKorrektheit

Angemessenheit

Effizienz

AntwortzeitverhaltenRessourcenverbrauch

Kapazität

AngemessenheitErlernbarkeitBedienbarkeitFehlertoleranz

ÄsthetikBarrierefreiheit

VertraulichkeitIntegrität

NachweisbarkeitVerantwortlichkeit

Authentizität

Sicherheit

KoexistenzInteroperabilität

Kompatibilität

Übertragbarkeit

AnpassungsfähigkeitInstallierbarkeit

Austauschbarkeit

ModularitätWiederverwendbarkeit

AnalysierbarkeitModifizierbarkeit

PrüfbarkeitProdukt Qualität

ISO 25010

Page 12: Testen mit, durch und in Scrum

… und das soll ich jetzt alles testen oder was?

Ja!

Boah! Tut das echt Not?

Ja!$ !?!

Page 13: Testen mit, durch und in Scrum

… und was für Testarten gibt es da so?

Page 14: Testen mit, durch und in Scrum

TESTARTENE2E-Test

Benutzbarkeitstest

StresstestPerformancetest

Statischer TestUnit Test

Regressionstest

CodereviewArchitekturreview

Nachtest

Penetrationstest

Sicherheitstest

Usabilitytest

Installationstest

Schnittstellentest

Abnahmetest

Integrationstest

Akzeptanztest

Funktionstest

Page 15: Testen mit, durch und in Scrum

Fehlerfindung:

Es sollen mögliche Fehler gefunden werden,

bevor die Software eingesetzt wird

Qualitätsnachweis:

Es soll nachgewiesen werden, dass sich die

Software konform zu den Anforderungen

verhält

Test

en

Ein Bug darf keinen Sonnenuntergang erleben!

Page 16: Testen mit, durch und in Scrum

TESTZIEL

TESTSTUFE

TESTART

erreichen in

testen mittels

Gebrauchstauglichkeit AkzeptanztestLasttestSchnittstellentest

Funktion ist richtig umgesetztSystem ist schnellSchnittstelle funktioniert

?

Page 17: Testen mit, durch und in Scrum

TeststufenAnforderungen

Funktionaler Entwurf

Technischer Entwurf

Komponenten Spezifikation

Entwicklung

Modultest

Performance-Test

Systemtest

AbnahmetestAkzeptanztest

Integrations-test

Page 18: Testen mit, durch und in Scrum

ZIEL

Page 19: Testen mit, durch und in Scrum

Scrum

Page 20: Testen mit, durch und in Scrum

AnforderungenEntwurf

Programmierung Test

Noch Water Scrum:

Page 21: Testen mit, durch und in Scrum

Was soll das heißen: „Testen ist integraler Bestandteil der Entwicklung“?

Page 22: Testen mit, durch und in Scrum

Es war einmal …… ein Team

Page 23: Testen mit, durch und in Scrum

… ein Team ?

T

Page 24: Testen mit, durch und in Scrum

Team Orangerot 1

UnittestProgrammierung

TestDurchführung

Testfall-erstellung

Fixing

FeatureFreeze

UnittestProgrammierung

TestDurchführung

Testfall-erstellung

Fixing

FeatureFreeze

Fixing

FeatureFreeze

LasttestdurchführungSystemtestdurchführung

Explore Explore

Page 25: Testen mit, durch und in Scrum

Team Orangerot 1

Das geht so nicht – wir müssen den Test entzerren!

Page 26: Testen mit, durch und in Scrum

Team Feuerrot

UnittestProgrammierung

Testfall-erstellung

Fixing

UnittestProgrammierung

Test-durchführung

Fixing

FeatureFreeze

LasttestdurchführungSystemtestdurchführung

Explore

GUI-Automatisierung

Fixing

Testfall-erstellung

Page 27: Testen mit, durch und in Scrum

Team Feuerrot

OK, is klar!Wir machen jetzt doch alles in einem Sprintund wir automatisieren, damit es am Ende nicht so eng wird!

Page 28: Testen mit, durch und in Scrum

AUTOMATISIEREN

WARUM?

Page 29: Testen mit, durch und in Scrum

Projektlaufzeit

Testaufwand

niedrig

hoch

Page 30: Testen mit, durch und in Scrum

AUTOMATISIEREN

DARUM!… und natürlich weil nicht alles manuell geht

(Lasttests, Performancetests, Schnittstellentests, …)

Page 31: Testen mit, durch und in Scrum

UnittestProgrammierung

Fix

GUI-Automatisierung

Fixing

FeatureFreeze

LasttestdurchführungSystemtestdurchführung

Explore

Explore

GUI-Automatisierung

UnittestProgrammierung

Fix

Explore

Team Orangerot 2

TestDurchführung

Testfall-erstellung

TestDurchführung

Testfall-erstellung

Page 32: Testen mit, durch und in Scrum

Das ist hier die Frage

GUI oder nicht

GUI

Page 33: Testen mit, durch und in Scrum

Projektlaufzeit

Test-

automatisierungs-

aufwand

niedrig

hoch

Page 34: Testen mit, durch und in Scrum

Testautomatisierung

Explorativ

System-, Performancetest

Akzeptanztest

Unit-, Integrationstest

Manuell

Automatisiert

GUI-Automatisierung immer bewusst machen und niemals alles!

Page 35: Testen mit, durch und in Scrum

GUI-Automatisierung

GF 3 GF 4.1 GF 1.2 GF 1.1 GF 5

Aufwand

Risiko

GF 7

hochniedrig

niedrig

hoch

Page 36: Testen mit, durch und in Scrum

Team Orangerot 2

OK OK, wir automatisieren also ganz viel Akzeptanztests und nur wichtige GUI-Tests!

Page 37: Testen mit, durch und in Scrum

Akzeptanz……wie geht das in Scrum?

Wer sichert die Qualität der Anforderungen?

Page 38: Testen mit, durch und in Scrum

Definition of Ready

Quality Gatefür

User Stories

Page 39: Testen mit, durch und in Scrum

*Haben nicht den Anspruch Anforderungen umfassend zu dokumentieren

Card

Conversation

*Abwehr

Als Fußballverein möchte eine gute Abwehr habendamit ich wenig Tore reinkrieg

Confirmation

Page 40: Testen mit, durch und in Scrum

Confirmation

Akzeptanzkriterien (Testbasis)

Herstellung der Messbarkeit

DoR Story bereit zur Umsetzung

DoD Abnahme der Story

Page 41: Testen mit, durch und in Scrum

… und wie erzeuge ich gute Akzeptanzkriterien?

Page 42: Testen mit, durch und in Scrum

Conversation

ATDD

Page 43: Testen mit, durch und in Scrum

Conversation

BDD

Page 44: Testen mit, durch und in Scrum

VERHALTEN

TREIBT

ENTWICKLUNG

BEHAVIOR

DRIVEN

DEVELOPMENT

Page 45: Testen mit, durch und in Scrum

UBIQUITÄRE SPRACHEGHERKIN

ALLE VERSTEHEN ES

SZENARIEN MIT

GIVEN WHEN THENANGENOMMEN WENN DANN

Page 46: Testen mit, durch und in Scrum

Akzeptanzkriterien

Szenario: Zwei Zahlen addierenAngenommen die erste Zahl ist 50Und die zweite Zahl ist 80Wenn ich addieren auswähleDann muss das Ergebnis 130 sein

Szenario: Drei Zahlen addierenAngenommen die erste Zahl ist 50Und die zweite Zahl ist 80Und die dritte Zahl ist 20Wenn ich addieren auswähleDann muss das Ergebnis 150 sein

Page 47: Testen mit, durch und in Scrum

… und das geht auch automatisiert?

Wie denn?

Page 48: Testen mit, durch und in Scrum

Client

View

ModelBusinesslogik

Controller

Ressourcen

Request

Response

Select

??

Page 49: Testen mit, durch und in Scrum

Addieren

Als Benutzermöchte ich Zahlen addieren könnendamit ich Zeit beim Rechnen spare

User Story schreiben

Akzeptanzkriterien ausarbeiten

Glue Code schreiben

Unittest Code schreiben

Code schreiben

ReadyDone

[Then(@"the result should be (.*) on the screen")]public void ThenTheResultShouldBeOnTheScreen(decimal p0){

Assert.AreEqual(p0, result);}

Assert.AreEqual(130, calculator.result);

Page 50: Testen mit, durch und in Scrum

User Story schreiben

Akzeptanzkriterien ausarbeiten

Glue Code schreiben

Unittest Code schreiben

Code schreiben

Fachbereich und Anforderungsmanager haben eine einfache Sprache, ...

… Anforderungsmanager, Entwickler und Tester müssen jetzt eng zusammenarbeiten, …

… die Entwickler können dann direkt gegen das erwartete Verhalten (den Test) entwickeln, …

… alle kriegen sofort eine Rückmeldung, ob sie alles richtig gemacht haben, …

… und am Ende braucht man nicht mehr soviel testen!!!

Page 51: Testen mit, durch und in Scrum

BDD ist toll! Ist das denn die Lösung für alles?

Ina Einemann (HEC GmbH)BDD - die Lösung aller Probleme?

Nö!

Page 52: Testen mit, durch und in Scrum

Geht denn auch GUI-Automatisierung und testgetriebene Entwicklung?

Björn Seebeck (HEC GmbH)Jubula im Softwareentwicklungsprozess

Jo!

Page 53: Testen mit, durch und in Scrum

Team Orange

UnittestProgrammierung

Autom. Akzeptanztests

Fix

GUI-Automatisierung

Fixing

FeatureFreeze

LasttestdurchführungSystemtestdurchführung

Explore

Explore

GUI-Automatisierung

UnittestProgrammierung

Autom. Akzeptanztests

Fix

Explore

Page 54: Testen mit, durch und in Scrum

Wann finden denn Performancetests statt?

Immer, kontinuierlich und so früh wie möglich.

So früh wie möglich.

Page 55: Testen mit, durch und in Scrum

Warum brauch ich eigentlich noch Systemtests wenn ich doch Akzeptanztests habe?

Unsere Akzeptanztests haben meistens den Fokus auf die User Stories Ziel: Nutzen bestätigen

Systemtests sind oft End-to-End-Tests. Wenn wir die nicht haben könnten Lücken entstehen! Ziel: Fehler finden

Page 56: Testen mit, durch und in Scrum

Team Orange

Herrje!Dann machen wir den System- und Performancetest eben parallel!

Aber dafür brauchen wir ein extra Team!

Page 57: Testen mit, durch und in Scrum

Team Gelb

UnittestProgrammierung

Autom. Akzeptanztests

Fix Fixing

Explore

Explore

UnittestProgrammierung

Autom. Akzeptanztests

Fix

ExploreGUI-Automatisierung

Last- / Systemtest

Page 58: Testen mit, durch und in Scrum

$ !?!

Team Gelb

Page 59: Testen mit, durch und in Scrum

Team Grün

UnittestProgrammierung

Autom. Akzeptanztests

Fix Fixing

Explore

Explore

UnittestProgrammierung

Autom. Akzeptanztests

Fix

GUI- / Last- / Systemtest ExploreGUI- / Last- / Systemtest

Page 60: Testen mit, durch und in Scrum

Team Grün

Jetzt ist alles schön. So machen wir für immer weiter!

Page 61: Testen mit, durch und in Scrum

Team Rosa

OK!!!

Wir bleibendran!

PLAN

DOCHECK

ACT

Page 62: Testen mit, durch und in Scrum

ScrumBDD ATDD

eXtremeSoziale Kompetenz

Grundlage für Team Grün

Page 63: Testen mit, durch und in Scrum

Und wie macht man das dann mit mehreren Teams?

Page 64: Testen mit, durch und in Scrum

Product Owner

Scrum Master

Community of practice

Scrum of Scrums

Head ofPO

Teststrategie

Page 65: Testen mit, durch und in Scrum

Fazit

Page 66: Testen mit, durch und in Scrum

Team ?

DevelopStories

Test Stories

Test Issues

Fixing

Acc

ep

tan

ceTe

stR

egr

ess

ion

Test

DevelopStories

Test Stories

Test Issues

Fixing

Acc

ep

tan

ceTe

stR

egr

ess

ion

Test

DevelopStories

Test Stories

Test Issues

Fixing

Acc

ep

tan

ceTe

stR

egr

ess

ion

Test

Page 67: Testen mit, durch und in Scrum
Page 68: Testen mit, durch und in Scrum

Frank Düsterbeck

[email protected]

@fduesterbeck

de.slideshare.net/fduesterbeck