Team Guides for Software
Conflux Books
Acknowledgements
Praise for Software Testability
Exercises
Introduction
- Why is testability important?
- What does hard-to-test feel like?
- What does testable feel like?
- What leads to testability being neglected?
- What is covered in this book?
- How to use this book
- Why we wrote this book
- Feedback and suggestions
1.Set a pragmatic direction for improving testability using trade-off sliders
- Key points
- 1.1Overcome common challenges to setting a team testability focus
- 1.2Exercise: do the Team Test for Testability for a quick testability health check
- 1.3Exercise: use Trade-Off Sliders to guide your testability focus
- 1.4Summary
2.Create testability targets to improve interactions with dependencies
- Key points
- 2.1Recognize needs and contributions from different roles to create an effective testability mindset
- 2.2Exercise: employ Testability Dependency Targets to improve interactions with dependent teams and systems
- 2.3Summary
3.Adopt testability mapping to expose hard-to-test architectures
- Key points
- 3.1Poor architectural testability causes slow feedback and flawed decisions
- 3.2Identify the symptoms of poor architectural testability
- 3.3Exercise: Use testing smells to diagnose poor architectural testability
- 3.4Exercise: adopt testability mapping to measure testing feedback and waste
- 3.5Summary
4.Apply the CODS model to increase architectural testability for faster feedback
- Key points
- 4.1Explicitly design your architecture for testability
- 4.2Principles of implementing high testability architectures
- 4.3Exercise: Use ‘CODS’ to increase architectural testability
- 4.4Moving from hard-to-test to high architectural testability
- 4.5Summary
5.Adopt ephemeral development environments for fast feedback
- Key points
- 5.1Common challenges with static test environments
- 5.2Use your development environment for fast feedback
- 5.3Exercise: Use the Agile Test Quadrants to extend testing in your development environment
- 5.4Summary
6.Use production data to enhance your testing strategy
- Key points
- 6.1Static test strategies cause problems in dynamic production environments
- 6.2Exercise: employ data from production to keep your test strategy relevant
- 6.3Use deploy and release patterns for feedback on high risk changes
- 6.4Summary
7.Use team testing reviews to enable sustainable delivery
- Key points
- 7.1Testing debt affects wellbeing and sustainable delivery
- 7.2Adopt a whole-team approach to minimizing testing debt
- 7.3Exercise: use the 10 P’s of Testability to track team testing culture
- 7.4Exercise: adopt incident reviews to target testability improvement actions
- 7.5Create a board to visualize & prioritize testing debt
- 7.6Summary
Terminology
References
- Chapter 1 - Testability Priorities
- Chapter 2 - Testability and Dependencies
- Chapter 3 - Testability Mapping
- Chapter 4 - Architectural Testability
- Chapter 5 - Ephemeral Development Environments
- Chapter 6 - Use Production to Enhance Test Strategy
- Chapter 7 - Team Testing Reviews for Sustainable Testability
Appendix - Notes on 10 P’s of Testability
- 1 - People
- 2 - Philosophy
- 3 - Product
- 4 - Process
- 5 - Problem
- 6 - Project
- 7 - Pipeline
- 8 - Productivity
- 9 - Production Issues
- 10 - Proactivity
