I've been involved in the IT world for 30+ years, first as a developer and then as a software tester. Throughout that time there have been many trends, and another is starting to gain momentum.
More and more often, I hear people use 'Quality Engineering' in place of 'Quality Assurance'.
This got me thinking, is quality engineering just a different name, or does it signal real change?
Looking over the past 30 years, the approach to software quality has evolved. Of course, there’s never been a universal approach, however, there have been general trends.
Most companies still perform traditional testing/quality assurance. But there’s a growing number doing it differently.
Testing used to be an isolated project phase. Then, with quality assurance, we pushed testers earlier into the SDLC (e.g. Agile approaches). But testers were still seen as separate entities.
Nowadays though, more avant-garde companies are integrating quality into broader roles and processes. Quality is being engineered in, rather than added on.
This is quality engineering, and it represents the democratisation of quality. It marks a genuine change, but only for those who commit to it.
The Development of Software Testing and Quality
Quality Engineering is by no means the first evolution in software testing. There have of course been myriad technical advancements in test tools. But even outside the tools testing approaches have evolved through quite a few phases.
Broadly, quality approaches can be broken down into the following epochs:
The Early Days of Software Testing
In years gone by testing was something done at the end of a project. It was a rubber-stamping or tick-box exercise. Testing was a final, one-off assessment of quality.
If the software passed it was let loose into the wild. If it failed, it was thrown back over the fence to dev.
Think of a manufacturing line where the finished goods are checked before they're boxed up. Failures are thrown in the reject bin.
It’s clearly an inefficient process. Defects should be caught much earlier before they are built into the finished product.
The Advent of Quality Assurance
Over time then, testing evolved into quality assurance. Rather than testing being done at the end of a project, it was undertaken throughout.
Agile projects, for example, make sure testing is performed within each sprint. By the time you reach the end of your project, your software has been tested multiple times through various iterations.
Back to our manufacturing plant analogy, where there are quality spot checks at every point on the production line.
'Quality Assurance' undoubtedly produces higher quality software, and saves time compared to a final rubber-stamping alone. But it's still just an assessment of quality, albeit earlier and frequently.
The Rise of Quality Engineering
Enter 'Quality Engineering'. With this evolution, we're starting to consciously build quality into development activities. Often, developers themselves are responsible for creating and executing both functional test automation and performance tests.
Also, quality doesn’t start or stop with development. Quality Assurance used to end when the code went live. Quality Engineering now permeates throughout the entire life of software systems.
It includes the planning, management, development, operation, and maintenance of IT systems.
The World Quality Report Has Recognised the Shift
A key indicator of this evolution can be found in this year's World Quality Report. For the first time, this has omitted the budget section. The publishers state that:
‘QA and testing have become an inclusive activity within development, and the questions around budget-allocation for test have become more and more meaningless’, WQR 21/22
Quality Engineering: A New Name or a Genuine Change?
So back to the original question then, is Quality Engineering a real change?
Yes, but not for everyone. At least, not yet.
Most companies aren’t implementing genuine quality engineering yet. In lots of cases, quality engineering will just be a new name, wrapped around an old role.
This is your quality engineering starting pistol.
Quality engineering is worth learning about. Consider what it means for your company. If you have quality issues or slow release cycles, it could give you a better way to implement software.
If your company is not adopting Quality Engineering now, it probably will in the future.
Post a Comment
Sign up to receive the latest, software testing insights, news and to join the Calleo mailing list. You can, of course, unsubscribe at any time.