Download presentation
Presentation is loading. Please wait.
1
Lessons learned from testability failures
1
2
Defining testability 2
3
I don’t like hard rules at all. I think they’re all bullshit.
―Ed Catmull 3
4
My personal definition
Unit-testable code Multiple deployments Introspection
5
War stories 5
6
Opera Link: Origins 6
7
Challenges Coordinate different teams Decide who has the final word
Clarify expected behaviour Control unintended changes Find the source of each bug
8
Solutions Document “obvious” details Write server testsuite
Log traffic on client Log traffic on server
9
My Opera: from legacy to modern project
9
10
First steps for My Opera
Opera browser user community Social networking Blogs, albums, forums, groups... Very old project Many years without testers Hostile to testing
11
Solutions Removal of testing roadblocks Functional tests
Continuous integration More functional tests Heavy refactoring Unit tests
12
Opera Link Strikes Back
12
13
Opera Link in Mini redux
Client reimplementation UI-centric testing The protocol is the buggy bit!
14
Solutions Convince people it was important Mobile tester tools
Ability to switch Link server Fake server for client testing
15
You have to fight for testability
15
16
Why? I hear you ask 16
17
Glad you asked that question
17
18
Testability is the only way to scale
18
19
Testability and scaling
Allows for good tests Allows for tests when needed Shows how systems work Lowers barrier to entry Helps isolating root causes
20
The more testable, the higher quality
20
21
The more testable, the higher quality
More testability, more tests More tests, less bugs ...more features ...more refactoring ...more quality
22
Testability doesn't come for free
22
23
Testability doesn't come for free
“If you can use it, you can test it”
24
WRONG
25
Testability doesn't come for free
“If you can use it, you can test it” Repeatability Automation-friendliness Multiple deployments Introspection
26
Closing thoughts 26
27
Some advice Think about what takes time
Think about what you don't know Think of the children developers! Teach by example Show the results
28
Conclusions Untestability is a roadblock For testing and development
Tester heroics can be bad Support testers, not only end-users Opacity is the enemy
29
Questions? 29
30
Picture credits U.S. Army:
Gene Driskell: Joe Shlabotnik: Dave Morris: Marcin Wichary: Joshua Rappeneker: Sam Ilic: Andy Bullock: 30
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.