The overall objective of both Quality Assurance and Software
Testing is Software Quality. However, the fundamental difference between
testing and quality assurance is stated as follows:
Quality assurance defines the appropriate activities that ensure quality is
built into the product. It is a set of activities which are
followed methodically to ensure that the development and
maintenance processes are adequate to meet the objectives of the
system efficiently. QA reviews the different elements of a project.
Testing is performed after the entire product is built.
It is a process of executing the system with the intent of finding
errors and system vulnerabilities. It also includes test planning before test
execution.
Another term usually confused with this context of discussion is Quality
Control. It is a set of activities which are defined
to ensure whether the developed software meets the customer
requirements. Testing is considered to be a part of Quality Control.
However, not all the activities in QC are testing. Hence, we can say that
testing is an activity under QC.
The final objective of Quality Assurance is
to provide assurance of the product quality. It consists of
activities which usually precede the development stage of the product and
continue throughout the development process. QA focuses on prevention of
defects, processes and continued improvements of these processes.
There can be a confusion as to who is responsible
for QA and who is responsible for Testing. This decision
usually will differ as per the organization, its resources and
development methodology under practice.
Matured
organizations implement a segregated Quality Assurance and Testing
practice.
As the two concepts differ, so do the responsibilities associated with
each of them.
Testing teams document test reviews, plan test, analyze and design
tests, verify and validate tests and test the reporting through various test
levels.
The QA team on the
other hand performs the following functions:
- Implements standards and policies for quality
- Prepares the project quality solutions
- Ensures that the software processes conform to quality plans
- Conducts regular process and product audits and presents the assessment report to the senior team.
- Assures quality throughout the software development lifecycle
As far as the project documentation is considered, the test team
prepares the test documents and plans based on business requirements and design
documents. Test documentations cover test processes, test approach,
detailed schedules of test, environment requirement, test management and
reporting. The QA documentation deals with an extended set of activities. It
covers project development methodologies, acceptance criteria, audit processes,
configuration management and quality policies.
Conclusion
Understanding the differences in responsibilities between the quality
assurance and testing team helps to appreciate the activities performed by
each. For a successful project delivery, the QA team needs to
be different than the other project development and delivery team. QA
and Testing teams can reside in the same team for smaller
organizations, however, they need to be separated as much as possible
to avoid conflicts of interests.

No comments:
Post a Comment