SlideShare ist ein Scribd-Unternehmen logo
Frank Düsterbeck
de.slideshare.net/fduesterbeck
@fduesterbeck
Testen mit, durch
und in Scrum
(De)-Motivation
Komplexität heutiger
Software schwer
beherrschbar
Anforderungsdynamik
Heutzutage schwer
beherrschbar
Quelle: Carl Dichter and Chris Tynes, JavaWorld.com, 06/01/97
Quelle: Wikipedia
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
apps
sharepoint
dms
codedui
wpf
junit
tabrisrap
vaadin
jira
bugzillahpqc
testopia
seleniumjenkins
wf
c++
html5
javascript
css
design
php
java
security
netweaver
testcomplete
redmine
cucumber
hybris
typo3 sql server
oracle
mysql
postgresql
bdd
Und wie schaff ich
es Qualität zu
erzeugen wenn
alles so komplex
und dynamisch ist?
Nicht durch Testen
allein!
Aber es hilft schonmal!
Qualität
ist der Grad,
in dem Merkmale
einer Sache
Anforderungen erfüllen
Was ist gute Qualität?
Interne Qualität (Lieferantensicht)

Einfachheit, Wartbarkeit, Erweiterbarkeit
Fehlerfreiheit
Dokumentation, Architekturen, Programmcode
Prozesse, Methoden
Basis für...
Externe Qualität (Kundensicht)

Zufriedenheit, Erwartung
Erfüllung der Anforderungen
Funktionsumfang
Usability
Fehlerfreiheit
Audit
DIN ISO/IEC 25000 Software engineering
Software product Quality Requirements and
Evaluation (SQuaRE)
Qualitätskriterien und Bewertung von
Softwareprodukten
Funktionalität
Zuverlässigkeit
Wartbarkeit
Benutzbarkeit
Ausgereiftheit
Verfügbarkeit
Fehlertoleranz
Wiederherstellbarkeit
Vollständigkeit
Korrektheit
Angemessenheit
Effizienz
Antwortzeitverhalten
Ressourcenverbrauch
Kapazität
Angemessenheit
Erlernbarkeit
Bedienbarkeit
Fehlertoleranz
Ästhetik
Barrierefreiheit
Vertraulichkeit
Integrität
Nachweisbarkeit
Verantwortlichkeit
Authentizität
Sicherheit
Koexistenz
Interoperabilität
Kompatibilität
Übertragbarkeit
Anpassungsfähigkeit
Installierbarkeit
Austauschbarkeit
Modularität
Wiederverwendbarkeit
Analysierbarkeit
Modifizierbarkeit
Prüfbarkeit
Produkt Qualität
ISO 25010
… und das soll ich
jetzt alles testen
oder was?
Ja!
Boah! Tut das echt Not?
Ja!
$ !?!

… und was für
Testarten gibt es da so?
TESTARTEN
E2E-Test
Benutzbarkeitstest
Stresstest
Performancetest
Statischer Test
Unit Test
Regressionstest
CodereviewArchitekturreview
Nachtest
Penetrationstest
Sicherheitstest
Usabilitytest
Installationstest
Schnittstellentest
Abnahmetest
Integrationstest
Akzeptanztest
Funktionstest
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


Testen
Ein Bug
darf keinen
Sonnenuntergang
erleben!
TESTZIEL
TESTSTUFE
TESTART
erreichen in
testen mittels
Gebrauchstauglichkeit
Akzeptanztest
Lasttest
Schnittstellentest
Funktion ist richtig umgesetzt
System ist schnell
Schnittstelle funktioniert
?
Teststufen
Anforderungen
Funktionaler
Entwurf
Technischer
Entwurf
Komponenten
Spezifikation
Entwicklung
Modultest
Performance-
Test
Systemtest
Abnahmetest
Akzeptanztest
Integrations-
test
ZIEL
Scrum
Anforderungen
Entwurf
Programmierung Test
Noch Water Scrum:
Was soll das heißen:
„Testen ist
integraler Bestandteil
der Entwicklung“?
Es war einmal …
… ein Team
… ein Team ?
T
Team Orangerot 1
Unittest
Programmierung
Test
Durchführung
Testfall-
erstellung
Fixing
Feature
Freeze
Unittest
Programmierung
Test
Durchführung
Testfall-
erstellung
Fixing
Feature
Freeze
Fixing
Feature
Freeze
Lasttestdurchführung
Systemtestdurchführung
Explore Explore
Team Orangerot 1
Das geht so nicht – wir
müssen den Test
entzerren!
Team Feuerrot
Unittest
Programmierung
Testfall-
erstellung
Fixing
Unittest
Programmierung
Test-
durchführung
Fixing
Feature
Freeze
Lasttestdurchführung
Systemtestdurchführung
Explore
GUI-Automatisierung
Fixing
Testfall-
erstellung
Team Feuerrot
OK, is klar!
Wir machen jetzt doch
alles in einem Sprint
und wir automatisieren,
damit es am Ende nicht so
eng wird!
AUTOMATISIEREN
WARUM?
Projektlaufzeit
Testaufwand
niedrig
hoch
AUTOMATISIEREN
DARUM!
… und natürlich weil nicht alles manuell geht
(Lasttests, Performancetests, Schnittstellentests, …)
Unittest
Programmierung
Fix
GUI-Automatisierung
Fixing
Feature
Freeze
Lasttestdurchführung
Systemtestdurchführung
Explore
Explore
GUI-Automatisierung
Unittest
Programmierung
Fix
Explore
Team Orangerot 2
Test
Durchführung
Testfall-
erstellung
Test
Durchführung
Testfall-
erstellung
Das ist hier die Frage
GUI
oder nicht
GUI
Projektlaufzeit
Test-
automatisierungs-
aufwand
niedrig
hoch
Testautomatisierung
Explorativ
System-,
Performancetest
Akzeptanztest
Unit-, Integrationstest
Manuell
Automatisiert
GUI-Automatisierung
immer bewusst machen
und niemals alles!
GUI-Automatisierung
GF 3 GF 4.1 GF 1.2 GF 1.1 GF 5
Aufwand
Risiko
GF 7
hochniedrig
niedrig
hoch
Team Orangerot 2
OK OK,
wir automatisieren
also ganz viel
Akzeptanztests
und nur
wichtige GUI-Tests!
Akzeptanz…
…wie geht das in Scrum?
Wer sichert die Qualität
der Anforderungen?
Definition of Ready
Quality Gate
für
User Stories
*Haben nicht den Anspruch Anforderungen umfassend zu dokumentieren
Card
Conversation
*Abwehr
Als Fußballverein
möchte eine gute Abwehr haben
damit ich wenig Tore reinkrieg
Confirmation
Confirmation
Akzeptanzkriterien (Testbasis)
Herstellung der Messbarkeit
DoR  Story bereit zur Umsetzung
DoD  Abnahme der Story
… und wie erzeuge ich
gute Akzeptanzkriterien?
Conversation
ATDD
Conversation
BDD
VERHALTEN
TREIBT
ENTWICKLUNG
BEHAVIOR
DRIVEN
DEVELOPMENT
UBIQUITÄRE SPRACHE
GHERKIN
ALLE VERSTEHEN ES
SZENARIEN MIT
GIVEN WHEN THEN
ANGENOMMEN WENN DANN
Akzeptanzkriterien
Szenario: Zwei Zahlen addieren
Angenommen die erste Zahl ist 50
Und die zweite Zahl ist 80
Wenn ich addieren auswähle
Dann muss das Ergebnis 130 sein
Szenario: Drei Zahlen addieren
Angenommen die erste Zahl ist 50
Und die zweite Zahl ist 80
Und die dritte Zahl ist 20
Wenn ich addieren auswähle
Dann muss das Ergebnis 150 sein
… und das geht auch
automatisiert?
Wie denn?
Client
View
Model
Businesslogik
Controller
Ressourcen
Request
Response
Select
?
?
Addieren
Als Benutzer
möchte ich Zahlen addieren können
damit ich Zeit beim Rechnen spare
User Story schreiben
Akzeptanzkriterien ausarbeiten
Glue Code schreiben
Unittest Code schreiben
Code schreiben
Ready
Done
[Then(@"the result should be (.*) on the screen")]
public void ThenTheResultShouldBeOnTheScreen(decimal p0)
{
Assert.AreEqual(p0, result);
}
Assert.AreEqual(130, calculator.result);
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!!!
BDD ist toll! Ist das denn die
Lösung für alles?
Ina Einemann (HEC GmbH)
BDD - die Lösung aller Probleme?
Nö!
Geht denn auch
GUI-Automatisierung und
testgetriebene Entwicklung?
Björn Seebeck (HEC GmbH)
Jubula im Softwareentwicklungsprozess
Jo!
Team Orange
Unittest
Programmierung
Autom. Akzeptanztests
Fix
GUI-Automatisierung
Fixing
Feature
Freeze
Lasttestdurchführung
Systemtestdurchführung
Explore
Explore
GUI-Automatisierung
Unittest
Programmierung
Autom. Akzeptanztests
Fix
Explore
Wann finden denn
Performancetests statt?
Immer, kontinuierlich und so früh
wie möglich.
So früh wie möglich.
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
Team Orange
Herrje!
Dann machen wir den
System- und
Performancetest eben
parallel!
Aber dafür brauchen wir
ein extra Team!
Team Gelb
Unittest
Programmierung
Autom. Akzeptanztests
Fix Fixing
Explore
Explore
Unittest
Programmierung
Autom. Akzeptanztests
Fix
ExploreGUI-Automatisierung
Last- / Systemtest
$ !?!

Team Gelb
Team Grün
Unittest
Programmierung
Autom. Akzeptanztests
Fix Fixing
Explore
Explore
Unittest
Programmierung
Autom. Akzeptanztests
Fix
GUI- / Last- / Systemtest ExploreGUI- / Last- / Systemtest
Team Grün
Jetzt ist alles schön.
So machen wir für
immer weiter!
Team Rosa
OK!!!
Wir
bleiben
dran!
PLAN
DOCHECK
ACT
Scrum
BDD ATDD
eXtreme
Soziale Kompetenz
Grundlage für Team Grün
Und wie macht man
das dann mit mehreren
Teams?
Product
Owner
Scrum
Master
Community of
practice
Scrum of
Scrums
Head of
PO
Teststrategie
Fazit
Team ?
Develop
Stories
Test
Stories
Test
Issues
Fixing
Acceptance
Test
Regression
Test Develop
Stories
Test
Stories
Test
Issues
Fixing
Acceptance
Test
Regression
Test
Develop
Stories
Test
Stories
Test
Issues
Fixing
Acceptance
Test
Regression
Test
Testen mit, durch und in Scrum
Frank Düsterbeck
frank.duesterbeck@HEC.de
@fduesterbeck
de.slideshare.net/fduesterbeck

Weitere ähnliche Inhalte

PDF
Agiles Testen (German)
PPTX
Ich will agil testen! was muss ich können iqnite 2014 - verison 2.0
PPTX
Agiles Testen - Überblick
PPT
Agiles Testen
PPT
Automatisation des tests
PPT
Agile testing
PPTX
Automatisation des tests - objectifs et concepts - partie 1
Agiles Testen (German)
Ich will agil testen! was muss ich können iqnite 2014 - verison 2.0
Agiles Testen - Überblick
Agiles Testen
Automatisation des tests
Agile testing
Automatisation des tests - objectifs et concepts - partie 1

Was ist angesagt? (20)

PPT
Scrum Testing Methodology
PPTX
Testing strategy for agile projects updated
PDF
Test Automation
PPT
Stratégie de tests type
PDF
Introduction to Software Test Automation
DOCX
DevOps Resume of Sanu Panji
PDF
Robot Framework Introduction
PPT
Test automation process
PPTX
TestOps and Shift Left
PPT
Types de tests vs techniques de tests
PPTX
Agile Testing and Test Automation
PDF
Automation testing introduction for FujiNet
PPTX
QA Best Practices in Agile World_new
PPTX
Git & GitLab
PDF
Hands-On Introduction to Kubernetes at LISA17
PPTX
Jenkins presentation
PDF
Deploying your first application with Kubernetes
PPTX
Behavior driven development (bdd)
PDF
An introduction to unit testing
PPTX
Jenkins CI presentation
Scrum Testing Methodology
Testing strategy for agile projects updated
Test Automation
Stratégie de tests type
Introduction to Software Test Automation
DevOps Resume of Sanu Panji
Robot Framework Introduction
Test automation process
TestOps and Shift Left
Types de tests vs techniques de tests
Agile Testing and Test Automation
Automation testing introduction for FujiNet
QA Best Practices in Agile World_new
Git & GitLab
Hands-On Introduction to Kubernetes at LISA17
Jenkins presentation
Deploying your first application with Kubernetes
Behavior driven development (bdd)
An introduction to unit testing
Jenkins CI presentation
Anzeige

Ähnlich wie Testen mit, durch und in Scrum (20)

PPTX
Dev ops testautomatisierer bei Technosoft
PPT
objectiF extrem
PPTX
Das funktionierte doch schon einmal! - JUnit Testing in XPages
PDF
Best Practices für TDD in JavaScript
PDF
Whitepaper QF-Test: GUI Testautomatisierung macht Spaß
PDF
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
PDF
JavaScript und trotzdem Softwerker
PDF
Testing XAML-based Windows Store Apps mit VS 2013
PPTX
Codeception VisualCeption
PPT
Testgetriebene Softwareentwicklung
PDF
Der Agile Qualitätsbaukasten - PHP Unconference 2014
PDF
QF-Test - das Tool für professionelle GUI-Testautomatisierung von Desktop-, W...
PDF
Was Manager über agile Entwicklungspraktiken wissen müssen
PPTX
XPages Full HD
PPTX
Test-Alternativen
PPTX
Advanced Continuous Integration
PDF
Softwarequalitätssicherung mit Continuous Integration Tools
PPTX
TDD mit ABAP Units
PPTX
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
PDF
Hightway to Hell - Responsive Webdesign Testen
Dev ops testautomatisierer bei Technosoft
objectiF extrem
Das funktionierte doch schon einmal! - JUnit Testing in XPages
Best Practices für TDD in JavaScript
Whitepaper QF-Test: GUI Testautomatisierung macht Spaß
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
JavaScript und trotzdem Softwerker
Testing XAML-based Windows Store Apps mit VS 2013
Codeception VisualCeption
Testgetriebene Softwareentwicklung
Der Agile Qualitätsbaukasten - PHP Unconference 2014
QF-Test - das Tool für professionelle GUI-Testautomatisierung von Desktop-, W...
Was Manager über agile Entwicklungspraktiken wissen müssen
XPages Full HD
Test-Alternativen
Advanced Continuous Integration
Softwarequalitätssicherung mit Continuous Integration Tools
TDD mit ABAP Units
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Hightway to Hell - Responsive Webdesign Testen
Anzeige

Mehr von Frank Düsterbeck (11)

PDF
Meine! Deine! Keine! Verantwortung in agilen Teams
PDF
DoPI – endlich Projekte vernünftig starten mit der Definition of Project Init...
PDF
Agil ist nicht genug
PDF
Selbstorganisierte agile Teams
PDF
Adaptionsfähige Organisationen - SEACON
PDF
Hurra wir werden agil - aber wie?
PDF
Willkommen in der Postmoderne - Organisation und Führung im Innovationswettbe...
PDF
Anforderungen haben immer Schuld
PDF
Die Zusammenarbeit des Scrum-Teams – Soziale Herausforderungen als Chance und...
PDF
GPM Vortrag: Modernes Management von Softwareprojekten
PDF
Planlos mit Plan
Meine! Deine! Keine! Verantwortung in agilen Teams
DoPI – endlich Projekte vernünftig starten mit der Definition of Project Init...
Agil ist nicht genug
Selbstorganisierte agile Teams
Adaptionsfähige Organisationen - SEACON
Hurra wir werden agil - aber wie?
Willkommen in der Postmoderne - Organisation und Führung im Innovationswettbe...
Anforderungen haben immer Schuld
Die Zusammenarbeit des Scrum-Teams – Soziale Herausforderungen als Chance und...
GPM Vortrag: Modernes Management von Softwareprojekten
Planlos mit Plan

Testen mit, durch und in Scrum