regression testing: down the rabbit hole€¦ · chasing the holy grail • we’ll hear lots today...

16
Regression Testing: Down the Rabbit Hole Neil Studd, Towers Watson

Upload: others

Post on 16-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Regression Testing: Down the Rabbit Hole€¦ · Chasing the Holy Grail • We’ll hear lots today about how regression testing should be done – …in an ideal world – …easiest

Regression Testing: Down the Rabbit Hole Neil Studd, Towers Watson

Page 2: Regression Testing: Down the Rabbit Hole€¦ · Chasing the Holy Grail • We’ll hear lots today about how regression testing should be done – …in an ideal world – …easiest

About Me

•  10 years of testing •  Cambridge-based •  Work for companies

with red logos

Page 3: Regression Testing: Down the Rabbit Hole€¦ · Chasing the Holy Grail • We’ll hear lots today about how regression testing should be done – …in an ideal world – …easiest

Only the names have changed…

Page 4: Regression Testing: Down the Rabbit Hole€¦ · Chasing the Holy Grail • We’ll hear lots today about how regression testing should be done – …in an ideal world – …easiest

Chasing the Holy Grail •  We’ll hear lots today

about how regression testing should be done –  …in an ideal world –  …easiest for new projects –  …or when starting afresh –  …when there’s wider

business buy-in, e.g. continuous delivery

•  The “holy grail” of regression testing…

Page 5: Regression Testing: Down the Rabbit Hole€¦ · Chasing the Holy Grail • We’ll hear lots today about how regression testing should be done – …in an ideal world – …easiest

I took the red pill

•  Desktop software •  Infrequent releases •  Client-driven features •  Client-driven deadlines •  (Time v features v quality:

Quality often loses) •  Manual regression cycle •  At the end of the release

Page 6: Regression Testing: Down the Rabbit Hole€¦ · Chasing the Holy Grail • We’ll hear lots today about how regression testing should be done – …in an ideal world – …easiest

Our sacred texts

•  Tests are treated as a product bible

•  Handed down through generations

•  Revered and followed without question

•  Very much “of their time”; not modified to reflect new evidence

Page 7: Regression Testing: Down the Rabbit Hole€¦ · Chasing the Holy Grail • We’ll hear lots today about how regression testing should be done – …in an ideal world – …easiest

Oh, the things I’ve seen…

•  Tests not testing what they claimed to test

•  Expected result = “a sensible error”

•  …but that was actually a bug!

•  Not enough detail •  Too much detail

Page 8: Regression Testing: Down the Rabbit Hole€¦ · Chasing the Holy Grail • We’ll hear lots today about how regression testing should be done – …in an ideal world – …easiest

All the information, all at once

Page 9: Regression Testing: Down the Rabbit Hole€¦ · Chasing the Holy Grail • We’ll hear lots today about how regression testing should be done – …in an ideal world – …easiest

Why was it done this way?

Page 10: Regression Testing: Down the Rabbit Hole€¦ · Chasing the Holy Grail • We’ll hear lots today about how regression testing should be done – …in an ideal world – …easiest

We need to go deeper •  Five whys:

–  Not peer-reviewing –  Short of time/resources –  Fixed project deadline –  Unrealistic promise to

customer –  Salespeople too far

removed •  Dev/test separation,

driven by disrespect (dev) and fear (test)

•  “Testing is a tester’s problem”

Page 11: Regression Testing: Down the Rabbit Hole€¦ · Chasing the Holy Grail • We’ll hear lots today about how regression testing should be done – …in an ideal world – …easiest

We fell for the dark side •  Don’t allow your tools to

start working against you! •  TFS: Supports multiple

references to one test •  TFS: Supports “shared

steps” in tests = quickly multiplies setup/teardown

•  Just because you can easily record a regression test, doesn’t mean you should

Page 12: Regression Testing: Down the Rabbit Hole€¦ · Chasing the Holy Grail • We’ll hear lots today about how regression testing should be done – …in an ideal world – …easiest

What I didn’t do

•  Not burning books… •  …written in good faith •  …useful metadata •  …cross-referencing •  …gives information

about previous perceived severities

Page 13: Regression Testing: Down the Rabbit Hole€¦ · Chasing the Holy Grail • We’ll hear lots today about how regression testing should be done – …in an ideal world – …easiest

How I’m surviving

•  Rewriting/reducing •  Piecemeal •  Session-based •  To answer “Is there a

problem here?” •  …Which involves

looking at the product

Page 14: Regression Testing: Down the Rabbit Hole€¦ · Chasing the Holy Grail • We’ll hear lots today about how regression testing should be done – …in an ideal world – …easiest

How I’m trying to change things

•  Training devs to test •  Pairing/reviewing

developer unit testing •  Automating black &

white checks •  (…but not to replace

human interaction) •  More code reviews •  …which feed testing

Page 15: Regression Testing: Down the Rabbit Hole€¦ · Chasing the Holy Grail • We’ll hear lots today about how regression testing should be done – …in an ideal world – …easiest

There’s still room to improve

•  More automation •  Run more easily/often •  Increased testability •  Address the causes

of regressions, rather than fixing the fallout

•  Focus on providing value and information

Page 16: Regression Testing: Down the Rabbit Hole€¦ · Chasing the Holy Grail • We’ll hear lots today about how regression testing should be done – …in an ideal world – …easiest

Any questions?

•  More thought to come (yes Simon I’ll write that article for The Testing Planet)

•  Blog: neilstudd.com •  Twitter: @neilstudd