SWQA Principles & Quality Management Notes
Coming from a freelance testing background, I used to think that software QA was only manual testing. My university course completely flipped this perspective. I quickly realised that QA is a far richer and broader discipline. It was a relief, as I was ready to rule out the field altogether. Even though I am no longer aiming for a full-time QA role, applying these principles as a developer will…
Software quality assurance (SWQA) goes well beyond the traditional image of manual testing held by many, such as the narrator who once thought it was the only aspect of QA. While in university, the narrator discovered that QA is a much broader discipline that encompasses far more than just testing. This revelation came as a relief, as it opened the door to a career in QA even though the narrator is not pursuing a full-time role in this field.
The principles of software quality assurance and software testing guide the development process, with the latter explaining the purpose and limitations of testing.
A critical concept in this field is Quality Management (QM), which is a subset of the larger quality management umbrella. QM involves organized efforts to enhance the quality of a product or service, including all artifacts generated throughout the Software Development Life Cycle (SDLC). This applies not only to code but also to other elements produced during development.
If quality is not integrated from the beginning, errors from early stages can become prohibitively expensive to fix later on, making QM activities essential and intertwined with development processes.
The cost of quality in software development can be broken down into two primary categories: error prevention and error correction costs. Error prevention costs are the expenses incurred prior to delivery to anticipate and detect errors early, encompassing both constructive (proactive) and analytical (reactive) QM activities. On the other hand, error correction costs arise after the software has been delivered and can be classified into internal (company-level) and external (shareholder-level) expenses.
Internal costs include actions like localizing and fixing errors, as well as re-running tests after code modifications. External costs, meanwhile, involve penalties from contracts, loss of customer confidence, and damage to the company's reputation.
The relationship between these costs is crucial for organizations to understand. Investing more in error prevention generally results in higher quality systems and lower correction costs. However, the balance must be struck to avoid over-spending on QA, which can lead to diminishing returns where obvious errors require intensive testing resources. Companies strive for a cost-optimized QA system where the expenditure on prevention and correction is balanced to maintain the highest quality at the lowest possible cost.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.