Software Testing vs. QC, QA, Audit etc.
Testing, Quality Assurance and Quality Control
Most people are confused with the concepts and difference between Quality Assurance, Quality Control and Testing. Although they are interrelated and at some level they can be considered as the same activities, but there is indeed a difference between them. Mentioned below are the definitions and differences between them:
|S.N.||Quality Assurance||Quality Control||Testing|
|1||Activities which ensure the implementation of processes, procedures and standards in context to verification of developed software and intended requirements.||Activities which ensure the verification of developed software with respect to documented (or not in some cases) requirements.||Activities which ensure the identification of bugs/error/defects in the Software.|
|2||Focuses on processes and procedures rather then conducting actual testing on the system.||Focuses on actual testing by executing Software with intend to identify bug/defect through implementation of procedures and process.||Focuses on actual testing.|
|3||Process oriented activities.||Product oriented activities.||Product oriented activities.|
|4||Preventive activities.||It is a corrective process.||It is a preventive process.|
|5||It is a subset of Software Test Life Cycle (STLC).||QC can be considered as the subset of Quality Assurance.||Testing is the subset of Quality Control.|
Audit and Inspection
A systematic process to determine how the actual testing process is conducted within an organization or a team. Generally, it is an independent examination of processes which are involved during the testing of software. As per IEEE, it is a review of documented processes whether organizations implements and follows the processes or not. Types of Audit include the Legal Compliance Audit, Internal Audit, and System Audit.
A formal technique which involves the formal or informal technical reviews of any artifact by identifying any error or gap. Inspection includes the formal as well as informal technical reviews. As per IEEE94, Inspection is a formal evaluation technique in which software requirements, design, or code are examined in detail by a person or group other than the author to detect faults, violations of development standards, and other problems.
Formal Inspection meetings may have following process: Planning, Overview Preparation, Inspection Meeting, Rework, and Follow-up.
Testing and Debugging
It involves the identification of bug/error/defect in the software without correcting it. Normally professionals with a Quality Assurance background are involved in the identification of bugs. Testing is performed in the testing phase.
It involves identifying, isolating and fixing the problems/bug. Developers who code the software conduct debugging upon encountering an error in the code. Debugging is the part of White box or Unit Testing. Debugging can be performed in the development phase while conducting Unit Testing or in phases while fixing the reported bugs.