What is testability?
Testability is a measure of how easy it is for testing to happen in a given context. Testibility is a measure of many drivers such as people, product, vision, process, time, resources, and problem. These drivers can have a positive effect on our testing, making it easier to test, or they can have a negative effect to making it more difficult to test. Interesting.
Do you have any examples?
The team's attitudes toward testing can either mean testing is prioritised and supported, or it's an afterthought. A product with many accessible layers such as APIs means we can be more targeted with our testing and automation. Access to testing tools could be restricted due to budget or IT policies. This impacts the types of testing we'll be able to do.
What's the value of knowing about testability?
Knowing about testability informs our testing approaches and our strategies. It provides clear framing for the testing we do and don't do, which helps communicate that work to others, improving testability often delivers more value to the team than doing more testing activities.
And what are some of the pitfalls around testability?
Testability is fluid. Therefore, teams need to periodically review it to ensure approaches are fit for purpose. As testability is an assessment of contact drivers, it can often be biased by those doing the measuring. So it's important to include the whole team.