Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lessons learned from testability failures

Similar presentations


Presentation on theme: "Lessons learned from testability failures"— Presentation transcript:

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


Download ppt "Lessons learned from testability failures"

Similar presentations


Ads by Google