Software Testing QA L2 V1.0
Software Testing QA L2 V1.0
CSE
Department of Computer
Science&Engineering
Software Quality Program Concepts
CSE
Department of Computer
Science&Engineering
W. Edwards Deming’s Circle
•A significant step can be
taken when senior software
management use the Deming
Circle in conjunction with the
software development cycle
so that each development
phase is subject to the P-D-C-
A approach. This method
focuses attention as the
development proceeds and so
allows time to “act” when
required.
CSE
Department of Computer
Science&Engineering
W. Edwards Deming’s Fourteen Points for Software Managers
CSE
Department of Computer
Science&Engineering
W. Edwards Deming’s Fourteen Points for Software Managers…
CSE
Department of Computer
Science&Engineering
Six Sigma for Software Engineering:
• The Six Sigma methodology defines three core
steps:
– Define customers requirements, and project goals via
well defined methods of customer communication.
– Measure the existing process and its output to
determine current quality performance (collect defect
metrics).
– Analyze defect metrics and determine vital few causes.
CSE
Department of Computer
Science&Engineering
Six Sigma for Software Engineering…:
• If an existing software process is in place, but
improvement is required, Six Sigma suggests two
additional steps:
– Improve the process by eliminating the root causes of
defects.
– Control the process to ensure that future work does not
reintroduce the cause of defects.
– Define, measure, analyze, improve and control.
CSE
Department of Computer
Science&Engineering
Six Sigma for Software Engineering…:
CSE
Department of Computer
Science&Engineering
Review or Inspection: A tool/method for Quality management
• Primary Purpose:
• The inspection has only one primary purpose, that is, to remove
defects as early as possible in the development process. The
purpose of the inspection preparation and meeting is to:
• Identify potential defects during preparation and validate them at
the meeting
• Validate the fact that identified items are actual defects
• Record the existence of the defect; and
• Provide the record to the developer to use in making fixes
CSE
Department of Computer
Science&Engineering
Review or Inspection: A tool for Quality
management…
• Secondary purposes:
• To provide traceability of requirements to design
• To provide a technically correct base for the next phase of
development
• To increase programming quality
• To increase product quality to deliver
• To achieve lower cycle cost
• To increase effectiveness to test activity
• To provide a first indication of program maintainability
• To encourage entry/exit criteria for software management.
CSE
Department of Computer
Science&Engineering
Review Guidelines
• Review the product, not the producer
• Set an agenda and maintain it
• Limit debate and rebuttal
• Enunciate problem areas, but don’t attempt to solve every
problem noted.
• Take written notes
• Limit the number of participants and insist on advance
participation.
• Develop a checklist for each product that is likely to be
received.
• Allocate resources and schedule time for FTRs.
• Conduct meaningful training for all reviewers.
• Review your early reviews.
CSE
Department of Computer
Science&Engineering
Inspection Phases
The moderator of an inspection is responsible for the
entire inspection process for the software product.
There are six distinct inspection phases:
– Planning
– Overview
– Preparation
– Inspection meeting
– Rework
– Follow-up
CSE
Department of Computer
Science&Engineering
• Inspection types:
• High level design inspection (I0): To ensure that the functional design
at the task level is a correct expansion of the software requirements.
• Low-level design(I1): The objective of I1 is to stepwise refine the I0
design to an intermediate level before translation to the target
language code is authorized (page 224).
• Code inspection(I2): The purpose of code inspection is to ensure that
coding is done following all conventions (page 226).
CSE
Department of Computer
Science&Engineering
Types of defects and their definitions:
CSE
Department of Computer
Science&Engineering
• Interface defect: incompatible definition/format of
information exchanged between two modules
• Return code/message defect: incorrect or missing
values/messages sent.
• Comment defect: the explanation accompanying the
design/code language is incorrect, inexplicit or missing
• Requirements change defect: change in the requirements
specification which is the direct and proximate reason for
the required change in the design or code
• Performance improvement defect: code will not perform
in the amount of time/space/CPU allocated.
CSE
Department of Computer
Science&Engineering
Inspection Prerequisites:
CSE
Department of Computer
Science&Engineering
Inspection Metrics:
Goal Question Metric
Plan How much does the Average effort per KLOC
inspection process cost? -Thousand (Kilos)Line of
How much calendar time code
does the inspection
process take?
Monitor What is the quality of the Average faults per KLOC
& inspected software? Average inspection rate
Control To what degree did the staff Average preparation rate
conform to the procedures? Average lines of code
What is the status of the inspected
inspection process? Percentage of
What is the status of the reinspections?
inspection process? Total KLOC inspected.
CSE
Department of Computer
Science&Engineering
Inspection Metrics:
Goal Question Metric
CSE
Department of Computer
Science&Engineering
Nine metrics of QM for code inspection:
•
N
LOC inspected i
Total KLOC inspected i 1
1,000
Where N is the total number of inspection s.
CSE
Department of Computer
Science&Engineering
Software Quality Indicators…:
CSE
Department of Computer
Science&Engineering
Software Quality Indicators…:
CSE
Department of Computer
Science&Engineering
4. Average inspection rate
CSE
Department of Computer
Science&Engineering
• 5. Average effort per
KLOC
N
inspection effort i
Average effort KLOC i 1
total KLOC inspeceted
where N is the totalumbe r of inspection and where
inspection effort i preperatio n time i (number of participan ts i X inspection duration i )
rework tim e i
This metric does not include the effort for the inspection’s planning
and follow-up phases because experience has shown that their
effort is small and does not warrant the cost of collecting the data.
CSE
Department of Computer
Science&Engineering
• 6. Average effort per fault
detected
N
inspection effort i
Average effort per fault detected i 1
N
total faults detected i
i 1
Where N is the total number of inspections. As with the average
effort per KLOC, this effort computation includes only time
spent by the inspection team preparing for meetings, holding the
meetings, and correcting the detected faults.
CSE
Department of Computer
Science&Engineering
Large Satellite Communication Systems
CSE
Department of Computer
Science&Engineering
• Results include 73 inspection meetings on
• 33,000 SLOC-(Source Line of code) during a
four-month period. The total number of issues
recorded was 2,760 (1,180 major and 1,580
minor).
• Labor hours were 4,150 for subcontractors,
including start-up, and 480 for developers.
• Cost savings=cost to find and fix during test –
cost to find and fix using inspection prior to test.
• Cost savings = $ 1 million
CSE
Department of Computer
Science&Engineering
Software Quality Indicators
• The quality indicators address management
concerns, take advantage of data that is already
being collected, are independent of the software
development methodology being used, are specific
to phases in the development cycle, and provide
information on the status of a project.
CSE
Department of Computer
Science&Engineering
Some recommended quality indicators include
1. Progress: Measures the amount of work accomplished by the developer in each
phase. This measure flows through the development life cycle with a number of
requirements defined and baselined, then the amount of preliminary and detailed
designed completed, then the amount of code completed, and various levels of
tests completed.
2. Stability: Assesses whether the products of each phase are sufficiently stable to
allow the next phase to proceed. This measures the number of changes to
requirements, design, and implementation.
3. Process compliance: Measures the developer’s compliance with the development
procedures approved at the beginning of the project. Captures the number of
procedures identified for use on the project versus those complied with on the
project.
4. Quality evaluation effort: Measures the percentage of the developer’s effort that
is being spent on internal quality evaluation activities. Percent of time developers
are required to deal with quality evaluations and related corrective actions.
CSE
Department of Computer
Science&Engineering
Some recommended quality indicators include
5. Test coverage: Measures the amount of the software system covered by the
developer’s testing process. For module testing, this counts the number of basis
paths executed/covered, and for system testing it measures the percentage of
functions tested.
6. Defect detection efficiency: Measures how many of the defects detectable in a
phase were actually discovered during that phase. Starts at 100% and is reduced as
defects are uncovered at a later development phase.
7. Defect removal rate: Measures the number of defects detected and resolved over
time. Number of opened and closed system problem reports (SPR) reported
through the development phases.
8. Defect age profile: Measures the number of defects that have remained
unresolved for a long period of time. By month reporting of SPRs remaining open
greater than 1 month.
9. Defect density: Detects defect-prone components of the system. Provides
measure of SPRs/Computer Software Component (CSC) to determine which is the
most defect-prone CSC.
10. Complexity: Measures the complexity of the code. Collects basis path counts of
code modules to determine how complex each module is.
CSE
Department of Computer
Science&Engineering
Software Product Quality Factors:
CSE
Department of Computer
Science&Engineering
CSE
Department of Computer
Science&Engineering
CSE
Department of Computer
Science&Engineering
Thank You
CSE
Department of Computer
Science&Engineering