Seventeen performance testers from companies like Salesforce, Facebook, TiVo, eBay, Netflix, HP, Yahoo, ESRI, Mentora, spent three days in October at Salesforce HQ in San Francisco, sharing personal stories of how technical debt has impacted the testability and reliability of software in their own contexts.
Eric Proegler moderating a brainstorm session
This was no everyday topic, nor was the discussion ordinary. Moderated brainstorming sessions distilled from these stories insights that enriched the participants’ view of testing software.
Memorable for me among these distillations:
Technical Debt
- is anything that slows you down (from testing) or prevents speeding up
- Is usually incurred by people that don’t have to pay for it
- is worsened by management allowing the status quo to persist
- is at a critical level when everything you fix breaks something else
- is selectively paid only when the pain gets high enough – like paying off a maxed out credit card when it starts affecting your credit rating
Test Debt
- Is manifested partly by the tests that should be automated but haven’t been
- Increases when you’re consumed by running and maintaining the same checks without thoughtful consideration of what should be tested
- Worsens when you allow yourself to be constrained by your familiar testing tools
Test Decay
- Is evidenced as testing becomes less effective over time
- Test debt is the stuff you’re buying on credit; test decay is the interest you’re paying on earlier purchases
Solutions
- Measure the pain
- Raise management awareness
- Fight complacency
- Spread the subject matter expertise – document, cross-train