Slide 1

Slide 1 text

Testing A Philosophical Retrospective Karl van Heijster www.karlvanheijster.com

Slide 2

Slide 2 text

When a team changes its development process…

Slide 3

Slide 3 text

…it pays to check whether its presuppositions still hold

Slide 4

Slide 4 text

What did our changing testing strategy teach us about testing?

Slide 5

Slide 5 text

Our original development process was deceptively simple:

Slide 6

Slide 6 text

The programmers program a feature, the testers test it

Slide 7

Slide 7 text

This presupposed a lot about 1) how 2) who 3) when, and 4) why we tested software

Slide 8

Slide 8 text

We saw testing as 1) a manual task 2) done by testers 3) after coding 4) to check the dev’s work

Slide 9

Slide 9 text

Problem Our way of working lead to week long regression test sprints

Slide 10

Slide 10 text

Solution Automate the test scripts

Slide 11

Slide 11 text

We became aware of some (now) incorrect presuppositions

Slide 12

Slide 12 text

Good tests are 1) automated 4) to prevent regressions

Slide 13

Slide 13 text

Problem The tester could not keep up with the work

Slide 14

Slide 14 text

Solution Make the programmers (partly) responsible for automating tests

Slide 15

Slide 15 text

This made us notice some other incorrect presuppositions

Slide 16

Slide 16 text

Tests are written 2) by testers and programmers 4) to document the code

Slide 17

Slide 17 text

Problem Programmers started skipping the tests

Slide 18

Slide 18 text

Solution Teach them the ways of Test-Driven Development

Slide 19

Slide 19 text

Again: examine your presuppositions

Slide 20

Slide 20 text

Testing is something you do 3) during development 4) to help you design the code

Slide 21

Slide 21 text

The development of our testing strategy shows the following trends:

Slide 22

Slide 22 text

o Automate ever more o Test ever sooner o Shift responsibility

Slide 23

Slide 23 text

Programming and testing are two sides of the same coin

Slide 24

Slide 24 text

Where to go from here?

Slide 25

Slide 25 text

Problem Programmers and testers are doing redundant work

Slide 26

Slide 26 text

Solution Collaborate!

Slide 27

Slide 27 text

The role of the tester changes from “code cop” to sparring partner

Slide 28

Slide 28 text

But that won’t be the last presupposition that will have to go…

Slide 29

Slide 29 text

The unexamined life is not worth living - Socrates

Slide 30

Slide 30 text

Testing A Philosophical Retrospective Karl van Heijster www.karlvanheijster.com