There is one main file:
testability-questions.md- the main set of questions to assess testability
This repository holds a set of testability questions that are useful for assessing the testability of software systems. These questions can be used with a number of test strategy tools like the Agile Testing Quadrants to identify more gaps in testing and enhance testability to enable your teams to fill those gaps.
Each testability question requires answers to these key questions:
- Who? (What?): What kind of user or persona will do this? (Or what kind of system?)
- How?: Which tool (or set of tools) or process will help to do this?
- Evidence: How will you demonstrate this using evidence?
For each testability question, there is a short description of why this question is useful, giving some context.
For teams and people new to assessing testability, it can be very effective to print the testability questions page and record questions using pen & paper around a table; this helps teams to "step back" from the computer systems and consider testability more carefully.
The book Team Guide to Software Testability has a section on Testability Questions, including details of how different teams use these questions to help improve testability.
Copyright © 2018 Conflux Digital Ltd
Licenced under CC BY-SA 4.0
- Clone/fork the repo
- Edit the file
- Add your own testability questions - send us a Pull Request if you think your new checks are useful to others!
- Remove (or comment with N/A) those sections that really do not apply in your case (but double-check first).
- Use the template as a way to encourage discussion and collaboration between Devs and Ops people for building better systems.
- If some information is missing for one or more sections, indicate this clearly (e.g. WARNING). Knowing what you do not know is valuable.
- After you have validated the questions with all teams involved, begin to automate the checks and procedures.
We hope that these questions about testability trigger the desire to change and improve both your own system, the integration with your dependencies and your relationship with the teams around you.