Tuesday, August 26, 2008

Difference between Quality Control and Quality Assurance?

Quality Control

Quality Assurance

Definition

QC is about checking at the end of some development process (e.g. - a design activity) that we have built quality in i.e. that we have achieved the required quality with our methods.

QA is about having an overall development and management process that provides right environment for ensuring quality of final product.

Description

QC is like testing a module against requirement specification or design document, measuring response time, throughput etc.

QA gives us added assurance that the whole producing or checking process is properly planned and executed and thus maintaining high quality.

What it does

To check that the modern methods of software development are largely designed to ensure right quality is achieved. QC checks that these methods are in place and to discover where they are not then corrections are to be made.

It gives us added assurance that the while producing / checking process is being properly planned and executed and hence is keeping high our chances of producing software of required quality.

Stages

Define features and levels Define feature check procedure Carrying out the check procedure Record the result take and record any corrective action taken.

1. Determination of quality policy through Quality Management System 2. Checking that predetermined Quality control activities are being properly taken care off.

Best carried out on

QC is best carried out on products

QA is best carried out on process.

Phase of implementation

QC should take place at every stage of SDLC.

QA should be done at end of every SDLC i.e. when product building is complete.

Technique

Structured walkthrough, Fagan Techniques are some of QC techniques.

Quality policy defined and generally implemented in the form of Quality Management System is used to carry out QA.

Difference between Verification and Validation?

S no.

Verification

Validation

1.

Verification is a static testing procedure.

Validation is dynamic testing procedure.

2.

It involves verifying the requirements, detailed design documents, test plans, walkthroughs and inspections of various documents produced
during the development and testing process.

Validation involves actual testing of the product as per the test
plan (unit test, integration test, system test and acceptance test etc).

3.

It is a preventive procedure.

It is a corrective procedure.

4.

Are we building the product RIGHT?

Are we building the RIGHT product?

5.

It involves more then two to three persons and is a group activity.

It involves the testers and sometimes user.

6.

It is also called Human testing, since it involves finding the errors by persons participating in a review or walk through.

It is also called Computer testing, since errors are found out by testing the software on a computer.

7.

Verification occurs on Requirements, Design and code.

Validation occurs only on code and the executable application.

8.

Verification is made both in the Executable and Non Executable forms of a work product

Validation is done only on Executable forms of a work product.

9.

Verification finds errors early in the requirement & design phase and hence reduces the cost of errors.

Validation finds errors only during the testing stage and hence cost of errors reduced is less than Verification.

10.

An effective tool for verification tool is a Checklist.

Various manual and automated test tools are available for Validation.

11.

It requires cooperation and scheduling of meetings and discussions.

It is to check that the product satisfies the requirements and is accepted by the user.

12.

Verification tasks include:

1) Planning

2) Execution

Validation tasks include:

1) Planning

2) Test ware Development

3) Test Execution

4) Test ware Maintenance

13.

Verification activities include:

1) Requirements Verification

2) Functional design verification

3) Internal Design Verification

4) Code Verification

Validation activities include:

1) Unit testing

2) Usability testing

3) Function testing

4) System testing

5) Acceptance testing

14.

Verification deliverables (work products) are:

1) Verification test plan

2) Inspection report

3) Verification test report

Validation deliverables are:

1) Test plan

2) Test Design Specification

3) Test Case Specification

4) Test Procedure Specification

5) Test log

6) Test incident report