Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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