Quality Assurance is a crucial component in releasing software. But who is responsible for QA processes, tools, and methodologies when you're a young startup with limited bandwidth? The answer is: everyone. At Sensu, we experienced the painful process of discovering this in preparation for our General Availability release when engineers naturally were heads down in development, creating mounting technical debt with regard to testing.
The evolution of QA at Sensu is a story of identifying process challenges, researching multiple solutions, and implementing efficiencies in order to provide confidence in the product we've built. Aside from the core Sensu Go product to be released, our test infrastructure began to rapidly grow, and internally became known as the ““QA Crucible”” which is the most accurate depiction of a product designed for test. Data persistence, historical data, test result reliability, cost effectiveness, developer bias, and the distributed nature of our product are just a handful of obstacles that we mitigated and led us to the robust, reliable solution we use today. From the humble beginnings of using word docs and spreadsheets to track test data, to sleek test case management tooling and automated Rspec tests, Quality Assurance became a first class process to developers and program managers alike.