2. QUALITY ASSURANCE
• Quality assurance is "a planned and
systematic pattern of all actions necessary to
provide adequate confidence that the item or
product conforms to established technical
requirements" .
• The purpose of a software quality assurance
group is to provide assurance that the
procedures, tools, and techniques used during
product development and modification are
adequate to provide the desired level of
confidence in the work products.
3. • In some organizations, quality assurance personnel
function in an advisory capacity, while in others
the quality assurance group actively develops
standards, tools, and techniques, and examines all
work products for conformance to specifications.
• Preparation of a Software Quality Assurance Plan
for each software project is a primary responsibility
of the software quality assurance group.
4. Topics in a
Software Quality Assurance Plan:
1.Purpose and scope of the plan .
2. Documents referenced in the plan .
3. Organizational structure, tasks to be performed, and
specific responsibilities as they relate to product quality.
4. Documents to be prepared and checks to be made for
adequacy of the documentation .
5. Standards, practices, and conventions to be used .
5. Other duties performed by quality
assurance personnel include:
• Development of standard policies, practices, and
procedures
• Development of testing tools and other quality
assurance aids
• Performance of the quality assurance functions
described in the Software Quality Assurance Plan
for each project
• Performance and documentation of final product
acceptance tests for each software product.
6. software quality assurance group may
perform the following functions:
Verification Plan
Acceptance Test Plan
7. The verification plan:
Describes the methods to be used in
verifying that the requirements are satisfied by the
design documents and that the source code is
consistent with the requirements specifications
and design documentation.
The Source Code Test Plan (discussed
below) is an important component of the Software
Verification Plan.
8. The Acceptance Test:
Plan includes test cases, expected
outcomes, and capabilities demonstrated by
each test case. Often, quality assurance
personnel will work with the customer to
develop a single Acceptance Test Plan.
9. Types of Test
I. function tests,
II. performance tests,
III. stress tests,
IV. structure tests.
10. Functional test:
• This cases specify typical operating conditions, typical
input values, and typical expected results. Function
tests also test behavior just inside, on, and just
beyond the functional boundaries.
Examples of functional boundary tests
include :Testing a real-valued square root routine
with small positive numbers, zero, and negative
numbers; or testing a matrix inversion routine on a
one-by-one matrix and a singular matrix.
11. Performance tests:
• This test are designed to verify response time under
varying loads, percent of execution time spent in
various segments of the program, throughput,
primary and secondary memory utilization, and traffic
rates on data channels and communication links.
12. Stress tests:
• This test are designed to overload a system in various
ways.
Examples, of stress tests include: attempting
to sign on more than the maximum number of
allowed terminals, processing more than the allowed
number of identifiers or static levels, or
disconnecting a communication link.
13. Structure tests:
• This test are concerned with examining the
internal processing logic of a software
system.
• The goal of structure testing is to traverse a
specified number of paths through each
routine in the system to establish
thoroughness of testing.
14. Each test case in the Source Code Test Plan should
provide the following information:
Type of test (function, performance, stress,
structure)
Machine configuration
Test assumptions
Requirements being tested
Exact test stimuli
Expected outcome