27
Ash Winter Short stuff here: @northern_tester Long stuff here: testingisbelieving.blogspot.co.u k Tweet on #AgileYorkshire

Ash_Winter_Tested_to_Death

Embed Size (px)

Citation preview

Page 1: Ash_Winter_Tested_to_Death

Ash WinterShort stuff here:@northern_tester

Long stuff here:testingisbelieving.blogspot.co.u

k

Tweet on #AgileYorkshire

Page 2: Ash_Winter_Tested_to_Death

Tested to Death… Or how testing can trap you in a team and product death spiral

Page 3: Ash_Winter_Tested_to_Death

So, I’m a tester right…

• Weird topic• Too much testing is bad• Serving tests is bad• Testing the same thing at different levels can be bad

Page 4: Ash_Winter_Tested_to_Death

Pop quiz hotshots…Quick state of the nation. How many of you…• Think you do too much testing?

• Think you do too little testing?

• Think your testing is effective?

Page 5: Ash_Winter_Tested_to_Death

Let me tell you a story…

•Fansz•Great dudes assembled•Ready FTW

Page 6: Ash_Winter_Tested_to_Death

There was a strategy…

You’ve all seen the testing pyramid before right?

Page 7: Ash_Winter_Tested_to_Death

Funny business…

Unit Tests == Integration Tests == Acceptance Tests

Page 8: Ash_Winter_Tested_to_Death

Nosey parkers…Integration tests poked their noses in unit and acceptance tests business.

Page 9: Ash_Winter_Tested_to_Death

Weird smells…Change the tests to get the code to pass?

Page 10: Ash_Winter_Tested_to_Death

Eyebrows raised…Injected dependencies

were mocking us…

Page 11: Ash_Winter_Tested_to_Death

Brows furrowed…Lets try other test runners. That will help.

Page 12: Ash_Winter_Tested_to_Death

Quicksand…

• New stuff? Slow

• Change stuff? Slower

Page 13: Ash_Winter_Tested_to_Death

Worst of all, sad faces…

• Frustrating, endless discussion• Sad dependant teams• Sad sponsors

Page 14: Ash_Winter_Tested_to_Death

Ultimately…

A Dream (and Team) Expired*

*Really not the only reason. Didn’t help

Page 15: Ash_Winter_Tested_to_Death

But don’t despair…

In life and testing, there is no fail, only learning!

Page 16: Ash_Winter_Tested_to_Death

#1 All tests must die

• Tests have a life and a death• You CAN kill them ALL!• Be pointy with tests that pass ALL the time!

Page 17: Ash_Winter_Tested_to_Death

#2 Chasing sunk cost will sink you

• Inventory• 1 line of code, change 800 tests• Think value, not cost

Page 18: Ash_Winter_Tested_to_Death

#3 Unit Tests?

• Erm• Make sure you are actually writing unit tests

Page 19: Ash_Winter_Tested_to_Death

#4 You can write tests first…

• Your app is not special• More likely to have only the tests you need

Page 20: Ash_Winter_Tested_to_Death

#5 DependenciesYou are the child, the dependency is the parent

Page 21: Ash_Winter_Tested_to_Death

#6 Checkocalypse Now

How many times do you need to check 1 + 1 = 2?

Page 22: Ash_Winter_Tested_to_Death

#7 Small • Very small packs of tests that reflect the system• Separate ignored tests• Then destroy them!

Page 23: Ash_Winter_Tested_to_Death

#8 Pairing is smart

• Two brains write better tests• Hint - Especially a tester and dev

Page 24: Ash_Winter_Tested_to_Death

#9 Use more than one model

• Marick's Quadrants par example• Too many technology facing tests…

Page 25: Ash_Winter_Tested_to_Death

#n Context or ‘it depends’

We weren’t even in beta.(gently weeps)

Page 26: Ash_Winter_Tested_to_Death

And in summary…• Testing is great!• Evolve your strategy!• It serves you, not the other way around…

Page 27: Ash_Winter_Tested_to_Death

Questions?