So for me Testability in practical terms means how easy something is to test.
When there is a lack of testability it slows down feedback, it reduces the quality and dept of our testing efforts, it increases cost, destroys motivation and morale and ultimately results in poor quality.
Conversely focusing on Testability can unleash your development team, to do their best work, allowing them focus on the work that matters and facilitates:
- Faster Development.
- Earlier testing
- Broader & deeper testing
- Better more robust automation
This focus allows teams get changes into production safely and quickly in a sustainable way.
I use the 10 P’s of Testability model to help teams identify all the factors that influence the team testing experience:
The people in our team possess the mindset, skillset & knowledge set to do great testing and are aligned in their pursuit of quality.
The philosophy of our team encourages whole team responsibility for quality and collaboration across team roles, the business and with the customer.
The product is designed to facilitate great exploratory testing and automation at every level of the product.
The process helps the team decompose work into small testable chunks and discourages the accumulation of testing debt.
The team has a deep understanding of the problem the product solves for their customer and actively identifies and mitigates risk.
The team is provided the time, resources, space and autonomy to focus & do great testing.
The team’s pipeline provides fast, reliable, accessible and comprehensive feedback on every change as it moves towards production.
The team considers and applies the appropriate blend of testing to facilitate continuous feedback and unearth important problems as quickly as possible.
The team has very few customer impacting production issues but when they do occur the team can very quickly detect, debug and remediate the issue.
The team proactively seeks to continuously improve their test approach, learn from their mistakes and experiment with new tools and techniques.