Nobody likes it. Everyone has to do it: Maintenance for code and tests. In this presentation we go over a strategy for taking care of our tests, and how to fix the bad ones.
10. @gil_zilberfeld
High level view
◉ What is important for the product?
◉ What are the risks?
◉ What should we focus on?
◉ At this stage and the short-mid term future
13. @gil_zilberfeld
◉ Important:
◉ Risks
◉ Focus
Ad sales, trust
Losing money, finding out what we
really do, showing relevant
information
Algorithms
Facebook
17. @gil_zilberfeld
◉ The tests we have
◉ The workflows we
cover (value)
◉ The risks we answer
◉ The costs incurred by
the tests
◉ The dependencies we
rely on
◉ The architecture
◉ The resources
◉ The skills
Testing cartography
19. @gil_zilberfeld
◉ “Main” Workflow
coverage
◉ Architectural stability
◉ Workflow stability
◉ Manual regression
testing time
◉ Time to feedback
◉ Escaped bugs that we
could have found(by
customer or internally)
What to track
23. @gil_zilberfeld
When adding tests
◉ Add tests at the right level
◉ Move “older stable” area tests to later pipeline
cycles
◉ Move “newer unstable” area tests to earlier
cycles
27. @gil_zilberfeld
Uninformative tests
◉ Tests that don’t point to the problem
◉ Not enough information on failure
◉ Checking too many operations
◉ No overlapping between test types
(triangulation)
35. @gil_zilberfeld
Maintenance issues
◉ Copy-paste, duplication
◉ Wrong location for tests
◉ Tests that do same thing “just to be on the safe
side”
◉ Verbose and big setup, no framework (Page
object)