Saturday, 14 January 2017

Testing_113 : Software Quality Assurance & Software Quality Control

Software Quality Assurance :

Software quality assurance (SQA) consists of a means of monitoring the software engineering processes and methods used to ensure quality. The methods by which this is accomplished are many and varied, and may include ensuring conformance to one or more standards, such as ISO 9000 or a model such as CMMI.

Software Quality Control :

Software Quality Control is the set of procedures used by organizations to ensure that a software product will meet its quality goals at the best value to the customer, and to continually improve the organization's ability to produce software products in the future.

Difference between Software Quality Assurance & Software Quality Control :

QUALITY ASSURANCE
QUALITY CONTROL
1. QA is a set of activities for ensuring quality in the process by which products are developed.
1. QC is a set of activities for ensuring quality in products. The activities focus on identifying defects in the actual product produced.
2. QA aims to prevent defects with a focus on the process used to make the products. It is a proactive quality process.
2. QC aims to identify (and correct) defects in the finished product. QC therefore is a reactive process.
3. The goal of QA is to improve development and test processes so that defects do not arise when the product is being developed.
3. The goal of QC is to identify defects after a product is developed and before it’s released.
4. Prevention of quality problems through planned and systematic activities including documentation.
4. The activities or techniques used to achieve and maintain the product to quality.
5. Everyone on the team involved in developing the product is responsible for quality assurance.
5. QC is usually the responsibility of a specific team that tests the product for defects.
6. Verification is an example of QA.
6. Validation/Testing is an example of QC.
Verification & Validation :
What is Verification & Validation ?

"Verification" checks whether we are building the right system.
"Validation" checks whether we are building the system right.

Verification Strategies : 
  1. Requirement Review
  2. Design Review
  3. Code Walkthrough
  4. Code Inspection.
Validation Strategies :
  1. Unit Level Testing
  2. Integration Level Testing
  3. System Level Testing
  4. Alpha Testing
  5. User Acceptance Testing
  6. Installation Testing
  7. Beta Testing 
Verification Strategies :

1) Requirement Review:

    The study and discussion of the computer system requirements to ensure they must stated user needs and are feasible.
Deliverable:
    Review and approved statement of requirements. (Approved SRS).

2) Design Review:

    The Study & discussion of the computer system design to ensure it will support the system requirements.
Deliverable:
    Approved HLD & LLD includes DB, UI & UML.

3) Code Walkthrough:
  • Informal analysis of the program.
  • Code Walkthrough helps in analyzing the coding techniques and if the code is meeting the coding standards.
Deliverable:
    Software ready for initial testing by the developer.

4) Code Inspection: 

    Formal analysis of the program source code to find the defects as defined by meeting system design Specification
Deliverable:
    Code ready for Unit Level testing.

Validation Strategies (Input, Behavior, Output):

1) Unit Level Testing:

    Testing of single program, module, or unit of code.
Deliverable:
    Software unit ready for testing with other system component.

2) Integration Testing:

    Testing of integrated programs, module, or units of code.
Deliverable:
    Portions of the system ready for testing with other portions of the system.

3) System Level Testing:

    Testing of entire computer system across all modules. This kind of testing can include functional & structural testing.
Deliverable:
    Tested computer system, based on what was specified to be developed. 

4) Alpha Testing:

    Testing of the whole computer system before rolling out to the UAT.
Deliverable:
    Stable Application.

5) User Acceptance Testing:

    Testing of computer system to make sure it will work in the system regardless of what the system requirements indicate.
Deliverable:
    Tested & accept system based on the user needs.

6) Installation Testing :

    Testing of the computer system during the installation at the user place.
Deliverable:
    Successfully installed application.

7) Beta Testing:

    Testing of the application after the installation at the client place.
Deliverable:
    Successfully installed & running application.



No comments:

Post a Comment