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

Upload: others

Post on 22-Feb-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

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