At CAKE LABS, we take a holistic approach to quality engineering. Not limited to merely testing our products at the end of the development lifecycle, our quality enginnering team engages in all stages of the development process. Just like our products, our quality process is under continuous improvement.
Our QE teams involvement in the development process begins at its inception: we perform the detailed analysis and elaboration of the feature requirements outlined by business analysts. In this sense, our QE engineers are domain experts to an extent.
These detailed requirements are then discussed with developers by means of feature walkthrough meetings, also driven by the QE team. These feature walkthroughs ensure that both the QE team and the development team are on the same page with regards to requirements, and that both the product and the test suite arise from the same requirement source. This minimizes the likelihood of test-product mismatches, an all too common problem in the software industry.
While tests are considered common assets (the entire team has access to them and are expected to utilize them in their work), it is the QE team that develops and maintains the test suites. Many of our test suites exist in the form of automated BDT (behavior driven testing) test specifications – they can be rapidly run without human intervention, and often do exactly this when used in conjunction with continuous integration. Despite the size and complexity of our product suite, 70-90% of our testing is automated. This eliminates much of the day-to-day drudgery of the traditional QE engineer, freeing his/her mind to focus on product quality in a more intelligent fashion.
We take a Behavior Driven Testing (BDT) approach to software quality engineering. We detail our requirements in the form of feature files that relies heavily on requirements-by-example instead of traditional SRS (software requirements specification) documents. The feature file in turn is used to develop the automated test scripts, and the two are linked so that a reader may readily access the tests for each feature through the feature file.
We take a preventive approach to defect reduction. Quality Engineering is merited on the basis of defects prevented, not the number of defects reported. Thus the QE team is incentivised to improve quality rather than maximize the number of issues (while the developer team attempts to minimize them). This largely avoids yet another common problem in the industry, sometimes jokingly known as “issue tennis” (in which the QE and developer teams repeatedly bounce issues at each other).
We are a team of twenty QE engineers with a strong background in quality engineering and technical knowledge. New additions to our team must possess a good understanding of industry standard QE practices, a team-oriented attitude toward work and the mental acuity to deal with the intricacies of testing complex products. Knowledge of automated test tools and programming languages (primarily for test automation) is a definite advantage.