|
Welcome
to the QA section of my website!
This
area is for people who are interested in other software quality topics
besides just testing. These topics include standards, measurements and
metrics, processes, and other software quality-related activities.
What
is Quality Assurance?
Quality
Assurance (QA) is the management of quality. QA is not testing,
although many people commonly call testing "QA".
According
to IEEE Standard 12207 for Software Life Cycle Processes:
"The
Quality Assurance Process is a process for providing adequate assurance
that the software products and processes in the project life cycle
conform to their specified requirements and adhere to their established
plans. To be unbiased, quality assurance needs to have organizational
freedom and authority from persons directly responsible for developing
the software product or executing the process in the project. Quality
assurance may be internal or external depending on whether evidence of
product or process quality is demonstrated to the management of the
supplier or the acquirer. Quality assurance may make use of the results
of other supporting processes, such as Verification, Validation, Joint
Reviews, Audits, and Problem Resolution."
Why
is the distinction important?
Okay, so
the terminology police are not going to arrest you if you use "QA"
instead of "QC" to name your testing efforts. The problem is that the
confusion in terms can cause people missing critical pieces of
the quality process. Also, since QA is the management of quality, if
true QA is not being performed, then little or no management of quality
is happening. As I say in my classes, "The pilot of the airliner is in
the coach passing out snacks. No one is flying the plane."
Just a
few examples of what QA does are:
- Define
standards
- Determine
compliance to standards
- Design
measurements and metrics
- Determine
compliance in keeping measurements and metrics
- Design
processes for all aspects of the software process, including
development, testing, configuration management, etc.
- Facilitate
testing
- Suggest
ways to improve processes
- Facilitate
and implement process improvement efforts
One of
the major problems with the pure QA definition is that much of the
results are hard to see in the short term. QC activities can catch
problems that can be seen immediately. It's the problem of when
everything is working well, nobody notices.
That's
why many QA groups actually perform some level of testing. This becomes
a problem when a QA group does a lot of testing (50% of their work or
more). I often advise QA teams to make their work as visible
and valuable as possible.
Related
Articles
Here are
several articles that should be on interest to QA professionals:
Related
Courses
On this
site, you will find the following courses helpful in building your QA
skills:
QA
Processes
IEEE Standards for Software
Engineering
Reviews and Inspections
All materials on this site
copyright 1996 - 2008, Rice Consulting Services, Inc.
Rice
Consulting Services, Inc.
P.O. Box 892003
Oklahoma City, OK 73189
405-691-8075
"Leaders
are made, they are not born. They are made by hard effort,
which is the price which all of us must pay to achieve any goal that is
worthwhile." -- Vince Lombardi

This site best
viewed with the Mozilla Firefox
browser!
|