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
Audit:
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.
Inspection:
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
Testing:
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.
Debugging:
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.
Many
organizations around the globe are developing and implementing different
Standards to improve the quality needs of their Software. The next section
briefly describes some of the widely used standards related to Quality
Assurance and Testing. Here is a definition of some of them:
ISO/IEC 9126
This
standard deals with the following aspects to determine the quality of a
software application:
- Quality model
- External metrics
- Internal metrics
- Quality in use metrics
This
standard presents some set of quality attributes for any Software such as:
- Functionality
- Reliability
- Usability
- Efficiency
- Maintainability
- Portability
The above
mentioned quality attributes are further divided into sub-factors which you can
study when you will go in detail of the standard.
ISO/IEC 9241-11
Part 11
of this standard deals with the extent to which a product can be used by
specified users to achieve specified goals with Effectiveness, Efficiency and
Satisfaction in a specified context of use.
This
standard proposed a framework which describes the usability components and
relationship between them. In this standard the usability is considered in
terms of user performance and satisfaction. According to ISO 9241-11 usability
depends on context of use and the level of usability will change as the context
changes.
ISO/IEC 25000:2005
ISO/IEC
25000:2005 is commonly known as the standard which gives the guidelines for
Software product Quality Requirements and Evaluation (SQuaRE). This standard
helps in organizing and enhancing the process related to Software quality
requirements and their evaluations. In reality, ISO-25000 replaces the two old
ISO standards i.e. ISO-9126 and ISO-14598.
SQuaRE is divided into sub parts such
as:
- ISO 2500n - Quality Management Division.
- ISO 2501n - Quality Model Division.
- ISO 2502n - Quality Measurement Division.
- ISO 2503n - Quality Requirements Division.
- ISO 2504n - Quality Evaluation Division.
The main
contents of SQuaRE are:
- Terms and definitions.
- Reference Models.
- General guide.
- Individual division guides.
- Standard related to Requirement Engineering (i.e. specification, planning, measurement and evaluation process)
ISO/IEC 12119
This
standard deals with Software packages delivered to the client. It does not
focus or deal with the client.s (the person/organization whom Software is
delivered) production process. The main contents are related to the following
items:
- Set of Requirements for Software packages.
- Instructions for testing the delivered Software package against the requirements.
Miscellaneous
Some of
the other standards related to QA and Testing processes are mentioned below:
|
S.N.
|
Standard & Description
|
|
1
|
IEEE 829
A standard for the format of documents used in different stages of software testing. |
|
2
|
IEEE 1061
A methodology for establishing quality requirements, identifying, implementing, analyzing, and validating the process and product of software quality metrics is defined. |
|
3
|
IEEE 1059
Guide for Software Verification and Validation Plans. |
|
4
|
IEEE 1008
A standard for unit testing. |
|
5
|
IEEE 1012
A standard for Software Verification and Validation. |
|
6
|
IEEE 1028
A standard for software inspections. |
|
7
|
IEEE 1044
A standard for the classification of software anomalies. |
|
8
|
IEEE 1044-1
A guide to the classification of software anomalies. |
|
9
|
IEEE 830
A guide for developing system requirements specifications. |
|
10
|
IEEE 730
A standard for software quality assurance plans |
|
11
|
IEEE 1061
A standard for software quality metrics and methodology. |
|
12
|
IEEE 12207
A standard for software life cycle processes and life cycle data. |
|
13
|
BS 7925-1
A vocabulary of terms used in software testing. |
| 14 |
BS 7925-2
A standard for software component testing.
·
credit to www.tutorialspoint.com
|
No comments:
Post a Comment