UND TÄGLICH GRÜßT DER SYSTEMTEST · Spock Geb Webdriver Appium UI-Automation Robotium Sikuli...

Post on 30-May-2020

8 views 0 download

Transcript of UND TÄGLICH GRÜßT DER SYSTEMTEST · Spock Geb Webdriver Appium UI-Automation Robotium Sikuli...

“LET’S HAVE A PARTY…” RUDOLF E. GROETZ BENJAMIN HOFMANN HEAD OF QA, JUMIO INC. SYSTEM TEST ENGINEER, JUMIO INC. ASQF-VORTRAG 26.11.2013

1

UND TÄGLICH GRÜßT DER SYSTEMTEST

2

Wer zum Teufel ist Jumio?

3

Was zum Teufel macht Jumio?

4

Was zum Teufel macht Jumio?

5

Woraus zum Teufel besteht Jumio?

Palo Alto Linz Wien Moskau

Barnaul

1 Scrum Master 4 Product Owner 24 Developer 7 Test Engineers 7 Operation Engineers 6 Integration Engineers + Sales, Marketing…

6

Continuous Delivery

Continuous Delivery

Continuous Integration

Continuous Testing

Continuous Deployment = + +

7

System Test Strategien

Sprint 1 Sprint 2

Sprint 3

2.) Nach dem SprintEnde durch ein externes QA-Team Scrum-Team arbeitet bereits am neuen Sprint

= Systemtests

Sprint 1 Sprint 2

Sprint 3

4.) Continuous System Test während des Sprints

Sprint 1 Sprint 2

Sprint 3

1.) Am SprintEnde durch das Scrum-Team

Sprint 1 Sprint 2

Hardening

3.) Eigener Hardeningsprint

8

Jumio System Test Strategie 1.0

Sprint 1 Sprint 2

Sprint 3

= Systemtests

Sprint 1 Sprint 2

Sprint 3

4.) Continuous System Test während des Sprints

= Systemtests

2.) Nach dem SprintEnde durch ein externes QA-Team Scrum-Team arbeitet bereits am neuen Sprint

Sprint 1 Sprint 2

Sprint 3

1.) Am SprintEnde durch das Scrum-Team

Sprint 1 Sprint 2

Hardening

3.) Eigener Hardeningsprint

9

Sprint 1 Sprint 2

Sprint 3 Hotfix 1.1

= Systemtests

Sprint 1 Sprint 2

Sprint 3

2.) Nach dem SprintEnde durch ein externes QA-Team Scrum-Team arbeitet bereits am neuen Sprint

Jumio System Test Strategie 1.0

10

Die Gretchen Frage

„Ist unsere Testautomation und unsere

Systemteststrategie geeignet um unseren

Anforderungen gerecht zu werden?“

11

Sprint 1 Sprint 2

Sprint 3

4.) Continuous System Test während des Sprints

= Systemtests

Jumio System Test Strategie 2.0

Sprint 1 Sprint 2

Sprint 3

2.) Nach dem SprintEnde durch ein externes QA-Team Scrum-Team arbeitet bereits am neuen Sprint

Sprint 1 Sprint 2

Sprint 3

1.) Am SprintEnde durch das Scrum-Team

Sprint 1 Sprint 2

Hardening

3.) Eigener Hardeningsprint

12

Jumio Definition of Done

- ...

- Ein risikobasierter Systemtest fand permanent während der Entwicklung statt

- Ein risikobasierter Systemtest hat auf PREPROD mit dem Release Candidate stattgefunden (P4 liefern 3x in Folge kein rotes Ergebnis)

- Ein explorativer manueller Systemtest hat auf PREPROD mit dem Release Candidate stattgefunden

- ...

13

Gestatten: Test Engineer, System Test Engineer!

14

Was bedeutet Systemtest?

The question a system test attempts to answer is:

“Does the product operate the way a

user would expect and produce the desired results?”

15

Artifact repository

Env/App Cfg

Commit Stage

Acceptance Stage

Production

Preprod Stage

Performance Stage

Diversity Stage

SourceCode

Artefactory

Customer Stage

X-UAT Stage

QA selbstgesteuertes Deployment

OPS Deployment Auf Knopfdruck

Die JUMIO Continuous Delivery Pipeline

OPS QA DEV

16

Die JUMIO Continuous Delivery Pipeline

Artifact repository

Env/App Cfg

Commit Stage

Acceptance Stage

Production

Preprod Stage

Performance Stage

Diversity Stage

SourceCode

Artefactory

Customer Stage

X-UAT Stage

QA selbstgesteuertes Deployment

OPS Deployment Auf Knopfdruck

OPS QA DEV TDD BDD ATDD BDTD?

17

Die JUMIO Continuous Delivery Pipeline

Artifact repository

Env/App Cfg

Commit Stage

Acceptance Stage

Production

Preprod Stage

Performance Stage

Diversity Stage

SourceCode

Artefactory

Customer Stage

X-UAT Stage

QA selbstgesteuertes Deployment

OPS Deployment Auf Knopfdruck

OPS QA DEV BUILD DEPLOY TEST DESTROY

18

Die JUMIO Continuous Delivery Pipeline

Artifact repository

Env/App Cfg

Commit Stage

Acceptance Stage

Production

Preprod Stage

Performance Stage

Diversity Stage

SourceCode

Artefactory

Customer Stage

X-UAT Stage

QA selbstgesteuertes Deployment

OPS Deployment Auf Knopfdruck

OPS QA DEV

19

P1 – P4

Admin Backend

Admin Frontend

Client

Neuer Code

Geä

nd

erte

r C

od

e

Story 4711 1 neues Feature entsteht - Acc. Crit 1 - Acc. Crit 2 1 bestehendes Feature muss angepasst werden - Acc. Crit 3

P1 Story Acc. Tests

P2 Story Acc. Tests Regression

P3 Story System Tests Regression

P4 System Tests Regression

20

Jumio Testframework 1.0

21

JumiUM Testframework 2.0

22

JumiUM

Spock

Geb Webdriver

Appium UI-Automation

Robotium

Sikuli

Selenium Grid

Jenkins

Flexdriver

Selenium

Selenium / Grid

Geb / Webdriver

26

Spock / Groovy

Flexdriver/Sikuli

location = findImageOnScreen(image) Mouse.click(location)

28

Jenkins / Maven / Gradle

Selenium Grids – Browser Farms - Farmrunner

24 Browser *

13 Flash Versionen *

9 Betriebssysteme =

2808 –

~200 (ungültige Komb.)

= 2608

30

Movie Time

31

Lessons Learned

- Bauen sie eine Continuous Delivery Pipeline

- Deployen sie immer das selbe Artifact (Build), egal in welche Umgebung

- Halten sie alles in version control (Testcode, Infrastructure as a code…)

- Verwenden sie Testfixtures zum Setup der Testdaten

- Machen sie die Testresults sofort, für jeden sichtbar (Pipeline Radiators)

- Verhindern sie Flakey Tests (Build – Deploy – Test – Destroy)

- Testautomation ist SW-Entwicklung. Holen sie Developer ins Testteam.

- Tester Entwickeln – Entwickler testen – Jeder im Team ist für Testautomation zuständig.

- Verwende sie Open Source Tool (fast feetback, fast support)

- DEVOPS

32

Wie geht es weiter?

Selenium goes mobile

33

Die Antwort auf die ultimative Frage …

"How long would it take your organization to deploy

a change that involves just one single line of code?“

Mary Poppendieck

34

Die Antwort auf die ultimative Frage …

462min

"How long would it take your organization to deploy

a change that involves just one single line of code?“

Mary Poppendieck

35

Die Antwort auf die ultimative Frage …

462min/11(Personen)= ??

"How long would it take your organization to deploy

a change that involves just one single line of code?“

Mary Poppendieck

36

Die Antwort auf die ultimative Frage …

462min/11(Personen)=

"How long would it take your organization to deploy

a change that involves just one single line of code?“

Mary Poppendieck

42

37

Flakey Test

38

Antwort auf ihre ultimativen Fragen …

?

39

DONE