scaling agile testing - eclipsecon europe 2019...scaling agile projects with proper testing hands-on...

Post on 22-Feb-2020

15 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Scaling Agile Projects with Proper Testing

Hands-on experiences from implementing an agile development model at Swiss Railroad SBB for their

train dispatching systems Mark Hinnen, bbv Software Services AG

Marc Hoffmann, mtrail GmbH

Dimensions of Scaling

Amount of Features

Product Complexity

Team Size

Railway

RCS

•  Initial invest: >150mio € •  Maintenance: >10mio €/year •  LoC: 1mio •  Project start: 2005

Scaling RCS

Amount of Features

Product Complexity

Team Size

Embedding Testing in the Scrum Process

Scrum Roles

Developers

Product Owner

Testers (Roles!)

Scrum Master

Scrum Activities

Planning •  How to test? •  Test effort?

Development •  Test first •  DoD includes testing

Demo •  Test cases •  Test tools

Scrum Artifacts

Product Backlog Acceptance Criteria include testing

Sprint Backlog

Test Reports

Product •  Executable

Tests

Scaling Headcount

PO Board

Scrum of Testers

Delivery Board

Arch. Board

Test Properties #Feature Complexity Head Count

Fast Execution ● ● Maintainability ● ●

Low Setup Costs ● ●

High Automation ● ● High Integration Level

Test Implementations

xUnit Component Tests Automated System Tests Automated GUI Tests Manual Tests

xUnit @Test&public&void&testIncrement2()&{&&&&&CounterImpl&c1&=&CounterImpl.getInstance(31,&5);&&&&&CounterImpl&c2&=&CounterImpl.getInstance(7,&3);&&&&&&final&CounterImpl&sum&=&c1.increment(c2);&&&&&&assertEquals(38,&sum.getMissedCount());&&&&&assertEquals(8,&sum.getCoveredCount());&}&

KOR_AdlOptimierungsTypGESCHWINDIGKEITSEMPFEHLUNG EXP_Berechnungsstatus OPTIMIERBAR KOR_AdlOptimierungsTypKOR_DirektAngrenzendenKorridorfalse EXP_VOptAsserter true KOR_DirektAngrenzendenKorridorKOR_AufgrundIsetrue EXP_VDurchfahrtAsserter false KOR_AufgrundIse

dtf fab dfe duno typ Sperrbereich1VonOptimierungsbereich1VonPrognosezeitZugfolgeSperrbereich1BisIstZeit KorridorvOpt vDurchf Sperrbereich1Von1 100 1 100 SIG_AB 03:00 x null1 100 2 200 SIG_AN 03:30 x null1 200 3 200 SIG_AB 04:30 x null1 200 4 66 BP_AN 04:45 x null2 200 5 66 BP_AB 04:45 x null2 200 6 1 SIG_AN 05:00 x null2 1 7 1 SIG_AB 05:00 x null2 1 8 2 SIG_AN 06:00 x null2 2 9 2 SIG_AB 06:00 x null2 2 10 3 SIG_AN 07:00 x null2 3 11 3 SIG_AB 07:00 x null2 3 12 4 SIG_AN 08:00 x null2 4 13 4 SIG_AB 08:00 x null2 4 14 5 SIG_AN 09:00 x null2 5 15 5 SIG_AB 01:00 01:00 09:00 60:00 x x 1102 5 16 6 MAG_AN = = +60 = x 1102 6 17 6 MAG_AB = = = = x 1102 6 18 7 SIG_AN = = +60 = x 1102 7 19 7 SIG_AB = = = = x 110 01:002 7 20 8 MAG_AN = = +60 = x 110 =2 8 21 8 MAG_AB = = = = x 110 =2 8 22 1 BP_AN = = +60 = x 110 =3 8 23 1 BP_AB = = = = x 110 =3 8 24 9 SIG_AN = = +60 = x 110 =3 9 25 9 SIG_AB = = = = x 110 =3 9 26 10 MAG_AN = = +60 = x 110 =3 10 27 10 MAG_AB = = = = x 110 =3 10 28 2 BP_AN = = +60 = x 110 =4 10 29 2 BP_AB = = = = x 110 =4 10 30 11 SIG_AN = = +60 = x 110 =4 11 31 11 SIG_AB = = = = x 110 =4 11 32 12 MAG_AN = = +60 = x 110 =4 12 33 12 MAG_AB = = = = x 110 =4 12 34 3 BP_AN = = +60 = x 110 =5 12 35 3 BP_AB = = = = x 110 =5 12 36 13 SIG_AN = = +60 = x 110 =5 13 37 13 SIG_AB = = = = x 110 =5 13 38 14 MAG_AN = = +60 = x 110 =5 14 39 14 MAG_AB = = = = x 110 =5 14 40 4 BP_AN = = +60 = x 110 =

Automated GUI & Manual Tests

Unit Tests

Systemtests (API Layer)

GUI Tests

MT

GUI

STA

CT

UT

Test Properties Fast Execution

Maintainability

Low Setup Costs

High Automation

High Integration Level

Unit Tests ● ● ● ● CT ● ● ● ● ● STA

● ● ● GUIA ● ● MT ●

Test Properties #Feature Complexity Head Count

Unit Tests ● ● CT ● ● STA ● GUIA ● MT

Test Metrics

• Test Success Rate • Code Coverage • Functional Coverage • Execution Time

• Test Progress

Scalable Testing Check List Organization & Process

□ Testers Part of Teams

□ Test First

□ Testing part of DoD

□ Scrum of Scrums

Tooling

□ Continuous Integration

□ Continuous Deploy.

□ Test Metrics

Test Implementations

□ Unit Tests

□ Component Tests

□ System Tests

□ Automated GUI Tests

Questions?

Mark Hinnen, bbv Software Services AG Marc Hoffmann, mtrail GmbH

top related