Despite their close association, quality assurance (QA) and software testing are not completely synonymous. Their objectives, features, and methods are different, and even software testers and QA engineers can be a bit hazy when it comes to distinguishing their expectations. QA covers the process of achieving and maintaining a product’s desired quality level, while software testing identifies possible defects and bugs in a software product. And though both may have a similar end in sight, each is unique in determining a product’s success.
QA affects every product development process, from pre-design to product release — including testing. It also addresses management issues, such as checklists, project analysis, and development strategies. On the other hand, testing involves identifying errors and ensuring they are fixed in order to meet expected requirements in function, compatibility, and design. It’s all about managing known errors, while the aim of QA is error prevention.
Quality control (QC) is the sum of both parts. It aims to locate errors by testing a product along a number of test levels and types; the more test types, the better chance of catching the most errors. QC is product-oriented and guided by users’ recommendations and requirements, making it the straightest road ahead to success.