Continuous Testing Manifesto
Good QA enables developers to move faster, while having a consistent set of checks for the work they do. This holds them to a standard for quality, but frees them from having to manually check. Though teams can improve software quality using techniques such as pair programming or code-reviews, bugs will always slip through.
QA is a service to the development organization and should always be as lightweight as is practical. A QA strategy should continually strive for:
- Faster QA results
- More accurate QA results
- Fewer false positives
- More actionable results
This document was created to help your team ship higher quality software, faster by providing guidelines for what should be important in a QA process and what shouldn’t.
Table of Contents
- Modular Testing: Start with small, manageable chunks– aim for a modular system.
- Rightsize: Good processes don’t test everything; they take a balanced approach.
- Measure to Improve: If you don’t measure results, you won’t be able to show improvement.
- Shift Left: The earlier you can start testing, the easier most issues are to fix.
- Unit Test: Enable fast feedback, along with super-specific error reporting.
- Version Control: Keep your tests close to your developer workflow and create a record of tests.
- Continuous Integration: Create a safety valve for quality as early as possible.
- Pluggable: Integrate QA with development tooling to keep pace with the development process.
About the Author
Russell Smith is the co-founder and CTO of Rainforest QA. At Rainforest, Russ has helped hundreds of organizations implement faster, more effective QA processes using the key tenets behind continuous testing.