0% found this document useful (0 votes)
69 views22 pages

Software Quality Essentials

The document discusses five views of quality: value-based, user-based, process-based, product-based, and transcendent. It also summarizes McCall's quality factors which include factors related to product operation, product revision, and product transition. Finally, it outlines ISO 9126 quality factors covering functionality, reliability, usability, efficiency, maintainability, and portability.

Uploaded by

richa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
69 views22 pages

Software Quality Essentials

The document discusses five views of quality: value-based, user-based, process-based, product-based, and transcendent. It also summarizes McCall's quality factors which include factors related to product operation, product revision, and product transition. Finally, it outlines ISO 9126 quality factors covering functionality, reliability, usability, efficiency, maintainability, and portability.

Uploaded by

richa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Five Views of Quality

„ Value-based (Engineer to price)


„ User-based (Fitness for purpose)
Software Quality Assurance „ Process-based (Conformance to requirements)
„ Product-based (You get what you pay for)
„ Transcendent (Excellence)

M8034 @ Peter Lo 2006 1 M8034 @ Peter Lo 2006 2

Software Quality Definition The Definition Emphasize

„ Conformance to explicitly stated functional and „ Software requirements are the foundation from which
performance requirements, explicitly documented quality is measured. Lack of conformance to
requirements is lack of quality.
development standards, and implicit
„ Specified standards define a set of development criteria
characteristics that are expected of all
that guide the manner in which software is engineered. If
professionally developed software. the criteria are not followed, lack of quality will almost
surely result.
„ There is a set of implicit requirements that often goes
unmentioned. If software conforms to its explicit
requirements, but fails to meet implicit requirements,
software quality is suspect.

M8034 @ Peter Lo 2006 3 M8034 @ Peter Lo 2006 4


How Important Software Quality? Software Quality Factors

„ It is important to have the understanding that the „ It can be categorized in two groups:
software quality work begins before the testing ‹ Factors that can be Directly Measured (e.g.
phase and continues after the software is delivered. errors; KLOC; unit-time)
‹ Factors that can be Measured only
Indirectly (e.g. usability or maintainability)
„ Or, it can be categorized into:
‹ Internal – Attributes which can be measured or
observed in isolation.
‹ External – Attributes which can only be
observed in relation to external environment.
M8034 @ Peter Lo 2006 5 M8034 @ Peter Lo 2006 6

McCall’s Triangle of Quality McCall’s Triangle of Quality

„ McCall’s quality factors were proposed in the


PRODUCT REVISION PRODUCT TRANSITION early 1970s.
Maintainability Portability „ They are as valid today as they were in that time.
Flexibility Reusability
„ It’s likely that software built to conform to these
Testability Interoperability factors will exhibit high quality well into the 21st
century, even if there are dramatic changes in
technology.
PRODUCT OPERATION
Reliability Integrity
Correctness Usability Efficiency
M8034 @ Peter Lo 2006 7 M8034 @ Peter Lo 2006 8
Product Operations – Product Revision –
Operation Characteristics Ability to Undergo Change
Correctness The extent to which a program satisfies its Maintainability The effort required to locate and fix an
specification and fulfills the customer's mission error in a program.
objectives.
Reliability The extent to which a program can be expected to
perform its intended function with required precision.
Flexibility The effort required to modify an
Efficiency The amount of computing resources and code required operational program.
by a program to perform its function.

Integrity The extent to which access to software or data by


unauthorized persons can be controlled. Testability The effort required to test a program to
ensure that it performs its intended
Usability The effort required to learn, operate, prepare input, function.
and interpret output of a program.

M8034 @ Peter Lo 2006 9 M8034 @ Peter Lo 2006 10

Product Transition – Adaptability to


ISO 9126 Quality Factors
New Environments
Portability The effort required to transfer the program „ These factors provide a basis for indirect
from one hardware and / or software measures and an excellent checklist for assessing
system environment to another.
the quality of the system.
Reusability The extent to which a program (or parts of ‹ Functionality
a program) can be reused in other
‹ Reliability
applications - related to the packaging and
scope of the functions that the program ‹ Usability
performs. ‹ Efficiency
Interoperability The effort required to couple one system
‹ Maintainability
to another.
‹ Portability

M8034 @ Peter Lo 2006 11 M8034 @ Peter Lo 2006 12


ISO 9126 Quality Factors – ISO 9126 Quality Factors –
Functionality Reliability
„ The degree to which the software satisfies stated „ The amount of time that the software is available
needs as indicated by the following sub-attributes: for use as indicated by the following sub-attributes:
‹ Suitability ‹ Maturity

‹ Accuracy ‹ Fault tolerance

‹ Interoperability ‹ Recoverability

‹ Compliance

‹ Security

M8034 @ Peter Lo 2006 13 M8034 @ Peter Lo 2006 14

ISO 9126 Quality Factors – ISO 9126 Quality Factors –


Usability Efficiency
„ The degree to which the software is easy to use as „ The degree to which the software makes optimal
indicated by the following sub-attributes: use of system resources as indicated by the
‹ Understandability following sub-attributes:
‹ Learnability ‹ Time behaviour

‹ Operability ‹ Resource behaviour

M8034 @ Peter Lo 2006 15 M8034 @ Peter Lo 2006 16


ISO 9126 Quality Factors – ISO 9126 Quality Factors –
Maintainability Portability
„ The ease with which repair may be made to the „ The ease with which the software can be
software as indicated by the following sub- transposed from one environment to another as
attributes: indicated by the following sub-attributes:
‹ Analysability ‹ Adaptability

‹ Changeability ‹ Installability

‹ Stability ‹ Conformance

‹ Testability ‹ Replaceability

M8034 @ Peter Lo 2006 17 M8034 @ Peter Lo 2006 18

The Attributes of Effective Software


Software Quality Metric
A u d i ta b i l i t y
A ccuracy
T h e e a s e w i th w h i c h c o n f o r m a n c e t o s t a n d a r d s c a n b e c h e c k e d .
T h e p r e c i s i o n o f c o m p u t a t i o n s a n d c o n tr o l.
Metrics
C o m m u n ication T h e d e g r e e t o w h i c h s t a n d a r d in t e r f a c e s , p r o t o c o l s , a n d b a n d w i d th s a r e u s e d .
c o m m o n a li t y
C o m p le ten ess T h e d e g r e e t o w h i c h f u l l i m p l e m e n t a t i o n o f r e q u ir e d f u n c ti o n h a s b e e n a c h i e v e d . „ Simple and Computable
C o n cisen ess T h e c o m p a c tn e s s o f t h e p r o g r a m in t e r m s o f l in e s o f c o d e .
C o n sisten c y T h e u s e o f u n i f o r m d e s i g n a n d d o c u m e n ta t i o n t e c h n i q u e s th r o u g h o u t th e s o f t w a r e
d e v e l o p m e n t p r o je c t . „ Empirically and Intuitively Persuasive
D a ta T h e u s e o f s t a n d a r d d a ta s tr u c t u r e s a n d t y p e s t h r o u g h o u t th e p r o g r a m .
c o m m o n a li t y
E rr o r to leran ce T h e d a m a g e th a t o c c u r s w h e n th e p r o g r a m e n c o u n t e r s a n e r r o r .
„ Consistent and Objective
E x ecu tio n T h e r u n - t im e p e r f o r m a n c e o f a p r o g r a m .
e f fic ie n c y
E x p a n d a b i li t y T h e d e g r e e t o w h i c h a r c h it e c t u r a l, d a ta , o r p r o c e d u r a l d e s i g n c a n b e e x t e n d e d .
„ Consistent in its Use of Units and Dimensions
G e n e r a li t y T h e b r e a d th o f p o t e n ti a l a p p li c a ti o n o f p r o g r a m c o m p o n e n t s .
H ardw are
in d e p e n d e n c e
T h e d e g r e e t o w h i c h th e s o f t w a r e i s d e - c o u p l e d f r o m th e h a r d w a r e o n w h i c h i t
o p er a tes
„ Programming Language Independent
I n s tr u m e n t a ti o n T h e d e g r e e t o w h i c h th e p r o g r a m m o n i t o r s it s o w n o p e r a t i o n a n d i d e n ti f i e s e r r o r s th a t

M o d u lar ity
do occur.
T h e f u n c ti o n a l in d e p e n d e n c e o f p r o g r a m c o m p o n e n t s .
„ An Effective Mechanism for Quality Feedback
O p e r a b i li t y T h e ea se o f o p er atio n o f a p r o g r am .
S e c u r ity T h e a v a il a b i li t y o f m e c h a n i s m s th a t c o n tr o l o r p r o t e c t p r o g r a m s a n d d a t a .
S e lf- T h e d e g r e e t o w h i c h th e s o u r c e c o d e p r o v i d e s m e a n in g f u l d o c u m e n ta t i o n .
d o cu m en tatio n
S i m p li c i t y T h e d e g r e e to w h ich a p r o g r a m c a n b e u n d er s to o d w ith o u t d iffic u lty .
S o f t w a r e s y s t e m T h e d e g r e e t o w h i c h th e p r o g r a m i s in d e p e n d e n t o f n o n s t a n d a r d p r o g r a m m in g
in d e p e n d e n c e l a n g u a g e f e a t u r e s , o p e r a tin g s y s t e m c h a r a c t e r i s t i c s , a n d o th e r e n v i r o n m e n ta l
c o n s t r a in t s .
T r a c e a b l i lt y T h e a b i li t y t o tr a c e a d e s i g n r e p r e s e n ta t i o n o r a c t u a l p r o g r a m c o m p o n e n t b a c k t o
r e q u ir e m e n t s .
M8034 @ Peter Lo 2006 19 M8034 @ Peter Lo 2006 20
T r a in in g T h e d e g r e e t o w h i c h th e s o f t w a r e a s s i s t s in e n a b l in g n e w u s e r s t o a p p l y th e s y s t e m .
Attributes of Effective Software Metrics – Attributes of Effective Software Metrics –
Simple and Computable Empirically and Intuitively Persuasive
„ It should be relatively easy to learn how to derive „ The metric should satisfy the engineer’s intuitive
the metric, and its computation should not demand notions about the product attribute under
inordinate effort or time. consideration.

M8034 @ Peter Lo 2006 21 M8034 @ Peter Lo 2006 22

Attributes of Effective Software Metrics – Attributes of Effective Software Metrics –


Consistent and Objective Consistent in Use of Units and Dimensions
„ The metric should always yield results that are „ The mathematical computation of the metric
unambiguous. should use measures that do not lead to bizarre
combinations of unit.

M8034 @ Peter Lo 2006 23 M8034 @ Peter Lo 2006 24


Attributes of Effective Software Metrics – Attributes of Effective Software Metrics –
Programming Language Independent Effective Mechanism for Quality Feedback
„ Metrics should be based on the analysis model, the „ The metric should provide a software engineer
design model, or the structure of the program itself. with information that can lead to a higher quality
end product.

M8034 @ Peter Lo 2006 25 M8034 @ Peter Lo 2006 26

Software Reliability Reliability Metric


„ Most hardware-related reliability models are „ Reliability metric is an indicator of how broken a
predicated on failure due to wear rather than program is.
failure due to design defects.
„ Metrics are best weighted by the by severity of
„ In hardware, failures due to physical wear (e.g. the errors.
effects of temperature, corrosion, shock) are more
likely than a design-related failure. „ A minor error every hour is better than a
„ The opposite is true for software: in fact, all catastrophe every month.
software failures can be traced to design or „ These metrics are not the same as counting bugs,
implementation problems; wear does not enter into but indicate different probabilities of happening.
the picture.

M8034 @ Peter Lo 2006 27 M8034 @ Peter Lo 2006 28


Mean Time Between Failure (MTBF) Availability

„ MTBF = MTTF + MTTR „ Software availability is the probability that a program is


operating according to requirements at a given point in
„ Measures how long a program is likely to run time
before it does something bad like crash. ‹ Availability = MTTF/ (MTTF + MTTR) * 100%
‹ MTTF is the mean time to failure.  MTTF is the mean time to failure.

‹ MTTR is the mean time to repair.  MTTR is the mean time to repair.

M8034 @ Peter Lo 2006 29 M8034 @ Peter Lo 2006 30

Probability of Failure on Demand Rate of Failure Occurrence

„ Common for safety-critical systems „ This tells how many may occur in a given period
‹ e.g. a specification may be that there not exceed ‹ e.g. 2 errors per 100 minutes. This is considered
1 chance in 1010 that a missile gets through. one of the best metrics

M8034 @ Peter Lo 2006 31 M8034 @ Peter Lo 2006 32


Quality Concepts Cost of Quality

„ Controlling variation among products is what „ Prevention Costs


‹ Quality planning, formal technical reviews, test
quality assurance work is all about.
equipment, training, etc
„ Software engineers are concerned with controlling „ Appraisal Costs
the variation in their processes, resource ‹ In-process and inter-process inspection, equipment
expenditures, and the quality attributes of the end calibration and maintenance, testing, etc
products. „ Failure Costs
‹ Internal Failure Costs (rework, repair, failure mode
„ Also need to be aware that customer satisfaction is
analysis)
very important to modern quality work as is ‹ External Failure Costs (complaint resolution, product
quality of design and quality of conformance. return and replacement, help line support, warranty
work)
M8034 @ Peter Lo 2006 33 M8034 @ Peter Lo 2006 34

Cost Impact of Software Defects The Goal of Quality Assurance


„ The later in the life cycle that an error is detected the more „ To provide management with the necessary to be
expensive it is to repair.
informed about product quality, thereby gaining
„ Errors remain latent and are not detected until well after
the stage at which they are made. insight and confidence that product quality is
‹ 54% of errors detected after coding and unit testing.
meeting its goals
‹ 45% of these errors were requirements and design
errors.
„ There are numerous requirements errors.
‹ Estimates indicate that 56% of all errors are errors
during the requirements stage.
„ Requirements errors are typically nonclerical.
‹ Estimates indicate that 77% requirements errors were
nonclerical.
M8034 @ Peter Lo 2006 35 M8034 @ Peter Lo 2006 36
Software Quality Assurance Software Quality Assurance (SQA)
„ Software Quality Assurance is an essential activity for any
Process Formal business that produces products to be used by others.
Definition & Technical
Standards Reviews „ It is a “planned and systematic pattern of actions” that are
required to ensure quality in software.
„ The SQA group must look at software from the customer’s
Analysis
& Test perspective, as well as assessing its technical merits.
Reporting Planning „ The activities performed by the SQA group involve quality
& Review
Measurement planning, oversight, record keeping, analysis and reporting.

M8034 @ Peter Lo 2006 37 M8034 @ Peter Lo 2006 38

Software Quality Management Measuring Quality

„ Concerned with ensuring that the required level of „ The main factors that defined software quality
quality is achieved in a software product includes
‹ Correctness – the degree to which a program
„ Involves defining appropriate quality standards
and procedures and ensuring that these are operates according to specification
‹ Maintainability – the degree to which a
followed
program is amenable to change
„ Should aim to develop a ‘quality culture’ where
‹ Integrity – the degree to which a program is
quality is seen as everyone’s responsibility impervious to outside attack
‹ Usability – the degree to which a program is
easy to use

M8034 @ Peter Lo 2006 39 M8034 @ Peter Lo 2006 40


Software Quality – Correctness Software Quality – Maintainability

„ A program must operate correctly. „ It cannot be measure directly. So we must use


„ Correctness is the degree to which the s/w indirect measures.
performs its required operation. „ A simple time oriented metric is mean time -to-
change (MTTC), the time it takes to analyse the
„ The most common measure for correctness is change request, design an appropriate
defects per KLOC, where a defect is defined as a modification, implement the change, test it and
verified lack of conformance to requirements. distribute the change to all users.
„ On average, programs that are maintainable will
have a lower MTTC (for equivalent types of
changes) than programs that are not maintainable.

M8034 @ Peter Lo 2006 41 M8034 @ Peter Lo 2006 42

Software Quality – Integrity Software Quality – Usability


„ S/w integrity has become increasingly important in the age „ It is an attempt to quantify “user friendliness” and can be
of hackers and viruses. This attribute measures a system’s measured in terms of 4 characteristics:
ability to withstand attacks (both accidental and intentional) ‹ The physical and or intellectual skill required to learn
on its security. Attack can be made on all 3 components of the system;
s/w: programs, data and documents. ‹ The time required to become moderately efficient in the
„ The integrity of a system can be defined as : use of the system
‹ Integrity = [ 1 - threat X (1 - security) ] ‹ the net increase in productivity measured when the

„ where Threat is the probability that can attack of a specific system is used by someone who moderately efficient
type will occur within a given time. Security is the and
probability that the attack of a specific type will be ‹ A subjective assessment (using a questionnaire) of
repelled. users attitude towards the system.

M8034 @ Peter Lo 2006 43 M8034 @ Peter Lo 2006 44


SQA Seven Major Activities –
SQA Seven Major Activities
Application of Technical Methods
„ Application of Technical Methods „ It helps analyst to achieve a high-quality
„ Conduct of Formal Technical Reviews specification and the designer to develop a high-
„ Software Testing quality design.
„ Enforcement of Standards
„ Control of Change
„ Measurement
„ Record Keeping and Reporting

M8034 @ Peter Lo 2006 45 M8034 @ Peter Lo 2006 46

SQA Seven Major Activities – SQA Seven Major Activities –


Conduct of Formal Technical Reviews Software Testing
„ It uncovers quality problems. „ It combines a multi-step strategy with a series of
test case design methods that help ensure effective
error detection.

M8034 @ Peter Lo 2006 47 M8034 @ Peter Lo 2006 48


SQA Seven Major Activities – SQA Seven Major Activities –
Enforcement of Standards Control of Change
„ SQA activity must be established to ensure that „ It contributes directly to software quality by
standards are followed. formalizing requests for change, evaluating the
nature of change, and controlling the impact of
change.

M8034 @ Peter Lo 2006 49 M8034 @ Peter Lo 2006 50

SQA Seven Major Activities – SQA Seven Major Activities –


Measurement Record Keeping and Reporting
„ An important objective of SQA is to track „ It provides procedures for the collection and
software quality and assess the impact of dissemination of SQA information.
methodological and procedural changes on
improved software quality.
„ To accomplish this, measurement must be done.

M8034 @ Peter Lo 2006 51 M8034 @ Peter Lo 2006 52


The SQA Plan The SQA Plan Standard (IEEE)

„ The SQA plan provides a road map for instituting „ Initial section describes the purpose and scope of the
document and software process activities.
software quality assurance.
‹ Management section describes organizational structure,
„ Developed by the SQA group, the plan serves as a SQA activities and tasks etc.
template for SQA activities that are instituted for ‹ The documentation section describes each of the work

each software project. products produced as part of the software process.


‹ The standards, practices and conventions section
„ The remainder of SQA plan identifies the tools describes all applicable standards and practices.
and methods that support SQA activities and tasks, ‹ The reviews and audits section describes reviews and
software configuration management procedures audits to be conducted by different group.
etc. ‹ The test section describes software test plan and
procedure and record keeping requirements.

M8034 @ Peter Lo 2006 53 M8034 @ Peter Lo 2006 54

Tradeoff between Cost and Reliability What are Reviews?

„ It demands more time and resources for testing „ A meeting conducted by technical people for
and debugging. technical people
„ It requires more internal safety checks, and this „ A technical assessment of a work product created
makes programs larger and slower. during the software engineering process
„ A software quality assurance mechanism
„ A training ground

M8034 @ Peter Lo 2006 55 M8034 @ Peter Lo 2006 56


What Reviews are Not! Software Reviews

„ They are not: „ It is important to note that any work product


‹ A project budget summary (including documents) should be reviewed.
‹ A scheduling assessment „ Conducting timely reviews of all work products
‹ An overall progress report
can often eliminate 80% of the defects before any
testing is conducted.
‹ A mechanism for reprisal or political intrigue!!
Select Complete
review team review forms

Arrange place
Hold review
and time

Distribute
documents
M8034 @ Peter Lo 2006 57 M8034 @ Peter Lo 2006 58

Types of Reviews Quality Reviews


Review type Principal purpose
Design or program To detect detailed errors in the design or „ Objective is the discovery of system defects and
inspections code and to check whether standards have
been followed. Thereview should be driven inconsistencies
by a checklist of possible errors.
Progress reviews To provide information for management
„ Any documents produced in the process may be
about the overall progress of the project. reviewed
This is both a process and a product review
and is concerned with costs, plans and „ Review teams should be relatively small and
schedules. reviews should be fairly short
Quality reviews To carry out a technical analysis of product
components or documentationto find faults „ Review should be recorded and records
or mismatches between the specification maintained
and the design, code or documentation. It
may also be concerned with broader quality
issues such as adherence to standards and
other quality attributes.
M8034 @ Peter Lo 2006 59 M8034 @ Peter Lo 2006 60
Review Results Formal Technical Reviews
„ Comments made during the review should be classified. „ Formal technical review is
‹ No action. ‹ A class of reviews that include walkthroughs,
‹ Refer for repair – Designer or programmer should inspections, round-robin reviews, and other
correct an identified fault. small group technical assessments of software
‹ Reconsider overall design – The problem identified in ‹ A planned and controlled meeting attended by a
the review impacts other parts of the design. Some group of diversified people
overall judgement must be made about the most cost-
„ Formal technical reviews can be conducted during
effective way of solving the problem.
each step in the software engineering process.
„ Requirements and specification errors may have to be
referred to the client. „ A brief checklist can be used to access products
that are derived as part of software development.

M8034 @ Peter Lo 2006 61 M8034 @ Peter Lo 2006 62

Objectives of Formal Technical


Effects of Formal Technical Review
Review
„ To uncover errors in function, logic, or „ Early discovery of software defects so the
implementation for any representation of the development and maintenance phase is
software substantially reduced
„ To verify that the software under review meets its „ Serves as a training ground, enabling junior
requirements engineers to observe different approaches to
„ To ensure that the software has been represented software analysis, design, and implementation
according to predefined standards „ Serves to promote backup and continuity because
„ To achieve software that is developed in a uniform a number of people become familiar with parts of
manner the software that they may not have otherwise
„ To make projects more manageable seen

M8034 @ Peter Lo 2006 63 M8034 @ Peter Lo 2006 64


Conducting the Review The Players
„ Be prepared – evaluate product before the review review
leader standards bearer (SQA)
„ Review the product, not the producer
„ Keep your tone mild, ask questions instead of making producer
accusations
„ Stick to the review agenda
„ Raise issues, don't resolve them maintenance
„ Avoid discussions of style – stick to technical correctness oracle

„ schedule reviews as project tasks reviewer


recorder
„ record and report all review results
user rep

M8034 @ Peter Lo 2006 65 M8034 @ Peter Lo 2006 66

Metrics Derived from Reviews Review Options Matrix


IPR * WT IN RRR
„ Inspection time per page of documentation
trained leader no yes yes yes
„ Inspection time per KLOC or FP agenda established maybe yes yes yes
reviewers prepare in advance maybe yes yes yes
„ Errors uncovered per reviewer hour producer presents product no no
maybe yes
„ Errors uncovered per preparation hour “reader” presents product no no yes no
recorder takes notes maybe yes yes yes
„ Errors uncovered per SE task (e.g., design) checklists used to find errors no no yes no
„ Number of minor errors (e.g., typos) errors categorized as found no no yes no
issues list created no yes yes yes
„ Number of errors found during preparation team must sign-off on result no yes yes maybe
„ Number of major errors (e.g., nonconformance to
IPR—informal peer review WT—Walkthrough
requirement) * IN—Inspection RRR—round robin review
„ Inspection effort per KLOC or FP

M8034 @ Peter Lo 2006 67 M8034 @ Peter Lo 2006 68


The checklists Fagan Inspection
„ The checklists are not to be comprehensive, but rather to provide a „ Michael Fagan noticed that no inspection of designs was
point of departure for each review. routinely practiced during software development in IBM
‹ System Engineering
during 1970s
‹ Software Project Planning
„ He developed a set of procedures for inspection of
‹ Software Requirements Analysis
software designs, source code, test plans and test cases.
‹ Software Design

‹ Preliminary Design Review


„ Fagan argued that software development should
‹ Design Walkthrough ‹ Clearly define the programming process as a series of

‹ Coding operations, each with its own exit criteria.


‹ Software Testing ‹ Measure the completeness of the product at any point of
‹ Test Plan its development by inspections or tests.
‹ Test Procedure ‹ Use measurements to control the process.
‹ Maintenance

M8034 @ Peter Lo 2006 69 M8034 @ Peter Lo 2006 70

Types of Inspection Inspection Team


Phases Inspections Role Task
I0 Initial Design Initial Design Specification (include Moderator In charge of the whole inspection. Chair the meeting.
functional & module specification) is He should not be involved in develop material under
inspected against Statement of inspection. A technical person.
requirements.
Author Give initial presentation. Rework to remove defect.
I1 Detailed Design Logic Specifications are inspected against
the Initial Design Specification
I2 Coding Source Code is inspected against Logic Inspector Normally two inspectors participate, usually
Specifications. members of development team that produced the
material under inspection (but not the same phase)
IT1 Test Plan Preparation Test Plan is inspected against Functional
Specification. Secretary Recording, enter data to database.

IT2 Test Case Preparation Test Case Listings are inspected against
Test Plan.
M8034 @ Peter Lo 2006 71 M8034 @ Peter Lo 2006 72
Inspection Procedure The Inspection Meeting
Steps Participants Objectives Remarks „ 3-5 people only
1. Planning Moderator Schedule Activities Include higher-level document, „ Lasts for two hours only
& Distribute Material checklists etc. „ The decision is based on standards which are specific to
2. Overview Author & others Education Author gives presentation to the organization.
other participants
„ The moderator first outlines the material to be inspected
3. Preparation All Participants Familiarization Study privately
and describes the intended function of the corresponding
4. Inspection Entire Team Find Defects A 2 hour meeting. Defects are part of the system.
recorded. Moderator decides the
material pass or not. Produce „ The reader then reads through all the material.
report. „ The inspection is extremely thorough
5. Rework Author Correct Defects
„ At the end of the meeting, the defect list is approved by all
6. Follow Up Moderator & Assure Rework is participants, and the moderator decides whether or not a
Author Correct; Improve
Development Process; re-inspection will be necessary after the rework.
Improve Inspection
M8034 @ Peter Lo 2006 Efficiency 73 M8034 @ Peter Lo 2006 74

Exit Criteria Checklists

„ To judge whether a given development phase is „ Set of questions inspectors to ask themselves.
complete. „ Different set of checklists corresponding to
„ It must be defined by individual organizations to different type of inspection & programming
meet the needs of their own development language.
environment. „ Should be continually added to improve inspection
„ Some examples: experience.
‹ I0: external specifications are completed

‹ I1: design specifications must be structured

‹ I2: module prologue up-to-date and complete

M8034 @ Peter Lo 2006 75 M8034 @ Peter Lo 2006 76


Defect Recording and Classification Inspection Database

„ Defect is record with serial number, type, category, „ Record effort required for preparation, number of
severity, line number in material, description and defect detected, size of material inspected.
estimate time to fix. „ Use to monitor and control development process,
Class Value and improve the effectiveness of the inspections.
Severity Major, Minor

Category Missing, Wrong, Extra

Type As defined in checklist

M8034 @ Peter Lo 2006 77 M8034 @ Peter Lo 2006 78

Measures for Inspection Use of Defect Type Distribution


Attributes Measures
„ Inspection improvement (Can focus on prevalent
Effort Number of person-hours
Code Size NCSS {non-Comment Source Statements}
defect)
Specification Size NCSS „ Programmer self-improvement
Rework Size NCSS {statement added, modified or deleted}
„ Development process improvement (Guide
Inspection Rate Size of material / Person-hours
management in providing training, standard and
Rework Rate Size of material / Person-hours
Defects Detected Count {can grouped by inspection, module, type, category or
procedures)
severity}
Defects Present Count {estimate number of defects before inspection}
Defects Remaining Count {estimate number of defects after inspection}
Defect Density Defects Count / Size of Module {can apply to present,
detected or remaining}
Defect Removal Efficiency Defects Removed / Defects present {in %, for an inspection
M8034 @ Peter Lo 2006 step} 79 M8034 @ Peter Lo 2006 80
Use of Defect Type Distribution Effectiveness of Fagan Inspection

„ Defect-prone modules are those in which a higher „ “Amplification and detection” – single defect in
than average number of defects are detected (or high level spec. may give rise to many defects in
estimated to remain). detailed spec.
„ It may due to badly written or more complex. „ Cost of defect detection – 6 to 8 times less than
Special attention should be paid on such modules. failure during test.
„ Inspection data MUST NOT used to assess people. „ Reduction in defect density – experiment show
Punishment will delay development process. 38% few faults than informal walk-through.
„ Improve productivity – experiment show 23%
increase due to reduction of rework time.

M8034 @ Peter Lo 2006 81 M8034 @ Peter Lo 2006 82

Statistical Software Process


Statistical SQA
Improvement (SSPI)
1. All errors and defects are categorised by origin. (e.g., flaw
• collect information on all defects in specification, flaw in logic, non-conformance to
standards).
Product • find the causes of the defects
2. The cost to correct each error and defect is recorded.
& Process
• move to provide fixes for process 3. The number of errors and defects in each category are
counted and ordered in descending order.
4. The overall cost of errors and defects in each category is
measurement computed.
5. Resultant data are analysed to uncover the categories that
result in highest cost to the organisation.
... an understanding of how
to improve quality ... 6. Plans are developed to modify the process with the intent
of eliminating (or reducing the frequency of occurrence of)
the class of errors and defects that is most costly.
M8034 @ Peter Lo 2006 83 M8034 @ Peter Lo 2006 84
Factors that Influence Software
Defect Removal Efficiency (DRE)
Productivity
„ People Factors – The size and expertise of the „ DRE is a measure of the filtering ability of quality
development organisation assurance and control activities as they applied throughout
all process framework activities.
„ Problem Factors – The complexity of the problem and the
number of changes in design requirements „ DRE can be defined as DRE = E/(E+D)
„ where
„ Process Factors – Analysis and design techniques that are
‹ E = no. of errors found before the delivery of the
used, languages and tools available.
software to the end user.
„ Product Factors – Reliability and performance of the
‹ D = no. of defects found after delivery.
computer-based system.
„ The ideal value for DRE is 1. (i.e., no defect). If used as
„ Resource Factors – Availability of CASE tools and metric, DRE encourages a software project team to apply
hardware and software resources. techniques for finding errors as many as possible before
delivery.

M8034 @ Peter Lo 2006 85 M8034 @ Peter Lo 2006 86

You might also like