integration test hell

34
codecentric AG David Völkel SEACON 2014 09.05.2014 INTEGRATION TEST HELL ODER WIE INTEGRATIV SOLL ICH TESTEN?

Upload: david-voelkel

Post on 19-Jul-2015

325 views

Category:

Software


0 download

TRANSCRIPT

codecentric AG

David Voumllkel ndash SEACON 2014 ndash 09052014

INTEGRATION TEST HELL ODER WIE INTEGRATIV SOLL ICH TESTEN

codecentric AG

DAVID VOumlLKEL

2

IT-Consultant

Schwerpunkte

Test-Driven Development

Softwaredesign amp Clean Code

Software Craftsman softwerkskammer

Twitter davidvoelkel

codecentric AG

isoliert

integriert

3

httpwwwjeasyuicomtutorialappcrudphp

AUTOMATISIERTE TESTS

vs

codecentric AG

$(isoliert)

$(integriert)

4

httpwwwjeasyuicomtutorialappcrudphp

TESTKOSTEN

codecentric AG

$(isolierter)

$(integrierter) $(viele integrierte)

5

httpwwwjeasyuicomtutorialappcrudphp

WELCOME TO INTEGRATION TEST HELL

codecentric AG

Testpyramide

Orthogonale Dekomposition

- Akzeptanztests

- UI-Tests

Fazit

Diskussion

AGENDA

codecentric AG

TESTPYRAMIDE = EFFEKTIVE TESTSTRATEGIE

7

UI

Service

Unit Inte

gra

tio

nsg

rad

Nach Mike Cohn

codecentric AG

$Wert(Tests) = Nutzen - Kosten

WELCHES QUALITAumlTSLEVEL

Ausrichtung an Risiken des Kontexts

Integrative Tests fuumlr risikobehaftete Teile

Test-Aufwand

bull Integrationsgrad

bull 20 80

Risiken senken

bull Domaumlne Prototyp sicherheitskritischhellip

bull Verteilung in App

8

codecentric AG

Isoliert

Integriert

Erstellung amp Wartung billig teuer

Feedback schnell langsam

Fehlerfindung einfach schwer

Fragilitaumlt gering hoch

Aussagekraft Nutzer mittel hoch

9

httpwwwjeasyuicomtutorialappcrudphp

WARUM TEUER

codecentric AG

Isoliert

Integriert

Staumlrken Komplexe Logik

(bdquokombinatorische

Explosionldquo)

Conditionals Breite

Integration

Datenfluumlsse Tiefe

10

httpwwwjeasyuicomtutorialappcrudphp

WELCHER TESTLING

codecentric AG

Vermischung Verantwortlichkeiten

Integration

Logik

UumlBERLADENE INTEGRATIONSTESTS

11

codecentric AG

bdquoSingle Responsibility Principleldquo fuumlr Tests

ORTHOGONALE DEKOMPOSITION

12

codecentric AG

bdquoBREITldquo amp bdquoTIEFldquo

Inte

gra

tive

Tests

Isolierte Tests amp orthogonal

13

codecentric AG Inspiriert durch the testing icebergldquo von Seb Rose Matt Wynne

DIMENSION FACHLICHKEIT

Akzeptanztests

Entwicklertests

Fachlichkeit

Inte

gra

tio

nsgra

d

14

codecentric AG

AKZEPTANZTEST = GUI-TEST

15

UI

Service

Unit

HELL YEAH

Naives Verstaumlndnis von

bdquoATDD treibt Features E2Eldquo

bdquoTesting Ice Cream Coneldquo Inspiriert durch Alister Scott

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

16

Akzeptanztests

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

17

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

18

codecentric AG

N integrative Webtests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

19

codecentric AG

1 integrativer Webtest

N x Isolierte Tests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

GUIrender(email)

ValidatorvalidiationMessage(email)

20

codecentric AG

Analog zum Akzeptanztestbeispiel

1 integrativer HTTP-Test

N x Isolierte Tests

BEISPIEL WEB-SERVICE

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

hellip

REST-Endpoint

ValidatorFacadevalidate(email)

21

codecentric AG

E2E

Compo

nent

Unit

UI-TEST-PYRAMIDE

Inte

gra

tio

nsg

rad

UI-Tests = E2E-Tests

22

codecentric AG

vollintegriert bis Backend

fuumlr

Zusammenspiel mit Backend

Kaum Logik zB CRUD

einfache Workflows

Schwer testbares Legacy

UI

E2E

Compo nent

Unit

(UI-)E2E-TESTS

23

Back-

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Minimal-Workflow

24

codecentric AG

UI-LAYER

Komponententest

Testbarkeit noumltig

Fat Client

SPA + REST

server-side rendering

E2E

Compo nent

Unit

25

UI

Mock

Back

end

codecentric AG

UI-LAYER

E2E

Compo nent

Unit

fuumlr

UI-Workflows mit wenig

Backend-Interaktion

Session-Status

26

UI

Mock

Back

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Mail-Bearbeitung

27

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

DAVID VOumlLKEL

2

IT-Consultant

Schwerpunkte

Test-Driven Development

Softwaredesign amp Clean Code

Software Craftsman softwerkskammer

Twitter davidvoelkel

codecentric AG

isoliert

integriert

3

httpwwwjeasyuicomtutorialappcrudphp

AUTOMATISIERTE TESTS

vs

codecentric AG

$(isoliert)

$(integriert)

4

httpwwwjeasyuicomtutorialappcrudphp

TESTKOSTEN

codecentric AG

$(isolierter)

$(integrierter) $(viele integrierte)

5

httpwwwjeasyuicomtutorialappcrudphp

WELCOME TO INTEGRATION TEST HELL

codecentric AG

Testpyramide

Orthogonale Dekomposition

- Akzeptanztests

- UI-Tests

Fazit

Diskussion

AGENDA

codecentric AG

TESTPYRAMIDE = EFFEKTIVE TESTSTRATEGIE

7

UI

Service

Unit Inte

gra

tio

nsg

rad

Nach Mike Cohn

codecentric AG

$Wert(Tests) = Nutzen - Kosten

WELCHES QUALITAumlTSLEVEL

Ausrichtung an Risiken des Kontexts

Integrative Tests fuumlr risikobehaftete Teile

Test-Aufwand

bull Integrationsgrad

bull 20 80

Risiken senken

bull Domaumlne Prototyp sicherheitskritischhellip

bull Verteilung in App

8

codecentric AG

Isoliert

Integriert

Erstellung amp Wartung billig teuer

Feedback schnell langsam

Fehlerfindung einfach schwer

Fragilitaumlt gering hoch

Aussagekraft Nutzer mittel hoch

9

httpwwwjeasyuicomtutorialappcrudphp

WARUM TEUER

codecentric AG

Isoliert

Integriert

Staumlrken Komplexe Logik

(bdquokombinatorische

Explosionldquo)

Conditionals Breite

Integration

Datenfluumlsse Tiefe

10

httpwwwjeasyuicomtutorialappcrudphp

WELCHER TESTLING

codecentric AG

Vermischung Verantwortlichkeiten

Integration

Logik

UumlBERLADENE INTEGRATIONSTESTS

11

codecentric AG

bdquoSingle Responsibility Principleldquo fuumlr Tests

ORTHOGONALE DEKOMPOSITION

12

codecentric AG

bdquoBREITldquo amp bdquoTIEFldquo

Inte

gra

tive

Tests

Isolierte Tests amp orthogonal

13

codecentric AG Inspiriert durch the testing icebergldquo von Seb Rose Matt Wynne

DIMENSION FACHLICHKEIT

Akzeptanztests

Entwicklertests

Fachlichkeit

Inte

gra

tio

nsgra

d

14

codecentric AG

AKZEPTANZTEST = GUI-TEST

15

UI

Service

Unit

HELL YEAH

Naives Verstaumlndnis von

bdquoATDD treibt Features E2Eldquo

bdquoTesting Ice Cream Coneldquo Inspiriert durch Alister Scott

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

16

Akzeptanztests

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

17

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

18

codecentric AG

N integrative Webtests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

19

codecentric AG

1 integrativer Webtest

N x Isolierte Tests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

GUIrender(email)

ValidatorvalidiationMessage(email)

20

codecentric AG

Analog zum Akzeptanztestbeispiel

1 integrativer HTTP-Test

N x Isolierte Tests

BEISPIEL WEB-SERVICE

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

hellip

REST-Endpoint

ValidatorFacadevalidate(email)

21

codecentric AG

E2E

Compo

nent

Unit

UI-TEST-PYRAMIDE

Inte

gra

tio

nsg

rad

UI-Tests = E2E-Tests

22

codecentric AG

vollintegriert bis Backend

fuumlr

Zusammenspiel mit Backend

Kaum Logik zB CRUD

einfache Workflows

Schwer testbares Legacy

UI

E2E

Compo nent

Unit

(UI-)E2E-TESTS

23

Back-

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Minimal-Workflow

24

codecentric AG

UI-LAYER

Komponententest

Testbarkeit noumltig

Fat Client

SPA + REST

server-side rendering

E2E

Compo nent

Unit

25

UI

Mock

Back

end

codecentric AG

UI-LAYER

E2E

Compo nent

Unit

fuumlr

UI-Workflows mit wenig

Backend-Interaktion

Session-Status

26

UI

Mock

Back

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Mail-Bearbeitung

27

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

isoliert

integriert

3

httpwwwjeasyuicomtutorialappcrudphp

AUTOMATISIERTE TESTS

vs

codecentric AG

$(isoliert)

$(integriert)

4

httpwwwjeasyuicomtutorialappcrudphp

TESTKOSTEN

codecentric AG

$(isolierter)

$(integrierter) $(viele integrierte)

5

httpwwwjeasyuicomtutorialappcrudphp

WELCOME TO INTEGRATION TEST HELL

codecentric AG

Testpyramide

Orthogonale Dekomposition

- Akzeptanztests

- UI-Tests

Fazit

Diskussion

AGENDA

codecentric AG

TESTPYRAMIDE = EFFEKTIVE TESTSTRATEGIE

7

UI

Service

Unit Inte

gra

tio

nsg

rad

Nach Mike Cohn

codecentric AG

$Wert(Tests) = Nutzen - Kosten

WELCHES QUALITAumlTSLEVEL

Ausrichtung an Risiken des Kontexts

Integrative Tests fuumlr risikobehaftete Teile

Test-Aufwand

bull Integrationsgrad

bull 20 80

Risiken senken

bull Domaumlne Prototyp sicherheitskritischhellip

bull Verteilung in App

8

codecentric AG

Isoliert

Integriert

Erstellung amp Wartung billig teuer

Feedback schnell langsam

Fehlerfindung einfach schwer

Fragilitaumlt gering hoch

Aussagekraft Nutzer mittel hoch

9

httpwwwjeasyuicomtutorialappcrudphp

WARUM TEUER

codecentric AG

Isoliert

Integriert

Staumlrken Komplexe Logik

(bdquokombinatorische

Explosionldquo)

Conditionals Breite

Integration

Datenfluumlsse Tiefe

10

httpwwwjeasyuicomtutorialappcrudphp

WELCHER TESTLING

codecentric AG

Vermischung Verantwortlichkeiten

Integration

Logik

UumlBERLADENE INTEGRATIONSTESTS

11

codecentric AG

bdquoSingle Responsibility Principleldquo fuumlr Tests

ORTHOGONALE DEKOMPOSITION

12

codecentric AG

bdquoBREITldquo amp bdquoTIEFldquo

Inte

gra

tive

Tests

Isolierte Tests amp orthogonal

13

codecentric AG Inspiriert durch the testing icebergldquo von Seb Rose Matt Wynne

DIMENSION FACHLICHKEIT

Akzeptanztests

Entwicklertests

Fachlichkeit

Inte

gra

tio

nsgra

d

14

codecentric AG

AKZEPTANZTEST = GUI-TEST

15

UI

Service

Unit

HELL YEAH

Naives Verstaumlndnis von

bdquoATDD treibt Features E2Eldquo

bdquoTesting Ice Cream Coneldquo Inspiriert durch Alister Scott

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

16

Akzeptanztests

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

17

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

18

codecentric AG

N integrative Webtests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

19

codecentric AG

1 integrativer Webtest

N x Isolierte Tests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

GUIrender(email)

ValidatorvalidiationMessage(email)

20

codecentric AG

Analog zum Akzeptanztestbeispiel

1 integrativer HTTP-Test

N x Isolierte Tests

BEISPIEL WEB-SERVICE

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

hellip

REST-Endpoint

ValidatorFacadevalidate(email)

21

codecentric AG

E2E

Compo

nent

Unit

UI-TEST-PYRAMIDE

Inte

gra

tio

nsg

rad

UI-Tests = E2E-Tests

22

codecentric AG

vollintegriert bis Backend

fuumlr

Zusammenspiel mit Backend

Kaum Logik zB CRUD

einfache Workflows

Schwer testbares Legacy

UI

E2E

Compo nent

Unit

(UI-)E2E-TESTS

23

Back-

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Minimal-Workflow

24

codecentric AG

UI-LAYER

Komponententest

Testbarkeit noumltig

Fat Client

SPA + REST

server-side rendering

E2E

Compo nent

Unit

25

UI

Mock

Back

end

codecentric AG

UI-LAYER

E2E

Compo nent

Unit

fuumlr

UI-Workflows mit wenig

Backend-Interaktion

Session-Status

26

UI

Mock

Back

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Mail-Bearbeitung

27

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

$(isoliert)

$(integriert)

4

httpwwwjeasyuicomtutorialappcrudphp

TESTKOSTEN

codecentric AG

$(isolierter)

$(integrierter) $(viele integrierte)

5

httpwwwjeasyuicomtutorialappcrudphp

WELCOME TO INTEGRATION TEST HELL

codecentric AG

Testpyramide

Orthogonale Dekomposition

- Akzeptanztests

- UI-Tests

Fazit

Diskussion

AGENDA

codecentric AG

TESTPYRAMIDE = EFFEKTIVE TESTSTRATEGIE

7

UI

Service

Unit Inte

gra

tio

nsg

rad

Nach Mike Cohn

codecentric AG

$Wert(Tests) = Nutzen - Kosten

WELCHES QUALITAumlTSLEVEL

Ausrichtung an Risiken des Kontexts

Integrative Tests fuumlr risikobehaftete Teile

Test-Aufwand

bull Integrationsgrad

bull 20 80

Risiken senken

bull Domaumlne Prototyp sicherheitskritischhellip

bull Verteilung in App

8

codecentric AG

Isoliert

Integriert

Erstellung amp Wartung billig teuer

Feedback schnell langsam

Fehlerfindung einfach schwer

Fragilitaumlt gering hoch

Aussagekraft Nutzer mittel hoch

9

httpwwwjeasyuicomtutorialappcrudphp

WARUM TEUER

codecentric AG

Isoliert

Integriert

Staumlrken Komplexe Logik

(bdquokombinatorische

Explosionldquo)

Conditionals Breite

Integration

Datenfluumlsse Tiefe

10

httpwwwjeasyuicomtutorialappcrudphp

WELCHER TESTLING

codecentric AG

Vermischung Verantwortlichkeiten

Integration

Logik

UumlBERLADENE INTEGRATIONSTESTS

11

codecentric AG

bdquoSingle Responsibility Principleldquo fuumlr Tests

ORTHOGONALE DEKOMPOSITION

12

codecentric AG

bdquoBREITldquo amp bdquoTIEFldquo

Inte

gra

tive

Tests

Isolierte Tests amp orthogonal

13

codecentric AG Inspiriert durch the testing icebergldquo von Seb Rose Matt Wynne

DIMENSION FACHLICHKEIT

Akzeptanztests

Entwicklertests

Fachlichkeit

Inte

gra

tio

nsgra

d

14

codecentric AG

AKZEPTANZTEST = GUI-TEST

15

UI

Service

Unit

HELL YEAH

Naives Verstaumlndnis von

bdquoATDD treibt Features E2Eldquo

bdquoTesting Ice Cream Coneldquo Inspiriert durch Alister Scott

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

16

Akzeptanztests

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

17

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

18

codecentric AG

N integrative Webtests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

19

codecentric AG

1 integrativer Webtest

N x Isolierte Tests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

GUIrender(email)

ValidatorvalidiationMessage(email)

20

codecentric AG

Analog zum Akzeptanztestbeispiel

1 integrativer HTTP-Test

N x Isolierte Tests

BEISPIEL WEB-SERVICE

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

hellip

REST-Endpoint

ValidatorFacadevalidate(email)

21

codecentric AG

E2E

Compo

nent

Unit

UI-TEST-PYRAMIDE

Inte

gra

tio

nsg

rad

UI-Tests = E2E-Tests

22

codecentric AG

vollintegriert bis Backend

fuumlr

Zusammenspiel mit Backend

Kaum Logik zB CRUD

einfache Workflows

Schwer testbares Legacy

UI

E2E

Compo nent

Unit

(UI-)E2E-TESTS

23

Back-

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Minimal-Workflow

24

codecentric AG

UI-LAYER

Komponententest

Testbarkeit noumltig

Fat Client

SPA + REST

server-side rendering

E2E

Compo nent

Unit

25

UI

Mock

Back

end

codecentric AG

UI-LAYER

E2E

Compo nent

Unit

fuumlr

UI-Workflows mit wenig

Backend-Interaktion

Session-Status

26

UI

Mock

Back

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Mail-Bearbeitung

27

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

$(isolierter)

$(integrierter) $(viele integrierte)

5

httpwwwjeasyuicomtutorialappcrudphp

WELCOME TO INTEGRATION TEST HELL

codecentric AG

Testpyramide

Orthogonale Dekomposition

- Akzeptanztests

- UI-Tests

Fazit

Diskussion

AGENDA

codecentric AG

TESTPYRAMIDE = EFFEKTIVE TESTSTRATEGIE

7

UI

Service

Unit Inte

gra

tio

nsg

rad

Nach Mike Cohn

codecentric AG

$Wert(Tests) = Nutzen - Kosten

WELCHES QUALITAumlTSLEVEL

Ausrichtung an Risiken des Kontexts

Integrative Tests fuumlr risikobehaftete Teile

Test-Aufwand

bull Integrationsgrad

bull 20 80

Risiken senken

bull Domaumlne Prototyp sicherheitskritischhellip

bull Verteilung in App

8

codecentric AG

Isoliert

Integriert

Erstellung amp Wartung billig teuer

Feedback schnell langsam

Fehlerfindung einfach schwer

Fragilitaumlt gering hoch

Aussagekraft Nutzer mittel hoch

9

httpwwwjeasyuicomtutorialappcrudphp

WARUM TEUER

codecentric AG

Isoliert

Integriert

Staumlrken Komplexe Logik

(bdquokombinatorische

Explosionldquo)

Conditionals Breite

Integration

Datenfluumlsse Tiefe

10

httpwwwjeasyuicomtutorialappcrudphp

WELCHER TESTLING

codecentric AG

Vermischung Verantwortlichkeiten

Integration

Logik

UumlBERLADENE INTEGRATIONSTESTS

11

codecentric AG

bdquoSingle Responsibility Principleldquo fuumlr Tests

ORTHOGONALE DEKOMPOSITION

12

codecentric AG

bdquoBREITldquo amp bdquoTIEFldquo

Inte

gra

tive

Tests

Isolierte Tests amp orthogonal

13

codecentric AG Inspiriert durch the testing icebergldquo von Seb Rose Matt Wynne

DIMENSION FACHLICHKEIT

Akzeptanztests

Entwicklertests

Fachlichkeit

Inte

gra

tio

nsgra

d

14

codecentric AG

AKZEPTANZTEST = GUI-TEST

15

UI

Service

Unit

HELL YEAH

Naives Verstaumlndnis von

bdquoATDD treibt Features E2Eldquo

bdquoTesting Ice Cream Coneldquo Inspiriert durch Alister Scott

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

16

Akzeptanztests

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

17

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

18

codecentric AG

N integrative Webtests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

19

codecentric AG

1 integrativer Webtest

N x Isolierte Tests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

GUIrender(email)

ValidatorvalidiationMessage(email)

20

codecentric AG

Analog zum Akzeptanztestbeispiel

1 integrativer HTTP-Test

N x Isolierte Tests

BEISPIEL WEB-SERVICE

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

hellip

REST-Endpoint

ValidatorFacadevalidate(email)

21

codecentric AG

E2E

Compo

nent

Unit

UI-TEST-PYRAMIDE

Inte

gra

tio

nsg

rad

UI-Tests = E2E-Tests

22

codecentric AG

vollintegriert bis Backend

fuumlr

Zusammenspiel mit Backend

Kaum Logik zB CRUD

einfache Workflows

Schwer testbares Legacy

UI

E2E

Compo nent

Unit

(UI-)E2E-TESTS

23

Back-

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Minimal-Workflow

24

codecentric AG

UI-LAYER

Komponententest

Testbarkeit noumltig

Fat Client

SPA + REST

server-side rendering

E2E

Compo nent

Unit

25

UI

Mock

Back

end

codecentric AG

UI-LAYER

E2E

Compo nent

Unit

fuumlr

UI-Workflows mit wenig

Backend-Interaktion

Session-Status

26

UI

Mock

Back

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Mail-Bearbeitung

27

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

Testpyramide

Orthogonale Dekomposition

- Akzeptanztests

- UI-Tests

Fazit

Diskussion

AGENDA

codecentric AG

TESTPYRAMIDE = EFFEKTIVE TESTSTRATEGIE

7

UI

Service

Unit Inte

gra

tio

nsg

rad

Nach Mike Cohn

codecentric AG

$Wert(Tests) = Nutzen - Kosten

WELCHES QUALITAumlTSLEVEL

Ausrichtung an Risiken des Kontexts

Integrative Tests fuumlr risikobehaftete Teile

Test-Aufwand

bull Integrationsgrad

bull 20 80

Risiken senken

bull Domaumlne Prototyp sicherheitskritischhellip

bull Verteilung in App

8

codecentric AG

Isoliert

Integriert

Erstellung amp Wartung billig teuer

Feedback schnell langsam

Fehlerfindung einfach schwer

Fragilitaumlt gering hoch

Aussagekraft Nutzer mittel hoch

9

httpwwwjeasyuicomtutorialappcrudphp

WARUM TEUER

codecentric AG

Isoliert

Integriert

Staumlrken Komplexe Logik

(bdquokombinatorische

Explosionldquo)

Conditionals Breite

Integration

Datenfluumlsse Tiefe

10

httpwwwjeasyuicomtutorialappcrudphp

WELCHER TESTLING

codecentric AG

Vermischung Verantwortlichkeiten

Integration

Logik

UumlBERLADENE INTEGRATIONSTESTS

11

codecentric AG

bdquoSingle Responsibility Principleldquo fuumlr Tests

ORTHOGONALE DEKOMPOSITION

12

codecentric AG

bdquoBREITldquo amp bdquoTIEFldquo

Inte

gra

tive

Tests

Isolierte Tests amp orthogonal

13

codecentric AG Inspiriert durch the testing icebergldquo von Seb Rose Matt Wynne

DIMENSION FACHLICHKEIT

Akzeptanztests

Entwicklertests

Fachlichkeit

Inte

gra

tio

nsgra

d

14

codecentric AG

AKZEPTANZTEST = GUI-TEST

15

UI

Service

Unit

HELL YEAH

Naives Verstaumlndnis von

bdquoATDD treibt Features E2Eldquo

bdquoTesting Ice Cream Coneldquo Inspiriert durch Alister Scott

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

16

Akzeptanztests

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

17

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

18

codecentric AG

N integrative Webtests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

19

codecentric AG

1 integrativer Webtest

N x Isolierte Tests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

GUIrender(email)

ValidatorvalidiationMessage(email)

20

codecentric AG

Analog zum Akzeptanztestbeispiel

1 integrativer HTTP-Test

N x Isolierte Tests

BEISPIEL WEB-SERVICE

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

hellip

REST-Endpoint

ValidatorFacadevalidate(email)

21

codecentric AG

E2E

Compo

nent

Unit

UI-TEST-PYRAMIDE

Inte

gra

tio

nsg

rad

UI-Tests = E2E-Tests

22

codecentric AG

vollintegriert bis Backend

fuumlr

Zusammenspiel mit Backend

Kaum Logik zB CRUD

einfache Workflows

Schwer testbares Legacy

UI

E2E

Compo nent

Unit

(UI-)E2E-TESTS

23

Back-

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Minimal-Workflow

24

codecentric AG

UI-LAYER

Komponententest

Testbarkeit noumltig

Fat Client

SPA + REST

server-side rendering

E2E

Compo nent

Unit

25

UI

Mock

Back

end

codecentric AG

UI-LAYER

E2E

Compo nent

Unit

fuumlr

UI-Workflows mit wenig

Backend-Interaktion

Session-Status

26

UI

Mock

Back

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Mail-Bearbeitung

27

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

TESTPYRAMIDE = EFFEKTIVE TESTSTRATEGIE

7

UI

Service

Unit Inte

gra

tio

nsg

rad

Nach Mike Cohn

codecentric AG

$Wert(Tests) = Nutzen - Kosten

WELCHES QUALITAumlTSLEVEL

Ausrichtung an Risiken des Kontexts

Integrative Tests fuumlr risikobehaftete Teile

Test-Aufwand

bull Integrationsgrad

bull 20 80

Risiken senken

bull Domaumlne Prototyp sicherheitskritischhellip

bull Verteilung in App

8

codecentric AG

Isoliert

Integriert

Erstellung amp Wartung billig teuer

Feedback schnell langsam

Fehlerfindung einfach schwer

Fragilitaumlt gering hoch

Aussagekraft Nutzer mittel hoch

9

httpwwwjeasyuicomtutorialappcrudphp

WARUM TEUER

codecentric AG

Isoliert

Integriert

Staumlrken Komplexe Logik

(bdquokombinatorische

Explosionldquo)

Conditionals Breite

Integration

Datenfluumlsse Tiefe

10

httpwwwjeasyuicomtutorialappcrudphp

WELCHER TESTLING

codecentric AG

Vermischung Verantwortlichkeiten

Integration

Logik

UumlBERLADENE INTEGRATIONSTESTS

11

codecentric AG

bdquoSingle Responsibility Principleldquo fuumlr Tests

ORTHOGONALE DEKOMPOSITION

12

codecentric AG

bdquoBREITldquo amp bdquoTIEFldquo

Inte

gra

tive

Tests

Isolierte Tests amp orthogonal

13

codecentric AG Inspiriert durch the testing icebergldquo von Seb Rose Matt Wynne

DIMENSION FACHLICHKEIT

Akzeptanztests

Entwicklertests

Fachlichkeit

Inte

gra

tio

nsgra

d

14

codecentric AG

AKZEPTANZTEST = GUI-TEST

15

UI

Service

Unit

HELL YEAH

Naives Verstaumlndnis von

bdquoATDD treibt Features E2Eldquo

bdquoTesting Ice Cream Coneldquo Inspiriert durch Alister Scott

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

16

Akzeptanztests

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

17

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

18

codecentric AG

N integrative Webtests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

19

codecentric AG

1 integrativer Webtest

N x Isolierte Tests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

GUIrender(email)

ValidatorvalidiationMessage(email)

20

codecentric AG

Analog zum Akzeptanztestbeispiel

1 integrativer HTTP-Test

N x Isolierte Tests

BEISPIEL WEB-SERVICE

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

hellip

REST-Endpoint

ValidatorFacadevalidate(email)

21

codecentric AG

E2E

Compo

nent

Unit

UI-TEST-PYRAMIDE

Inte

gra

tio

nsg

rad

UI-Tests = E2E-Tests

22

codecentric AG

vollintegriert bis Backend

fuumlr

Zusammenspiel mit Backend

Kaum Logik zB CRUD

einfache Workflows

Schwer testbares Legacy

UI

E2E

Compo nent

Unit

(UI-)E2E-TESTS

23

Back-

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Minimal-Workflow

24

codecentric AG

UI-LAYER

Komponententest

Testbarkeit noumltig

Fat Client

SPA + REST

server-side rendering

E2E

Compo nent

Unit

25

UI

Mock

Back

end

codecentric AG

UI-LAYER

E2E

Compo nent

Unit

fuumlr

UI-Workflows mit wenig

Backend-Interaktion

Session-Status

26

UI

Mock

Back

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Mail-Bearbeitung

27

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

$Wert(Tests) = Nutzen - Kosten

WELCHES QUALITAumlTSLEVEL

Ausrichtung an Risiken des Kontexts

Integrative Tests fuumlr risikobehaftete Teile

Test-Aufwand

bull Integrationsgrad

bull 20 80

Risiken senken

bull Domaumlne Prototyp sicherheitskritischhellip

bull Verteilung in App

8

codecentric AG

Isoliert

Integriert

Erstellung amp Wartung billig teuer

Feedback schnell langsam

Fehlerfindung einfach schwer

Fragilitaumlt gering hoch

Aussagekraft Nutzer mittel hoch

9

httpwwwjeasyuicomtutorialappcrudphp

WARUM TEUER

codecentric AG

Isoliert

Integriert

Staumlrken Komplexe Logik

(bdquokombinatorische

Explosionldquo)

Conditionals Breite

Integration

Datenfluumlsse Tiefe

10

httpwwwjeasyuicomtutorialappcrudphp

WELCHER TESTLING

codecentric AG

Vermischung Verantwortlichkeiten

Integration

Logik

UumlBERLADENE INTEGRATIONSTESTS

11

codecentric AG

bdquoSingle Responsibility Principleldquo fuumlr Tests

ORTHOGONALE DEKOMPOSITION

12

codecentric AG

bdquoBREITldquo amp bdquoTIEFldquo

Inte

gra

tive

Tests

Isolierte Tests amp orthogonal

13

codecentric AG Inspiriert durch the testing icebergldquo von Seb Rose Matt Wynne

DIMENSION FACHLICHKEIT

Akzeptanztests

Entwicklertests

Fachlichkeit

Inte

gra

tio

nsgra

d

14

codecentric AG

AKZEPTANZTEST = GUI-TEST

15

UI

Service

Unit

HELL YEAH

Naives Verstaumlndnis von

bdquoATDD treibt Features E2Eldquo

bdquoTesting Ice Cream Coneldquo Inspiriert durch Alister Scott

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

16

Akzeptanztests

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

17

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

18

codecentric AG

N integrative Webtests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

19

codecentric AG

1 integrativer Webtest

N x Isolierte Tests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

GUIrender(email)

ValidatorvalidiationMessage(email)

20

codecentric AG

Analog zum Akzeptanztestbeispiel

1 integrativer HTTP-Test

N x Isolierte Tests

BEISPIEL WEB-SERVICE

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

hellip

REST-Endpoint

ValidatorFacadevalidate(email)

21

codecentric AG

E2E

Compo

nent

Unit

UI-TEST-PYRAMIDE

Inte

gra

tio

nsg

rad

UI-Tests = E2E-Tests

22

codecentric AG

vollintegriert bis Backend

fuumlr

Zusammenspiel mit Backend

Kaum Logik zB CRUD

einfache Workflows

Schwer testbares Legacy

UI

E2E

Compo nent

Unit

(UI-)E2E-TESTS

23

Back-

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Minimal-Workflow

24

codecentric AG

UI-LAYER

Komponententest

Testbarkeit noumltig

Fat Client

SPA + REST

server-side rendering

E2E

Compo nent

Unit

25

UI

Mock

Back

end

codecentric AG

UI-LAYER

E2E

Compo nent

Unit

fuumlr

UI-Workflows mit wenig

Backend-Interaktion

Session-Status

26

UI

Mock

Back

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Mail-Bearbeitung

27

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

Isoliert

Integriert

Erstellung amp Wartung billig teuer

Feedback schnell langsam

Fehlerfindung einfach schwer

Fragilitaumlt gering hoch

Aussagekraft Nutzer mittel hoch

9

httpwwwjeasyuicomtutorialappcrudphp

WARUM TEUER

codecentric AG

Isoliert

Integriert

Staumlrken Komplexe Logik

(bdquokombinatorische

Explosionldquo)

Conditionals Breite

Integration

Datenfluumlsse Tiefe

10

httpwwwjeasyuicomtutorialappcrudphp

WELCHER TESTLING

codecentric AG

Vermischung Verantwortlichkeiten

Integration

Logik

UumlBERLADENE INTEGRATIONSTESTS

11

codecentric AG

bdquoSingle Responsibility Principleldquo fuumlr Tests

ORTHOGONALE DEKOMPOSITION

12

codecentric AG

bdquoBREITldquo amp bdquoTIEFldquo

Inte

gra

tive

Tests

Isolierte Tests amp orthogonal

13

codecentric AG Inspiriert durch the testing icebergldquo von Seb Rose Matt Wynne

DIMENSION FACHLICHKEIT

Akzeptanztests

Entwicklertests

Fachlichkeit

Inte

gra

tio

nsgra

d

14

codecentric AG

AKZEPTANZTEST = GUI-TEST

15

UI

Service

Unit

HELL YEAH

Naives Verstaumlndnis von

bdquoATDD treibt Features E2Eldquo

bdquoTesting Ice Cream Coneldquo Inspiriert durch Alister Scott

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

16

Akzeptanztests

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

17

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

18

codecentric AG

N integrative Webtests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

19

codecentric AG

1 integrativer Webtest

N x Isolierte Tests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

GUIrender(email)

ValidatorvalidiationMessage(email)

20

codecentric AG

Analog zum Akzeptanztestbeispiel

1 integrativer HTTP-Test

N x Isolierte Tests

BEISPIEL WEB-SERVICE

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

hellip

REST-Endpoint

ValidatorFacadevalidate(email)

21

codecentric AG

E2E

Compo

nent

Unit

UI-TEST-PYRAMIDE

Inte

gra

tio

nsg

rad

UI-Tests = E2E-Tests

22

codecentric AG

vollintegriert bis Backend

fuumlr

Zusammenspiel mit Backend

Kaum Logik zB CRUD

einfache Workflows

Schwer testbares Legacy

UI

E2E

Compo nent

Unit

(UI-)E2E-TESTS

23

Back-

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Minimal-Workflow

24

codecentric AG

UI-LAYER

Komponententest

Testbarkeit noumltig

Fat Client

SPA + REST

server-side rendering

E2E

Compo nent

Unit

25

UI

Mock

Back

end

codecentric AG

UI-LAYER

E2E

Compo nent

Unit

fuumlr

UI-Workflows mit wenig

Backend-Interaktion

Session-Status

26

UI

Mock

Back

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Mail-Bearbeitung

27

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

Isoliert

Integriert

Staumlrken Komplexe Logik

(bdquokombinatorische

Explosionldquo)

Conditionals Breite

Integration

Datenfluumlsse Tiefe

10

httpwwwjeasyuicomtutorialappcrudphp

WELCHER TESTLING

codecentric AG

Vermischung Verantwortlichkeiten

Integration

Logik

UumlBERLADENE INTEGRATIONSTESTS

11

codecentric AG

bdquoSingle Responsibility Principleldquo fuumlr Tests

ORTHOGONALE DEKOMPOSITION

12

codecentric AG

bdquoBREITldquo amp bdquoTIEFldquo

Inte

gra

tive

Tests

Isolierte Tests amp orthogonal

13

codecentric AG Inspiriert durch the testing icebergldquo von Seb Rose Matt Wynne

DIMENSION FACHLICHKEIT

Akzeptanztests

Entwicklertests

Fachlichkeit

Inte

gra

tio

nsgra

d

14

codecentric AG

AKZEPTANZTEST = GUI-TEST

15

UI

Service

Unit

HELL YEAH

Naives Verstaumlndnis von

bdquoATDD treibt Features E2Eldquo

bdquoTesting Ice Cream Coneldquo Inspiriert durch Alister Scott

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

16

Akzeptanztests

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

17

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

18

codecentric AG

N integrative Webtests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

19

codecentric AG

1 integrativer Webtest

N x Isolierte Tests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

GUIrender(email)

ValidatorvalidiationMessage(email)

20

codecentric AG

Analog zum Akzeptanztestbeispiel

1 integrativer HTTP-Test

N x Isolierte Tests

BEISPIEL WEB-SERVICE

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

hellip

REST-Endpoint

ValidatorFacadevalidate(email)

21

codecentric AG

E2E

Compo

nent

Unit

UI-TEST-PYRAMIDE

Inte

gra

tio

nsg

rad

UI-Tests = E2E-Tests

22

codecentric AG

vollintegriert bis Backend

fuumlr

Zusammenspiel mit Backend

Kaum Logik zB CRUD

einfache Workflows

Schwer testbares Legacy

UI

E2E

Compo nent

Unit

(UI-)E2E-TESTS

23

Back-

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Minimal-Workflow

24

codecentric AG

UI-LAYER

Komponententest

Testbarkeit noumltig

Fat Client

SPA + REST

server-side rendering

E2E

Compo nent

Unit

25

UI

Mock

Back

end

codecentric AG

UI-LAYER

E2E

Compo nent

Unit

fuumlr

UI-Workflows mit wenig

Backend-Interaktion

Session-Status

26

UI

Mock

Back

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Mail-Bearbeitung

27

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

Vermischung Verantwortlichkeiten

Integration

Logik

UumlBERLADENE INTEGRATIONSTESTS

11

codecentric AG

bdquoSingle Responsibility Principleldquo fuumlr Tests

ORTHOGONALE DEKOMPOSITION

12

codecentric AG

bdquoBREITldquo amp bdquoTIEFldquo

Inte

gra

tive

Tests

Isolierte Tests amp orthogonal

13

codecentric AG Inspiriert durch the testing icebergldquo von Seb Rose Matt Wynne

DIMENSION FACHLICHKEIT

Akzeptanztests

Entwicklertests

Fachlichkeit

Inte

gra

tio

nsgra

d

14

codecentric AG

AKZEPTANZTEST = GUI-TEST

15

UI

Service

Unit

HELL YEAH

Naives Verstaumlndnis von

bdquoATDD treibt Features E2Eldquo

bdquoTesting Ice Cream Coneldquo Inspiriert durch Alister Scott

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

16

Akzeptanztests

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

17

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

18

codecentric AG

N integrative Webtests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

19

codecentric AG

1 integrativer Webtest

N x Isolierte Tests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

GUIrender(email)

ValidatorvalidiationMessage(email)

20

codecentric AG

Analog zum Akzeptanztestbeispiel

1 integrativer HTTP-Test

N x Isolierte Tests

BEISPIEL WEB-SERVICE

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

hellip

REST-Endpoint

ValidatorFacadevalidate(email)

21

codecentric AG

E2E

Compo

nent

Unit

UI-TEST-PYRAMIDE

Inte

gra

tio

nsg

rad

UI-Tests = E2E-Tests

22

codecentric AG

vollintegriert bis Backend

fuumlr

Zusammenspiel mit Backend

Kaum Logik zB CRUD

einfache Workflows

Schwer testbares Legacy

UI

E2E

Compo nent

Unit

(UI-)E2E-TESTS

23

Back-

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Minimal-Workflow

24

codecentric AG

UI-LAYER

Komponententest

Testbarkeit noumltig

Fat Client

SPA + REST

server-side rendering

E2E

Compo nent

Unit

25

UI

Mock

Back

end

codecentric AG

UI-LAYER

E2E

Compo nent

Unit

fuumlr

UI-Workflows mit wenig

Backend-Interaktion

Session-Status

26

UI

Mock

Back

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Mail-Bearbeitung

27

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

bdquoSingle Responsibility Principleldquo fuumlr Tests

ORTHOGONALE DEKOMPOSITION

12

codecentric AG

bdquoBREITldquo amp bdquoTIEFldquo

Inte

gra

tive

Tests

Isolierte Tests amp orthogonal

13

codecentric AG Inspiriert durch the testing icebergldquo von Seb Rose Matt Wynne

DIMENSION FACHLICHKEIT

Akzeptanztests

Entwicklertests

Fachlichkeit

Inte

gra

tio

nsgra

d

14

codecentric AG

AKZEPTANZTEST = GUI-TEST

15

UI

Service

Unit

HELL YEAH

Naives Verstaumlndnis von

bdquoATDD treibt Features E2Eldquo

bdquoTesting Ice Cream Coneldquo Inspiriert durch Alister Scott

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

16

Akzeptanztests

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

17

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

18

codecentric AG

N integrative Webtests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

19

codecentric AG

1 integrativer Webtest

N x Isolierte Tests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

GUIrender(email)

ValidatorvalidiationMessage(email)

20

codecentric AG

Analog zum Akzeptanztestbeispiel

1 integrativer HTTP-Test

N x Isolierte Tests

BEISPIEL WEB-SERVICE

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

hellip

REST-Endpoint

ValidatorFacadevalidate(email)

21

codecentric AG

E2E

Compo

nent

Unit

UI-TEST-PYRAMIDE

Inte

gra

tio

nsg

rad

UI-Tests = E2E-Tests

22

codecentric AG

vollintegriert bis Backend

fuumlr

Zusammenspiel mit Backend

Kaum Logik zB CRUD

einfache Workflows

Schwer testbares Legacy

UI

E2E

Compo nent

Unit

(UI-)E2E-TESTS

23

Back-

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Minimal-Workflow

24

codecentric AG

UI-LAYER

Komponententest

Testbarkeit noumltig

Fat Client

SPA + REST

server-side rendering

E2E

Compo nent

Unit

25

UI

Mock

Back

end

codecentric AG

UI-LAYER

E2E

Compo nent

Unit

fuumlr

UI-Workflows mit wenig

Backend-Interaktion

Session-Status

26

UI

Mock

Back

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Mail-Bearbeitung

27

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

bdquoBREITldquo amp bdquoTIEFldquo

Inte

gra

tive

Tests

Isolierte Tests amp orthogonal

13

codecentric AG Inspiriert durch the testing icebergldquo von Seb Rose Matt Wynne

DIMENSION FACHLICHKEIT

Akzeptanztests

Entwicklertests

Fachlichkeit

Inte

gra

tio

nsgra

d

14

codecentric AG

AKZEPTANZTEST = GUI-TEST

15

UI

Service

Unit

HELL YEAH

Naives Verstaumlndnis von

bdquoATDD treibt Features E2Eldquo

bdquoTesting Ice Cream Coneldquo Inspiriert durch Alister Scott

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

16

Akzeptanztests

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

17

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

18

codecentric AG

N integrative Webtests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

19

codecentric AG

1 integrativer Webtest

N x Isolierte Tests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

GUIrender(email)

ValidatorvalidiationMessage(email)

20

codecentric AG

Analog zum Akzeptanztestbeispiel

1 integrativer HTTP-Test

N x Isolierte Tests

BEISPIEL WEB-SERVICE

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

hellip

REST-Endpoint

ValidatorFacadevalidate(email)

21

codecentric AG

E2E

Compo

nent

Unit

UI-TEST-PYRAMIDE

Inte

gra

tio

nsg

rad

UI-Tests = E2E-Tests

22

codecentric AG

vollintegriert bis Backend

fuumlr

Zusammenspiel mit Backend

Kaum Logik zB CRUD

einfache Workflows

Schwer testbares Legacy

UI

E2E

Compo nent

Unit

(UI-)E2E-TESTS

23

Back-

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Minimal-Workflow

24

codecentric AG

UI-LAYER

Komponententest

Testbarkeit noumltig

Fat Client

SPA + REST

server-side rendering

E2E

Compo nent

Unit

25

UI

Mock

Back

end

codecentric AG

UI-LAYER

E2E

Compo nent

Unit

fuumlr

UI-Workflows mit wenig

Backend-Interaktion

Session-Status

26

UI

Mock

Back

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Mail-Bearbeitung

27

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG Inspiriert durch the testing icebergldquo von Seb Rose Matt Wynne

DIMENSION FACHLICHKEIT

Akzeptanztests

Entwicklertests

Fachlichkeit

Inte

gra

tio

nsgra

d

14

codecentric AG

AKZEPTANZTEST = GUI-TEST

15

UI

Service

Unit

HELL YEAH

Naives Verstaumlndnis von

bdquoATDD treibt Features E2Eldquo

bdquoTesting Ice Cream Coneldquo Inspiriert durch Alister Scott

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

16

Akzeptanztests

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

17

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

18

codecentric AG

N integrative Webtests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

19

codecentric AG

1 integrativer Webtest

N x Isolierte Tests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

GUIrender(email)

ValidatorvalidiationMessage(email)

20

codecentric AG

Analog zum Akzeptanztestbeispiel

1 integrativer HTTP-Test

N x Isolierte Tests

BEISPIEL WEB-SERVICE

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

hellip

REST-Endpoint

ValidatorFacadevalidate(email)

21

codecentric AG

E2E

Compo

nent

Unit

UI-TEST-PYRAMIDE

Inte

gra

tio

nsg

rad

UI-Tests = E2E-Tests

22

codecentric AG

vollintegriert bis Backend

fuumlr

Zusammenspiel mit Backend

Kaum Logik zB CRUD

einfache Workflows

Schwer testbares Legacy

UI

E2E

Compo nent

Unit

(UI-)E2E-TESTS

23

Back-

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Minimal-Workflow

24

codecentric AG

UI-LAYER

Komponententest

Testbarkeit noumltig

Fat Client

SPA + REST

server-side rendering

E2E

Compo nent

Unit

25

UI

Mock

Back

end

codecentric AG

UI-LAYER

E2E

Compo nent

Unit

fuumlr

UI-Workflows mit wenig

Backend-Interaktion

Session-Status

26

UI

Mock

Back

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Mail-Bearbeitung

27

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

AKZEPTANZTEST = GUI-TEST

15

UI

Service

Unit

HELL YEAH

Naives Verstaumlndnis von

bdquoATDD treibt Features E2Eldquo

bdquoTesting Ice Cream Coneldquo Inspiriert durch Alister Scott

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

16

Akzeptanztests

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

17

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

18

codecentric AG

N integrative Webtests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

19

codecentric AG

1 integrativer Webtest

N x Isolierte Tests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

GUIrender(email)

ValidatorvalidiationMessage(email)

20

codecentric AG

Analog zum Akzeptanztestbeispiel

1 integrativer HTTP-Test

N x Isolierte Tests

BEISPIEL WEB-SERVICE

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

hellip

REST-Endpoint

ValidatorFacadevalidate(email)

21

codecentric AG

E2E

Compo

nent

Unit

UI-TEST-PYRAMIDE

Inte

gra

tio

nsg

rad

UI-Tests = E2E-Tests

22

codecentric AG

vollintegriert bis Backend

fuumlr

Zusammenspiel mit Backend

Kaum Logik zB CRUD

einfache Workflows

Schwer testbares Legacy

UI

E2E

Compo nent

Unit

(UI-)E2E-TESTS

23

Back-

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Minimal-Workflow

24

codecentric AG

UI-LAYER

Komponententest

Testbarkeit noumltig

Fat Client

SPA + REST

server-side rendering

E2E

Compo nent

Unit

25

UI

Mock

Back

end

codecentric AG

UI-LAYER

E2E

Compo nent

Unit

fuumlr

UI-Workflows mit wenig

Backend-Interaktion

Session-Status

26

UI

Mock

Back

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Mail-Bearbeitung

27

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

16

Akzeptanztests

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

17

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

18

codecentric AG

N integrative Webtests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

19

codecentric AG

1 integrativer Webtest

N x Isolierte Tests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

GUIrender(email)

ValidatorvalidiationMessage(email)

20

codecentric AG

Analog zum Akzeptanztestbeispiel

1 integrativer HTTP-Test

N x Isolierte Tests

BEISPIEL WEB-SERVICE

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

hellip

REST-Endpoint

ValidatorFacadevalidate(email)

21

codecentric AG

E2E

Compo

nent

Unit

UI-TEST-PYRAMIDE

Inte

gra

tio

nsg

rad

UI-Tests = E2E-Tests

22

codecentric AG

vollintegriert bis Backend

fuumlr

Zusammenspiel mit Backend

Kaum Logik zB CRUD

einfache Workflows

Schwer testbares Legacy

UI

E2E

Compo nent

Unit

(UI-)E2E-TESTS

23

Back-

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Minimal-Workflow

24

codecentric AG

UI-LAYER

Komponententest

Testbarkeit noumltig

Fat Client

SPA + REST

server-side rendering

E2E

Compo nent

Unit

25

UI

Mock

Back

end

codecentric AG

UI-LAYER

E2E

Compo nent

Unit

fuumlr

UI-Workflows mit wenig

Backend-Interaktion

Session-Status

26

UI

Mock

Back

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Mail-Bearbeitung

27

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

17

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

18

codecentric AG

N integrative Webtests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

19

codecentric AG

1 integrativer Webtest

N x Isolierte Tests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

GUIrender(email)

ValidatorvalidiationMessage(email)

20

codecentric AG

Analog zum Akzeptanztestbeispiel

1 integrativer HTTP-Test

N x Isolierte Tests

BEISPIEL WEB-SERVICE

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

hellip

REST-Endpoint

ValidatorFacadevalidate(email)

21

codecentric AG

E2E

Compo

nent

Unit

UI-TEST-PYRAMIDE

Inte

gra

tio

nsg

rad

UI-Tests = E2E-Tests

22

codecentric AG

vollintegriert bis Backend

fuumlr

Zusammenspiel mit Backend

Kaum Logik zB CRUD

einfache Workflows

Schwer testbares Legacy

UI

E2E

Compo nent

Unit

(UI-)E2E-TESTS

23

Back-

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Minimal-Workflow

24

codecentric AG

UI-LAYER

Komponententest

Testbarkeit noumltig

Fat Client

SPA + REST

server-side rendering

E2E

Compo nent

Unit

25

UI

Mock

Back

end

codecentric AG

UI-LAYER

E2E

Compo nent

Unit

fuumlr

UI-Workflows mit wenig

Backend-Interaktion

Session-Status

26

UI

Mock

Back

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Mail-Bearbeitung

27

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

AKZEPTANZTESTS AUFSPLITTEN

UI Domain Rules

18

codecentric AG

N integrative Webtests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

19

codecentric AG

1 integrativer Webtest

N x Isolierte Tests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

GUIrender(email)

ValidatorvalidiationMessage(email)

20

codecentric AG

Analog zum Akzeptanztestbeispiel

1 integrativer HTTP-Test

N x Isolierte Tests

BEISPIEL WEB-SERVICE

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

hellip

REST-Endpoint

ValidatorFacadevalidate(email)

21

codecentric AG

E2E

Compo

nent

Unit

UI-TEST-PYRAMIDE

Inte

gra

tio

nsg

rad

UI-Tests = E2E-Tests

22

codecentric AG

vollintegriert bis Backend

fuumlr

Zusammenspiel mit Backend

Kaum Logik zB CRUD

einfache Workflows

Schwer testbares Legacy

UI

E2E

Compo nent

Unit

(UI-)E2E-TESTS

23

Back-

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Minimal-Workflow

24

codecentric AG

UI-LAYER

Komponententest

Testbarkeit noumltig

Fat Client

SPA + REST

server-side rendering

E2E

Compo nent

Unit

25

UI

Mock

Back

end

codecentric AG

UI-LAYER

E2E

Compo nent

Unit

fuumlr

UI-Workflows mit wenig

Backend-Interaktion

Session-Status

26

UI

Mock

Back

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Mail-Bearbeitung

27

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

N integrative Webtests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

19

codecentric AG

1 integrativer Webtest

N x Isolierte Tests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

GUIrender(email)

ValidatorvalidiationMessage(email)

20

codecentric AG

Analog zum Akzeptanztestbeispiel

1 integrativer HTTP-Test

N x Isolierte Tests

BEISPIEL WEB-SERVICE

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

hellip

REST-Endpoint

ValidatorFacadevalidate(email)

21

codecentric AG

E2E

Compo

nent

Unit

UI-TEST-PYRAMIDE

Inte

gra

tio

nsg

rad

UI-Tests = E2E-Tests

22

codecentric AG

vollintegriert bis Backend

fuumlr

Zusammenspiel mit Backend

Kaum Logik zB CRUD

einfache Workflows

Schwer testbares Legacy

UI

E2E

Compo nent

Unit

(UI-)E2E-TESTS

23

Back-

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Minimal-Workflow

24

codecentric AG

UI-LAYER

Komponententest

Testbarkeit noumltig

Fat Client

SPA + REST

server-side rendering

E2E

Compo nent

Unit

25

UI

Mock

Back

end

codecentric AG

UI-LAYER

E2E

Compo nent

Unit

fuumlr

UI-Workflows mit wenig

Backend-Interaktion

Session-Status

26

UI

Mock

Back

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Mail-Bearbeitung

27

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

1 integrativer Webtest

N x Isolierte Tests

BEISPIEL EMAIL-VALIDIERUNG

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

bdquoohne-userdeldquo bdquoEmail unguumlltigldquo

hellip

GUIrender(email)

ValidatorvalidiationMessage(email)

20

codecentric AG

Analog zum Akzeptanztestbeispiel

1 integrativer HTTP-Test

N x Isolierte Tests

BEISPIEL WEB-SERVICE

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

hellip

REST-Endpoint

ValidatorFacadevalidate(email)

21

codecentric AG

E2E

Compo

nent

Unit

UI-TEST-PYRAMIDE

Inte

gra

tio

nsg

rad

UI-Tests = E2E-Tests

22

codecentric AG

vollintegriert bis Backend

fuumlr

Zusammenspiel mit Backend

Kaum Logik zB CRUD

einfache Workflows

Schwer testbares Legacy

UI

E2E

Compo nent

Unit

(UI-)E2E-TESTS

23

Back-

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Minimal-Workflow

24

codecentric AG

UI-LAYER

Komponententest

Testbarkeit noumltig

Fat Client

SPA + REST

server-side rendering

E2E

Compo nent

Unit

25

UI

Mock

Back

end

codecentric AG

UI-LAYER

E2E

Compo nent

Unit

fuumlr

UI-Workflows mit wenig

Backend-Interaktion

Session-Status

26

UI

Mock

Back

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Mail-Bearbeitung

27

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

Analog zum Akzeptanztestbeispiel

1 integrativer HTTP-Test

N x Isolierte Tests

BEISPIEL WEB-SERVICE

Eingabe Ausgabe

bdquogueltigeemaildeldquo bdquoEmail OKldquo

bdquomailohnetldldquo bdquoEmail unguumlltigldquo

bdquomailohneatdeldquo bdquoEmail unguumlltigldquo

hellip

REST-Endpoint

ValidatorFacadevalidate(email)

21

codecentric AG

E2E

Compo

nent

Unit

UI-TEST-PYRAMIDE

Inte

gra

tio

nsg

rad

UI-Tests = E2E-Tests

22

codecentric AG

vollintegriert bis Backend

fuumlr

Zusammenspiel mit Backend

Kaum Logik zB CRUD

einfache Workflows

Schwer testbares Legacy

UI

E2E

Compo nent

Unit

(UI-)E2E-TESTS

23

Back-

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Minimal-Workflow

24

codecentric AG

UI-LAYER

Komponententest

Testbarkeit noumltig

Fat Client

SPA + REST

server-side rendering

E2E

Compo nent

Unit

25

UI

Mock

Back

end

codecentric AG

UI-LAYER

E2E

Compo nent

Unit

fuumlr

UI-Workflows mit wenig

Backend-Interaktion

Session-Status

26

UI

Mock

Back

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Mail-Bearbeitung

27

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

E2E

Compo

nent

Unit

UI-TEST-PYRAMIDE

Inte

gra

tio

nsg

rad

UI-Tests = E2E-Tests

22

codecentric AG

vollintegriert bis Backend

fuumlr

Zusammenspiel mit Backend

Kaum Logik zB CRUD

einfache Workflows

Schwer testbares Legacy

UI

E2E

Compo nent

Unit

(UI-)E2E-TESTS

23

Back-

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Minimal-Workflow

24

codecentric AG

UI-LAYER

Komponententest

Testbarkeit noumltig

Fat Client

SPA + REST

server-side rendering

E2E

Compo nent

Unit

25

UI

Mock

Back

end

codecentric AG

UI-LAYER

E2E

Compo nent

Unit

fuumlr

UI-Workflows mit wenig

Backend-Interaktion

Session-Status

26

UI

Mock

Back

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Mail-Bearbeitung

27

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

vollintegriert bis Backend

fuumlr

Zusammenspiel mit Backend

Kaum Logik zB CRUD

einfache Workflows

Schwer testbares Legacy

UI

E2E

Compo nent

Unit

(UI-)E2E-TESTS

23

Back-

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Minimal-Workflow

24

codecentric AG

UI-LAYER

Komponententest

Testbarkeit noumltig

Fat Client

SPA + REST

server-side rendering

E2E

Compo nent

Unit

25

UI

Mock

Back

end

codecentric AG

UI-LAYER

E2E

Compo nent

Unit

fuumlr

UI-Workflows mit wenig

Backend-Interaktion

Session-Status

26

UI

Mock

Back

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Mail-Bearbeitung

27

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Minimal-Workflow

24

codecentric AG

UI-LAYER

Komponententest

Testbarkeit noumltig

Fat Client

SPA + REST

server-side rendering

E2E

Compo nent

Unit

25

UI

Mock

Back

end

codecentric AG

UI-LAYER

E2E

Compo nent

Unit

fuumlr

UI-Workflows mit wenig

Backend-Interaktion

Session-Status

26

UI

Mock

Back

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Mail-Bearbeitung

27

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

UI-LAYER

Komponententest

Testbarkeit noumltig

Fat Client

SPA + REST

server-side rendering

E2E

Compo nent

Unit

25

UI

Mock

Back

end

codecentric AG

UI-LAYER

E2E

Compo nent

Unit

fuumlr

UI-Workflows mit wenig

Backend-Interaktion

Session-Status

26

UI

Mock

Back

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Mail-Bearbeitung

27

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

UI-LAYER

E2E

Compo nent

Unit

fuumlr

UI-Workflows mit wenig

Backend-Interaktion

Session-Status

26

UI

Mock

Back

end

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Mail-Bearbeitung

27

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

BEISPIEL MAIL-CLIENT

E2E

Compo nent

Unit

Mail-Bearbeitung

27

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

UI-UNIT-TEST

fuumlr komplexe Logik

Werte rendern

MVP Presenter-Logik

E2E

Compo nent

Unit

28

UI

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

BEISPIEL

E2E

Compo nent

Unit

Komplexe Adressformatierung

bdquoD-80687 Muumlnchen Elsenheimerstraszlige 55aldquo

bdquo- Muumlnchen Elsenheimerstraszlige 55aldquo

29

UI

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

FAZIT

UI

Service

Unit

Test Pyramide

bull Orthogonal

bull Integrative Tests Integration amp Tiefe

bull Isolierte Tests Conditionals amp Breite

bull Spitz

bull Ausrichtung an Kontext-Risiken

Orthogonale Dekomposition

bull Akzeptanztests splitten

bull Geschaumlftsregeln

bull UI

bull E2E- UI-Layer- und UI-Unit-Tests

30

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

QUELLEN

bull Buumlcher

bull Specification by Example - Gojko Adzic

bull Growing Object-Oriented Software Guided by Tests - Steve

Freeman Nat Pryce

bull GOOS Mailingliste

bull httpsgroupsgooglecomforumforumgrowing-object-

oriented-software

bull Integrated Tests are a scam - JB Rainsberger

bull httpwwwjbrainscapermalinkusing-integration-tests-

mindfully-a-case-study

bull httpwwwjbrainscapermalinkintegrated-tests-are-a-scam-

part-1

bull The Testing Iceberg - Matt Whyne und Seb Rose

bull httpclaysnowcoukthe-testing-iceberg

31

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

QUELLEN

bull End-to-end Tests

bull httpwwwhigherorderlogiccom201001responding-to-brian-

marick

bull Testing-Pyramide

bull httpmartinfowlercomblikiTestPyramidhtml

bull httpjamescrisporg20110530automated-testing-and-the-

test-pyramid

bull Testing-Ice-Cream-Cone

bull httpwatirmeloncom20120131introducing-the-software-

testing-ice-cream-cone

bull Wartbare Akzeptanztests Jez Humble

bull httpdeslidesharenetjezhumblecreating-maintainable-

automated-acceptance-tests

bull httpskillsmattercompodcastagile-testingthe-long-term-value-

of-acceptance-tests

32

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

FRAGEN UND DISKUSSION

33

Omerzu httpcommonswikimediaorgwikiFileOrange_question_marksvguselang=de

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34

codecentric AG

Attribution-ShareAlike 30 Germany

httpcreativecommonsorglicensesby-sa30de

LIZENZ

34