Scaling Agile Testing - EclipseCon Europe 2019...Scaling Agile Projects with Proper Testing Hands-on...

24
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

Transcript of Scaling Agile Testing - EclipseCon Europe 2019...Scaling Agile Projects with Proper Testing Hands-on...

Page 1: Scaling Agile Testing - EclipseCon Europe 2019...Scaling Agile Projects with Proper Testing Hands-on experiences from implementing an agile development model at Swiss Railroad SBB

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

Page 2: Scaling Agile Testing - EclipseCon Europe 2019...Scaling Agile Projects with Proper Testing Hands-on experiences from implementing an agile development model at Swiss Railroad SBB

Dimensions of Scaling

Amount of Features

Product Complexity

Team Size

Page 3: Scaling Agile Testing - EclipseCon Europe 2019...Scaling Agile Projects with Proper Testing Hands-on experiences from implementing an agile development model at Swiss Railroad SBB

Railway

Page 4: Scaling Agile Testing - EclipseCon Europe 2019...Scaling Agile Projects with Proper Testing Hands-on experiences from implementing an agile development model at Swiss Railroad SBB
Page 5: Scaling Agile Testing - EclipseCon Europe 2019...Scaling Agile Projects with Proper Testing Hands-on experiences from implementing an agile development model at Swiss Railroad SBB
Page 6: Scaling Agile Testing - EclipseCon Europe 2019...Scaling Agile Projects with Proper Testing Hands-on experiences from implementing an agile development model at Swiss Railroad SBB

RCS

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

Page 7: Scaling Agile Testing - EclipseCon Europe 2019...Scaling Agile Projects with Proper Testing Hands-on experiences from implementing an agile development model at Swiss Railroad SBB

Scaling RCS

Amount of Features

Product Complexity

Team Size

Page 8: Scaling Agile Testing - EclipseCon Europe 2019...Scaling Agile Projects with Proper Testing Hands-on experiences from implementing an agile development model at Swiss Railroad SBB

Embedding Testing in the Scrum Process

Page 9: Scaling Agile Testing - EclipseCon Europe 2019...Scaling Agile Projects with Proper Testing Hands-on experiences from implementing an agile development model at Swiss Railroad SBB

Scrum Roles

Developers

Product Owner

Testers (Roles!)

Scrum Master

Page 10: Scaling Agile Testing - EclipseCon Europe 2019...Scaling Agile Projects with Proper Testing Hands-on experiences from implementing an agile development model at Swiss Railroad SBB

Scrum Activities

Planning •  How to test? •  Test effort?

Development •  Test first •  DoD includes testing

Demo •  Test cases •  Test tools

Page 11: Scaling Agile Testing - EclipseCon Europe 2019...Scaling Agile Projects with Proper Testing Hands-on experiences from implementing an agile development model at Swiss Railroad SBB

Scrum Artifacts

Product Backlog Acceptance Criteria include testing

Sprint Backlog

Test Reports

Product •  Executable

Tests

Page 12: Scaling Agile Testing - EclipseCon Europe 2019...Scaling Agile Projects with Proper Testing Hands-on experiences from implementing an agile development model at Swiss Railroad SBB

Scaling Headcount

PO Board

Scrum of Testers

Delivery Board

Arch. Board

Page 13: Scaling Agile Testing - EclipseCon Europe 2019...Scaling Agile Projects with Proper Testing Hands-on experiences from implementing an agile development model at Swiss Railroad SBB

Test Properties #Feature Complexity Head Count

Fast Execution ● ● Maintainability ● ●

Low Setup Costs ● ●

High Automation ● ● High Integration Level

Page 14: Scaling Agile Testing - EclipseCon Europe 2019...Scaling Agile Projects with Proper Testing Hands-on experiences from implementing an agile development model at Swiss Railroad SBB

Test Implementations

xUnit Component Tests Automated System Tests Automated GUI Tests Manual Tests

Page 15: Scaling Agile Testing - EclipseCon Europe 2019...Scaling Agile Projects with Proper Testing Hands-on experiences from implementing an agile development model at Swiss Railroad SBB

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());&}&

Page 16: Scaling Agile Testing - EclipseCon Europe 2019...Scaling Agile Projects with Proper Testing Hands-on experiences from implementing an agile development model at Swiss Railroad SBB

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 =

Page 17: Scaling Agile Testing - EclipseCon Europe 2019...Scaling Agile Projects with Proper Testing Hands-on experiences from implementing an agile development model at Swiss Railroad SBB
Page 18: Scaling Agile Testing - EclipseCon Europe 2019...Scaling Agile Projects with Proper Testing Hands-on experiences from implementing an agile development model at Swiss Railroad SBB

Automated GUI & Manual Tests

Unit Tests

Systemtests (API Layer)

GUI Tests

Page 19: Scaling Agile Testing - EclipseCon Europe 2019...Scaling Agile Projects with Proper Testing Hands-on experiences from implementing an agile development model at Swiss Railroad SBB

MT

GUI

STA

CT

UT

Page 20: Scaling Agile Testing - EclipseCon Europe 2019...Scaling Agile Projects with Proper Testing Hands-on experiences from implementing an agile development model at Swiss Railroad SBB

Test Properties Fast Execution

Maintainability

Low Setup Costs

High Automation

High Integration Level

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

● ● ● GUIA ● ● MT ●

Page 21: Scaling Agile Testing - EclipseCon Europe 2019...Scaling Agile Projects with Proper Testing Hands-on experiences from implementing an agile development model at Swiss Railroad SBB

Test Properties #Feature Complexity Head Count

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

Page 22: Scaling Agile Testing - EclipseCon Europe 2019...Scaling Agile Projects with Proper Testing Hands-on experiences from implementing an agile development model at Swiss Railroad SBB

Test Metrics

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

• Test Progress

Page 23: Scaling Agile Testing - EclipseCon Europe 2019...Scaling Agile Projects with Proper Testing Hands-on experiences from implementing an agile development model at Swiss Railroad SBB

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

Page 24: Scaling Agile Testing - EclipseCon Europe 2019...Scaling Agile Projects with Proper Testing Hands-on experiences from implementing an agile development model at Swiss Railroad SBB

Questions?

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