RSS Feed Subscribe to RSS Feed

 

Blog post summary: Quality Assurance is Not About Testing

The following is a summary of Quality Assurance is Not About Testing by Matt Lievertz. I have also incorporated some elements of his earlier The Death of the Non-Coding QA Role post too.

A brief History of QA

Manual testing pre-release

Lievertz starts with a brief history of software Quality Assurance, starting with manually executed functional tests prior to releases, to ensure quality product delivery to customers.

Automated testing

As waterfall gave way to agile in the broader industry, and releases moved from a few times a year to much more frequent, manual testing as part of the release process stopped making sense. The old model of manually testing releases struggled, and test execution automation received a huge boost in investment.
“While Agile places a heavy burden on manual test execution, Continuous Integration (CI) is simply incompatible. Continuous Integration is the term for “the code is constantly building after each little change”. Manual tests simply do not keep pace with CI — the build takes less time than the tests. Conversely, automated tests work famously with CI.”
It was around this time that the non-coding Quality Assurance (QA) role died. That is, driven by some of the same forces driving Operations’ shift to DevOps, QAs now need to code automated tests.

Developers writing tests too

The article goes further and says that QA can do much more than just write automated tests. In fact, in many cases, developers are already doing much of the automated test creation already…
“For a long time the implementation of QA was tied up in testing, but that’s not the case anymore. Developers have been writing unit and integration tests for a long time, and with new, fantastic end-to-end and UI frameworks, developers should bear ultimate responsibility for writing almost any kind of test needed to ensure long term functionality.”

Everyone Tests! So What Does QA Do?

TLDR: Even with (all) engineers writing tests, the QA team still plays a vital role directing what to test, interpreting test results, UX and Performance Tests, and Root Cause Analysis.
QA professionals will continue to work on development teams but may spend more time directing what to test, or interpreting test results than actually testing or writing tests. In some cases, QAs may continue to directly test, but again, more often in higher-value-added areas like User Experience and Performance Testing.
QA Professionals guide and refine the quality of released software through tasks like Risk Analysis (identifying the tests that are needed based on business and user requirements), QA strategy for feature and product release, and Root Cause Analysis.

Tags: , , ,

Leave a Reply