top of page
  • Writer's pictureCraig Risi

Quality By Design

Quality is not a result of efficient test processes or excellent software testing, though those will certain help. Quality is something that needs to be engineered into the product from the beginning and thought through carefully when teams plan their products and projects. I've come across many teams who look to faults and weaknesses in their testing as the reason for their high defect count, without realizing that it was part of their design all along.

How much time are you investing ensuring the architecture of your products and the setup of your test environments is design to promote quality? Do you even know what to look for?

Designing products that are easily testable and maintainable is vital to ensuring good quality. Aligning the design of our test framework and systems that mimic the complexities of our system is just as important. So if your product has a highly customizable and modular architecture, cater for its complexities in your test infrastructure. Not planning your testing framework to cater for these complexities means that your products is likely going to wind-up not only potentially buggy, but extremely expensive to maintain. Part of designing your test framework is also considering all the different solution options available to your product and ensuring that they can be easily testable. Part of looking at this is also being aware of your functional dependencies and using a technique such as combinatorial test design could save an incredible amount of time through discovering the shortest path to maximum functional and code coverage. These are only a few of the myriad of decisions you need to consider in designing your system.

You can't design everything and so teams many teams use quality engineering as a validation mechanism rather than a prevention mechanism. Some products may even still appear to have good quality because these teams are able to identify the gaps and test around them. Just because your defect count is low, doesn't mean your product or testing architecture is maximized for efficiency and you could be wasting a lot of effort as a result of poor quality design.

Next time you need to plan the testing of your project. Resourcing and tools shouldn't be your first thing to turn to. Rather invest time in evaluating your product design and architecture and identifying how you can best test these elements within the whole solution. Look for where your architectural gaps are that impact quality or where your test architecture is inefficient and invest time in plugging these gaps. You may be surprised at how much time and effort you save in testing and fixing defects in the future through the time you invest now.



Thanks for subscribing!

bottom of page