Being a software professional means understanding how we develop or test impacts the bottom line.
In this talk, directed mostly for developers, I take a look how different testing activities impact the business, and how professional testers apply these principles.
3. @gil_zilberfeld
Who Am I?
Agile helper
Software improver
Author of “Everyday Unit Testing”
www.gilzilberfeld.com
www.everydayunittesting.com
@gil_zilberfeld
4. @gil_zilberfeld
A bit of history…
• Before there were testers…
• There was always risk
• There was always uncertainty
• It started to cost money
6. @gil_zilberfeld
A Tester
• Reports the state of the product
• Understands the risks
• Defines and maintains the test strategy
• Classifies test scenarios
• Finds ways to reduce risks
• Explores uncertain areas
9. @gil_zilberfeld
There are Testers in Team
• Testers as part of the team vs separate
• Longer communication
• Longer feedback cycle
• Collaboration and increased communication increases quality, reduces risks
and increases value
• Specialization vs. generalists
• Specialization can speed things up, or slow down when missing
• Organizations need to re-org to support specialization
10. @gil_zilberfeld
Bugs
• Bugs are waste by themselves
• Bug prioritization meetings
• More prevention, less mitigation
• Uncaught bugs can devalue a product
• The longer the feedback cycle, it takes longer to repro and fix
• Emergency bugs slow down development due to context switch
12. @gil_zilberfeld
Testable Architecture and Design
• Unless planned and built, architecture is hard to change
• Need to be right the first time
• Cannot change, therefore slows development
• Build for testability
13. @gil_zilberfeld
Maintenance
• We write code that will last until the next rewrite
• Up to 20 years
• Tests are essential
• They delay the big rewrite
• Tests need maintenance too
• We can’t measure future maintenance, but can adapt good practices
to lower it
17. @gil_zilberfeld
Testing Strategy
• Understanding the risks
• Investing where it matters
• What to cover and how
• Take into account existing and needed skills
• Take into account existing and needed tools
22. @gil_zilberfeld
System Tests
• Better coverage, better confidence
• Cannot check edge cases
• Investment in setup
• Tests through UI are fragile
• Less for debugging and fixing problems, where unit tests work better
26. @gil_zilberfeld
What Is The Value of Testing
• How do you measure the value of development?
• Number of features?
• Lines of code?
• Per minute?
• How do you measure the value of management?
• We don’t do that!
27. @gil_zilberfeld
ROI Is Dead!
• Complexity killed it
• ROI can be calculated only after the release
• And even that’s not true because the value of a product can impact
the next version or product