SlideShare a Scribd company logo
1
Introduction
 Traditional definition of
quality:
 fitness of purpose,
 a quality product does exactly
what the users want it to do.
2
Fitness of purpose
For software products,
 fitness of purpose:
 satisfaction of the
requirements specified in
SRS document.
3
Fitness of purpose
 A satisfactory definition of
quality for many products:
 a car, a table fan, a food mixer,
microwave oven, etc.
 But, not satisfactory for
software products.
4
Introduction
 Consider a software product:
 functionally correct,
 i.e. performs all functions as
specified in the SRS document,
 but has an almost unusable
user interface.
 cannot be considered as a
quality product.
5
Introduction
 Another example:
 a product which does
everything that users want.
 but has an almost
incomprehensible and
unmaintainable code.
6
Modern view of quality
 Associates several quality factors with
a software product :
 Correctness
 Portability
 Usability
 Reusability
 Maintainability
Others parameters are: reliability, efficiency etc
and many more as per McCall’s quality factors
7
Correctness
 A software product is correct,
 if different requirements as
specified in the SRS document
have been correctly
implemented.
 Accuracy of results.
8
Portability
 A software product is said to be
portable,
 if it can be easily made to work in
different operating systems,
 in different machines,
 with other software products, etc.
9
Reusability
 A software product has
good reusability,
 if different modules of the
product can easily be reused
to develop new products.
10
Usability
 A software product has good
usability,
 if different categories of users
(i.e. both expert and naive
users) can easily invoke the
functions of the product.
11
Maintainability
 A software product is
maintainable,
 if errors can be easily corrected as
and when they show up,
 new functions can be easily added to
the product,
 functionalities of the product can be
easily modified, etc.
12
MCCall’s Model
-- Product operation factors:
Correctness, reliability, efficiency,
Integrity, Usability
-- Product revision factors:
maintainability, flexibility, testability
-- Product transition factors:
portability, reusability, interoperability
13
Software Quality
Management System
 Quality management
system (or quality system):
 principal methodology used
by organizations to ensure
that the products have
desired quality.
14
Quality system
 A quality system consists of
the following:
 Managerial Structure
 Individual Responsibilities.
 Responsibility of the
organization as a whole.
 The quality system activities encompass the
following:
 Auditing of projects
 Review of the quality system
 Development of standard, procedures and
guidelines
 Production of reports for the top
management summarizing the effectiveness
of quality system.
15
16
Quality system
 Every quality conscious organization
has an independent quality
department:
 performs several quality system activities.
 needs support of top management.
 Without support at a high level in a
company,
 many employees may not take the quality
system seriously.
17
Quality System Activities:
 Auditing of projects
 Development of:
 standards, procedures, and
guidelines, etc.
 Production of reports for the top
management
 summarizing the effectiveness of the
quality system in the organization.
 Review of the quality system itself.
18
Quality system
 A good quality system must be
well documented.
 Without a properly documented
quality system,
 application of quality procedures
become ad hoc,
 results in large variations in the quality
of the products delivered.
19
Quality system
 An undocumented quality system:
 sends clear messages to the staff about
the attitude of the organization towards
quality assurance.
 International standards such as ISO
9000 provide:
 guidance on how to organize a quality
system.
20
Evolution of Quality
Systems
 Quality systems have evolved:
 over the last five decades.
 Prior to World War II,
 way to produce quality products:
 inspect the finished products
 eliminate defective products.
21
Evolution of Quality
Systems
 Since that time,
 quality systems of
organizations have
undergone
 four stages of evolution.
22
Evolution of Quality
Systems
23
Evolution of Quality
Systems
 Initial product inspection method :
 gave way to quality control (QC).
 Quality control:
 not only detect the defective
products and eliminate them
 but also determine the causes
behind the defects.
24
Quality control (QC)
 Quality control aims at correcting
the causes of errors:
 not just rejecting defective products.
 Statistical quality control
 quality of the output of the process is
inferred using statistical methods
 in stead of inspection or testing of all
products
25
Quality control (QC)
 The next breakthrough,
 development of quality assurance
principles
26
Quality assurance
 Basic premise of modern
quality assurance:
 if an organization's processes
are good and are followed
rigorously,
 the products are bound to be of
good quality.
27
Quality assurance
 All modern quality paradigms
include:
 guidance for recognizing,
defining, analyzing, and
improving the production
process.
28
Total quality management
(TQM)
 Advocates:
 continuous process
improvements through
process measurements.
29
Business Process
reengineering
 A term related to TQM.
 Process reengineering goes
a step further than quality
assurance:
 aims at continuous process
improvement.
30
Business Process
reengineering
 Our focus is reengineering of
the software process.
 Whereas BPR aims at
reengineering the way business
is carried out in any organization
 not just software development
organizations.
31
Total quality management
(TQM)
 TQM goes beyond documenting
processes
 optimizes them through redesign.
 Over the years the quality
paradigm has shifted:
 from product assurance to process
assurance.
32
ISO 9000
 ISO (International Organization
for Standardization):
 a consortium of 63 countries
established to formulate and foster
standardization.
 ISO published its 9000 series of
standards in 1987.
33
What is ISO 9000
Certification?
 ISO 9000 certification:
 serves as a reference for contract
between independent parties.
 The ISO 9000 standard:
 specifies guidelines for
maintaining a quality system.
34
What is ISO 9000
Certification?
 ISO 9000 specifies:
 guidelines for repeatable and high
quality product development.
 Also addresses organizational
aspects
 responsibilities, reporting, procedures,
processes, and resources for
implementing quality management.
35
ISO 9000
 A set of guidelines for the
production process.
 not directly concerned about
the product it self.
 a series of three standards:
 ISO 9001, ISO 9002, and ISO 9003.
36
ISO 9000
 Based on the premise:
 if a proper process is
followed for production:
 good quality products are
bound to follow.
37
ISO 9001:
 Applies to:
 organizations engaged in
design, development,
production, and servicing of
goods.
 applicable to most software
development organizations.
38
ISO 9002:
 ISO 9002 applies to:
 organizations who do not design products:
 but are only involved in production.
 Examples of this category of industries:
 steel or car manufacturing industries
 buy the product and plant designs from
external sources:
 only manufacture products.
 not applicable to software development
organizations.
39
ISO 9003
 ISO 9003 applies to:
 organizations involved only in
installation and testing of the
products.
40
ISO 9000 for Software
Industry
 ISO 9000 is a generic standard:
 applicable to many industries,
 starting from a steel manufacturing industry
to a service rendering company.
 Many clauses of ISO 9000 documents:
 use generic terminologies
 very difficult to interpret them in the
context of software organizations.
41
Software vs. other
industries
 Very difficult to interpret many
clauses for software industry:
 software development is
radically different from
development of other products.
42
Software vs. other
industries
 Software is intangible
 therefore difficult to control.
 It is difficult to control anything that we cannot see
and feel.
 In contrast, in a car manufacturing unit:
 we can see a product being developed through
stages such as fitting engine, fitting doors, etc.
 one can accurately tell about the status of the
product at any time.
 Software project management is an altogether
different ball game.
43
Software vs. other
industries
 During software development:
 the only raw material consumed is data.
 For any other product development:
 Lot of raw materials consumed
 e.g. Steel industry consumes large volumes of iron
ore, coal, limestone, etc.
 ISO 9000 standards have many clauses
corresponding to raw material control .
 not relevant to software organizations.
44
Software vs. other
industries
 Radical differences exist
between software and other
product development,
 difficult to interpret various
clauses of the original ISO
standard in the context of
software industry.
45
ISO 9000 Part-3
 ISO released a separate
document called ISO 9000 part-3
in 1991
 to help interpret the ISO standard
for software industry.
 At present,
 official guidance is inadequate
46
Why Get ISO 9000
Certification?
 Several benefits:
 Confidence of customers in an
organization increases
 if organization qualified for ISO
9001 certification.
 This is especially true in the
international market.
47
Why Get ISO 9000
Certification?
 Many international software
development contracts insist:
 development organization to
have ISO 9000 certification.
48
Why Get ISO 9000
Certification?
 Requires:
 a well-documented software
production process to be in place.
 contributes to repeatable and higher
quality software.
 Makes development process:
 focussed, efficient, and cost-effective
49
Why Get ISO 9000
Certification?
 Points out the weakness of an
organizations:
 recommends remedial action.
 Sets the basic framework:
 for development of an optimal
process and TQM.
50
How to Get ISO 9000
Certification?
 An organization intending to
obtain ISO 9000 certification:
 applies to a ISO 9000 registrar for
registration.
 ISO 9000 registration process
consists of several stages.
51
How to Get ISO 9000
Certification?
 Application stage:
 Applies to a registrar for
registration.
 Pre-assessment:
 the registrar makes a rough
assessment of the organization.
52
How to Get ISO 9000
Certification?
 Document review and
adequacy audit:
 process and quality-related
documents.
 the registrar reviews the
documents
 makes suggestions for
improvements.
53
How to Get ISO 9000
Certification?
 Compliance audit: the
registrar checks
 whether the suggestions made
by it during review have been
complied.
54
How to Get ISO 9000
Certification?
 Registration:
 The registrar awards ISO 9000
certificate after successful
completions of all previous phases.
 Continued surveillance:
 The registrar continues monitoring
the organization periodically.
55
ISO 9000 Certification
 An ISO certified organization
 can use the certificate for corporate
advertizements
 cannot use the certificate to
advertize products.
 ISO 9000 certifies organization's
process
 not any product of the organization.
 An organization using ISO certificate
for product advertizements:

56
Summary of ISO 9001
Requirements
 Management responsibility(4.1):
 Management must have an
effective quality policy.
 The responsibility and authority
of all those whose work affects
quality:
 must be defined and documented.
57
Management
responsibility(4.1)
 Responsibility of the quality
system.
 independent of the development
process,
 can work in an unbiased manner.
 The effectiveness of the quality
system:
 must be periodically by audited.
58
Quality system (4.2) and contract
reviews (4.3):
 A quality system must be
maintained and documented.
 Contract reviews (4.3):
 Before entering into a contract,
an organization must review the
contract
 ensure that it is understood,
 organization has the capability for
carrying out its obligations.
59
Design control (4.4):
 The design process must be
properly controlled,
 this includes controlling coding
also.
 A good configuration control
system must be in place.
60
Design control (4.4):
 Design inputs must be verified as
adequate.
 Design must be verified.
 Design output must be of required
quality.
 Design changes must be
controlled.
61
Document control (4.5):
 Proper procedures for
 document approval, issue and
removal.
 Document changes must be
controlled.
 use of some configuration
management tools is necessary.
62
Purchasing (4.6):
 Purchased material, including
bought-in software:
 must be checked for conforming
to requirements.
63
Purchaser Supplied Products (4.7):
 Material supplied by a
purchaser,
 for example,
 client-provided software must
be properly managed and
checked.
64
Product Identification (4.8):
 The product must be
identifiable at all stages of the
process.
 In software development
context this means
configuration management.
65
Process Control (4.9) :
 The development must be
properly managed.
 Quality requirements must be
identified in a quality plan.
66
Inspection and Testing
(4.10) :
 In software terms this requires
effective testing i.e.,
 unit testing, integration testing
and system testing.
 Test records must be
maintained.
67
Inspection, measuring and test
equipment(4.11):
 If integration, measuring, and
test equipments are used,
 must be properly maintained and
calibrated.
68
Control of nonconforming product
(4.13) :
 In software terms,
 keeping untested or faulty
software out of released
product,
 or other places whether it
might cause damage.
69
Corrective Action (4.14) :
 This is both about correcting errors
when found,
 investigating why they occurred
 improving the process to prevent further
occurrences.
 If an error reoccurs despite the quality
system,
 the system needs improvement.
70
Handling (4.15) and Quality audits
(4.17):
 Handling (4.15) Deals with:
 storage, packing, and delivery
of the software product.
 Quality Audits (4.17) :
 quality system audit must be
carried out to ensure its
effectiveness.
71
Training (4.18) :
 Training needs must be
identified and met.
 Most items of ISO standard
 are largely common sense.
72
Salient features of ISO 9001
requirements:
 All documents concerned with the
development of a software product
 should be properly managed,
authorized, and controlled.
 Proper plans should be prepared
 progress against these plans should
be monitored.
73
Salient features of ISO 9001
requirements:
 Important documents
independently checked and
reviewed:
 for effectiveness and correctness.
 The product should be tested :
 against specification.
 Several organizational aspects:
 e.g., management reporting of the
quality team.
74
Shortcomings of ISO 9001
Certification (1)
 ISO 9000 requires a production
process to be adhered to:
 but does not guarantee the
process to be of high quality.
 Does not give any guideline for
defining an appropriate process.
75
Shortcomings of ISO 9001
Certification (6)
 ISO 9001 addresses mostly management
aspects.
 Techniques specific to software development
have been ignored
 Configuration management
 Reviews
 Release builds
 Problem Notification system
76
SEI Capability Maturity
Model
 Developed by Software
Engineering Institute (SEI) of the
Carnegie Mellon University, USA:
 to assist the U.S. Department of
Defense (DoD) in software
acquisition.
 The rationale was to include:
 likely contractor performance as a
factor in contract awards.
77
SEI Capability Maturity
Model
 Major DoD contractors began CMM-
based process improvement
initiatives:
 as they vied for DoD contracts.
 SEI CMM helped organizations:
 Improve quality of software they
developed
 Realize adoption of SEI CMM model had
significant business benefits.
 Other organizations adopted CMM.
78
SEI Capability Maturity
Model
 In simple words,
 CMM is a model for apprising the
software process maturity of a
contractor into different levels.
 Can be used to predict the most
likely outcome to be expected from
the next project that the
organization undertakes.
79
SEI Capability Maturity
Model
 Can be used in two ways:
 Capability evaluation
 Software process assessment.
80
Capability Evaluation
 Provides a way to assess the
software process capability
of an organization
 Helps in selecting a contractor
 Indicates the likely contractor
performance
81
Software Process
Assessment
 Used by an organization to
assess its current process:
 Suggests ways to improve the
process capability.
 This type of assessment is for
purely internal use.
82
SEI Capability Maturity
Model
 The SEI CMM classifies software
development industries into:
 Five maturity levels.
 Stages are ordered so that
improvements at one stage provide
foundations for the next
 Based on the pioneering work of Philip
Crosby
83
SEI Capability Maturity
Model
Initial (1)
Repeatable (2)
Defined (3)
Managed (4)
Optimizing (5)
84
Level 1: (Initial)
 Organization operates
 without any formalized process
or project plans
 An organization at this level is
characterized by
 ad hoc and often chaotic
activities.
85
Level 1: (Initial)
 Software production processes are
not defined,
 different engineers follow their own
process
 development efforts become chaotic.
 The success of projects depend on
individual efforts and heroics.
86
Level 2: (Repeatable)
 Basic project management
practices
 tracking cost, schedule, and
functionality are followed.
 Size and cost estimation
techniques
 function point analysis, COCOMO,
etc. used.
 Production process is ad hoc
 not formally defined
87
Level 3: (Defined)
 Management and
development activities:
 defined and documented.
 Common organization-wide
understanding of activities,
roles, and responsibilities.
88
Level 3: (Defined)
 The process though
defined,
 process and product
qualities are not measured.
 ISO 9001 aims at achieving
this level.
89
Level 4: (Managed)
 Quantitative quality goals for products
are set.
 Software process and product quality
metrics are collected:
90
Level 4: (Managed)
 Organization sets quantitative
quality goals
 World-wide about 100
organizations assessed at this
level.
91
Level 5: (Optimizing)
 Statistics collected from process
and product measurements are
analyzed:
 continuous process improvement
based on the measurements.
 Known types of defects are prevented
from recurring by tuning the process
 lessons learned from specific projects
incorporated into the process
92
Level 5: (Optimizing)
 Identify best software engineering
practices and innovations:
 tools, methods, or process are
identified
 transferred throughout the
organization
 World-wide about 50 organizations
have been assessed at this level.
93
Key Process Areas
 Each level is associated with a
key process area (KPA)
identifies
 where an organization at the
previous level must focus to
reach this level
94
Level 2 KPAs
 Software project planning
 Size, cost, schedule.
 project monitoring
 Configuration management
 Subcontract management
95
Level 3 KPAs
 Process definition and
documentation
 Reviews
 Training program
96
Level 4 KPAs
 Quantitative measurements
 Process management
97
Level 5 KPAs
 Defect prevention
 Technology change
management
 Process change management
98
Shortcomings of CMM
1. Focuses on what needs to improve but
does not guide about how to improve.
2. Thicker documentations and longer
meetings are required
3. Getting an accurate measure of an
organization’s current maturity level is
also an issue
99
Comparison between ISO 9001
and SEI CMM
 ISO 9001 awarded by an
international standards body
 can be quoted in official documents
and communications
 SEI CMM assessment is purely for
internal use.
100
Comparison between ISO 9001
and SEI CMM
 SEI CMM was developed
specifically for software industry:
 addresses many issues specific to
software industry.
 SEI goes beyond quality assurance
 aims for TQM
 ISO 9001 correspond to SEI level 3.
101
Comparison between ISO 9001
and SEI CMM
 SEI CMM provides a list of key areas
 on which to focus to take an organization
from one level to the other
 Provides a way for gradual quality
improvements over several stages.
 e.g trying to implement a defined process
before a repeatable process:
 counterproductive as managers are
overwhelmed by schedule and budget
pressure.
102
CMMI
 It is successor of CMM.
 CMM developed from 1987-1997
 In 2002, CMMI version 1.1 was released
 CMMI aimed to improve the maturity
models by integrating many different
models into one framework
 CMM versions are: SE-CMM, T-CMM, SSE-
CMM, P-CMM, IPD-CMM etc.
 CMMI integrated like: CMMI-SE/SW, CMMI-
SE/SW/IPD etc.
103
Remarks on Quality Model
Usage
 Highly systematic and measured approach to
software development process suits certain
circumstances
 negotiated software, safety-critical software, etc
 What about small organizations?
 Typically handle applications such as internet, e-comm.
 without an established product range,
 without revenue base, experience on past projects, etc.
 CMM may be incompatible
104
Small Organizations
 Small organizations tend to believe:
 We are all competent people hired to do a
job, we can’t afford training
 We all communicate with one another
 Osmosis works because we are so close
 We are all heroes
 We do what needs to be done
 Therefore rules do not apply to us
105
Small Organizations
 Often have problems:
 Undocumented requirements
 Inexperienced managers
 Documenting the product
 Resource allocation
 Training
 Peer reviews
106
Small Organizations
 A two week CMM-based appraisal is
probably excessive:
 Small organizations need to operate
more efficiently at lower levels of
maturity
 Must first fluorish if eventually they are to
mature
107
Personal Software Process
(PSP)
 Based on the work of Humphrey
 PSP is a scaled down version of
industrial software process
 suitable for individual use
 Even CMM assumes that engineers use
effective personal practices
108
Personal Software Process
(PSP)
 A process is the set of steps for doing
a job
 The quality and productivity of an
engineer
 largely determined by his process
 PSP is framework that
 helps software engineers to measure and
improve the way they work.
109
Personal Software Process
(PSP)
 Helps developing personal skills and
methods
 Estimating and planning method
 Shows how to track performance against
plans
 Provides a defined process
 can be fine tuned by individuals
 Recognizes that a process for individual use is
different from that necessary for a team project.
110
Time Management
 Track the way you spend time
 Boring activities seem longer then actual
 Interesting activities seem short
 Record time for
 Designing
 Writing code
 Compiling
 Testing
111
Personal Software Process
(PSP)
Planning
Design
Code
Compile
Test
Postmortem
Logs
Project plan
summary
112
PSP-Planning
 Problem definition
 Estimate max, min, and total LOC
 Determine minutes/LOC
 Calculate max,min, and total
development times
 Enter the plan data in project plan
summary form
 record the planned time in Log
113
PSP-Design
 Design the program
 Record the design in specified format
 Record the Design time in time
recording log
114
PSP-Code
 Implement the design
 Use a standard format for code text
 Record the coding time in time
recording log
115
PSP-Compile
 Compile the program
 Fix all the defects
 Record compile time in time recording
log
116
PSP-Test/Postmortem
 Test
 Test the program
 Fix all the defects found
 Record testing time in time recording log
 Postmortem
 Compare the log data with project plan to
achieve better planning in future projects to
improve his process.
117
Personal Software Process
(PSP)
PSP 0
PSP 1
PSP 2
PSP 3
 Personal measurement
 Basic size measures
Personal planning
 Time and schedule
 Personal quality management
 Design and code reviews
 Personal process
evolution
118
Six Sigma
 Six sigma is a quantitative approach to
eliminate defects
 Applicable to all types of industry - from
manufacturing, product development, to
service
 The statistical representation of Six
Sigma quantitatively describes
 how a process is performing
119
Six Sigma
 To achieve six sigma
 a process must not produce more than 3.4
defects per million opportunities.
 5 Sigma -> 230 defects per million
 4 Sigma -> 6210 defects per million
 Six sigma methodologies
 DMAIC (Define, Measure, Analyze,
Improve, Control)
 DMADV: (Define, Measure, Analyze,
Design, Verify)
120
Six Sigma Methodologies
 The methodologies are implemented by
Green belt and Black belt workers
 Supervised by Master black belt worker
121
Summary
 Evolution of quality system:
 product inspection
 quality control
 quality assurance
 total quality management (TQM)
 Quality paradigm change:
 from product to process
122
Summary
 ISO 9000:
 basic premise:
 if a good process is followed
 good products are bound to follow
 provides guidelines for
establishing a quality system.
123
Summary
 ISO 9000
 series of three standards
 9001, 9002, and 9003
 9001 is applicable to software
industry
124
Summary
 SEI CMM
 developed specially for software
industry
 classifies software organizations
into five categories.
 According to the maturity of their
development process.
125
Current Trends
 Many organizations have already tuned
their process for
 Budget,
 Schedule, and
 Quality product.
 Competition is challenging them to:
 Reduce time for delivery
 Adopt Six-Sigma methodology

More Related Content

PPT
Software Engineering - Software Quality.ppt
PDF
Software quality iso-cmm-psp
PPTX
Quality assurance and quality control
DOCX
Total Quality Management
PPT
SWE 333 - ISQM ISO 9000-3.ppt
PPT
JAY ISO 9000
PDF
Unit I Software Testing and Quality Assurance
PPTX
Six sigma and iso
Software Engineering - Software Quality.ppt
Software quality iso-cmm-psp
Quality assurance and quality control
Total Quality Management
SWE 333 - ISQM ISO 9000-3.ppt
JAY ISO 9000
Unit I Software Testing and Quality Assurance
Six sigma and iso

Similar to 8.Software Quality.ppt in software testing field (20)

PDF
A Review of the Concept of ISO Standard 9000 Family
PPTX
TQM Presentation (Parul) (4).pptxnnnnnnnnnnn
PPTX
TQM Presentation (Parul)TQMMMMMMMMMMMMMM
PPT
Lesson 01.ppt
PPT
7.quality management chapter 7
PPTX
Ch24-Software Engineering 9
PPT
Software testing
PPTX
SE - Lecture 7 - Software Quality Reliability Mgmt - in lecture.pptx
DOCX
INTERNATIONAL ORGANIZATION FOR STANDARDIZATION(ISO)
PPTX
Introduction to ISO 9000
PDF
TQM- Quality management system
PPT
22317-DIPLOMA_SEM4_software_engg-chap-06.ppt
PPT
147349034-Basic-Concepts-of-Quality-ppt.ppt
PDF
RME-085 TQM (unit-5 part 1)
PPTX
Chapter 1 (Lecture 1-3)-Basic Concept of Quality and Quality Control.pptx
PPTX
Chapter 1 (Lecture 1-3)-Basic Concept of Quality and Quality Control.pptx
PPTX
Overview of iso 9001
PPT
ch24_quality Management in software engineering.ppt
PPT
ch24kodfsokpospgfkdsopgdsfpogkdpsofkpogfd.ppt
PPTX
Software Quality Assurance (Models).pptx
A Review of the Concept of ISO Standard 9000 Family
TQM Presentation (Parul) (4).pptxnnnnnnnnnnn
TQM Presentation (Parul)TQMMMMMMMMMMMMMM
Lesson 01.ppt
7.quality management chapter 7
Ch24-Software Engineering 9
Software testing
SE - Lecture 7 - Software Quality Reliability Mgmt - in lecture.pptx
INTERNATIONAL ORGANIZATION FOR STANDARDIZATION(ISO)
Introduction to ISO 9000
TQM- Quality management system
22317-DIPLOMA_SEM4_software_engg-chap-06.ppt
147349034-Basic-Concepts-of-Quality-ppt.ppt
RME-085 TQM (unit-5 part 1)
Chapter 1 (Lecture 1-3)-Basic Concept of Quality and Quality Control.pptx
Chapter 1 (Lecture 1-3)-Basic Concept of Quality and Quality Control.pptx
Overview of iso 9001
ch24_quality Management in software engineering.ppt
ch24kodfsokpospgfkdsopgdsfpogkdpsofkpogfd.ppt
Software Quality Assurance (Models).pptx
Ad

Recently uploaded (20)

PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PPTX
Construction Project Organization Group 2.pptx
PPTX
CH1 Production IntroductoryConcepts.pptx
DOCX
573137875-Attendance-Management-System-original
PPTX
Welding lecture in detail for understanding
PPTX
web development for engineering and engineering
PPTX
bas. eng. economics group 4 presentation 1.pptx
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PPTX
additive manufacturing of ss316l using mig welding
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PDF
Well-logging-methods_new................
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPTX
Lecture Notes Electrical Wiring System Components
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PPTX
Sustainable Sites - Green Building Construction
PDF
Digital Logic Computer Design lecture notes
CYBER-CRIMES AND SECURITY A guide to understanding
Construction Project Organization Group 2.pptx
CH1 Production IntroductoryConcepts.pptx
573137875-Attendance-Management-System-original
Welding lecture in detail for understanding
web development for engineering and engineering
bas. eng. economics group 4 presentation 1.pptx
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
additive manufacturing of ss316l using mig welding
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
UNIT-1 - COAL BASED THERMAL POWER PLANTS
Well-logging-methods_new................
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
Lecture Notes Electrical Wiring System Components
Automation-in-Manufacturing-Chapter-Introduction.pdf
Model Code of Practice - Construction Work - 21102022 .pdf
Sustainable Sites - Green Building Construction
Digital Logic Computer Design lecture notes
Ad

8.Software Quality.ppt in software testing field

  • 1. 1 Introduction  Traditional definition of quality:  fitness of purpose,  a quality product does exactly what the users want it to do.
  • 2. 2 Fitness of purpose For software products,  fitness of purpose:  satisfaction of the requirements specified in SRS document.
  • 3. 3 Fitness of purpose  A satisfactory definition of quality for many products:  a car, a table fan, a food mixer, microwave oven, etc.  But, not satisfactory for software products.
  • 4. 4 Introduction  Consider a software product:  functionally correct,  i.e. performs all functions as specified in the SRS document,  but has an almost unusable user interface.  cannot be considered as a quality product.
  • 5. 5 Introduction  Another example:  a product which does everything that users want.  but has an almost incomprehensible and unmaintainable code.
  • 6. 6 Modern view of quality  Associates several quality factors with a software product :  Correctness  Portability  Usability  Reusability  Maintainability Others parameters are: reliability, efficiency etc and many more as per McCall’s quality factors
  • 7. 7 Correctness  A software product is correct,  if different requirements as specified in the SRS document have been correctly implemented.  Accuracy of results.
  • 8. 8 Portability  A software product is said to be portable,  if it can be easily made to work in different operating systems,  in different machines,  with other software products, etc.
  • 9. 9 Reusability  A software product has good reusability,  if different modules of the product can easily be reused to develop new products.
  • 10. 10 Usability  A software product has good usability,  if different categories of users (i.e. both expert and naive users) can easily invoke the functions of the product.
  • 11. 11 Maintainability  A software product is maintainable,  if errors can be easily corrected as and when they show up,  new functions can be easily added to the product,  functionalities of the product can be easily modified, etc.
  • 12. 12 MCCall’s Model -- Product operation factors: Correctness, reliability, efficiency, Integrity, Usability -- Product revision factors: maintainability, flexibility, testability -- Product transition factors: portability, reusability, interoperability
  • 13. 13 Software Quality Management System  Quality management system (or quality system):  principal methodology used by organizations to ensure that the products have desired quality.
  • 14. 14 Quality system  A quality system consists of the following:  Managerial Structure  Individual Responsibilities.  Responsibility of the organization as a whole.
  • 15.  The quality system activities encompass the following:  Auditing of projects  Review of the quality system  Development of standard, procedures and guidelines  Production of reports for the top management summarizing the effectiveness of quality system. 15
  • 16. 16 Quality system  Every quality conscious organization has an independent quality department:  performs several quality system activities.  needs support of top management.  Without support at a high level in a company,  many employees may not take the quality system seriously.
  • 17. 17 Quality System Activities:  Auditing of projects  Development of:  standards, procedures, and guidelines, etc.  Production of reports for the top management  summarizing the effectiveness of the quality system in the organization.  Review of the quality system itself.
  • 18. 18 Quality system  A good quality system must be well documented.  Without a properly documented quality system,  application of quality procedures become ad hoc,  results in large variations in the quality of the products delivered.
  • 19. 19 Quality system  An undocumented quality system:  sends clear messages to the staff about the attitude of the organization towards quality assurance.  International standards such as ISO 9000 provide:  guidance on how to organize a quality system.
  • 20. 20 Evolution of Quality Systems  Quality systems have evolved:  over the last five decades.  Prior to World War II,  way to produce quality products:  inspect the finished products  eliminate defective products.
  • 21. 21 Evolution of Quality Systems  Since that time,  quality systems of organizations have undergone  four stages of evolution.
  • 23. 23 Evolution of Quality Systems  Initial product inspection method :  gave way to quality control (QC).  Quality control:  not only detect the defective products and eliminate them  but also determine the causes behind the defects.
  • 24. 24 Quality control (QC)  Quality control aims at correcting the causes of errors:  not just rejecting defective products.  Statistical quality control  quality of the output of the process is inferred using statistical methods  in stead of inspection or testing of all products
  • 25. 25 Quality control (QC)  The next breakthrough,  development of quality assurance principles
  • 26. 26 Quality assurance  Basic premise of modern quality assurance:  if an organization's processes are good and are followed rigorously,  the products are bound to be of good quality.
  • 27. 27 Quality assurance  All modern quality paradigms include:  guidance for recognizing, defining, analyzing, and improving the production process.
  • 28. 28 Total quality management (TQM)  Advocates:  continuous process improvements through process measurements.
  • 29. 29 Business Process reengineering  A term related to TQM.  Process reengineering goes a step further than quality assurance:  aims at continuous process improvement.
  • 30. 30 Business Process reengineering  Our focus is reengineering of the software process.  Whereas BPR aims at reengineering the way business is carried out in any organization  not just software development organizations.
  • 31. 31 Total quality management (TQM)  TQM goes beyond documenting processes  optimizes them through redesign.  Over the years the quality paradigm has shifted:  from product assurance to process assurance.
  • 32. 32 ISO 9000  ISO (International Organization for Standardization):  a consortium of 63 countries established to formulate and foster standardization.  ISO published its 9000 series of standards in 1987.
  • 33. 33 What is ISO 9000 Certification?  ISO 9000 certification:  serves as a reference for contract between independent parties.  The ISO 9000 standard:  specifies guidelines for maintaining a quality system.
  • 34. 34 What is ISO 9000 Certification?  ISO 9000 specifies:  guidelines for repeatable and high quality product development.  Also addresses organizational aspects  responsibilities, reporting, procedures, processes, and resources for implementing quality management.
  • 35. 35 ISO 9000  A set of guidelines for the production process.  not directly concerned about the product it self.  a series of three standards:  ISO 9001, ISO 9002, and ISO 9003.
  • 36. 36 ISO 9000  Based on the premise:  if a proper process is followed for production:  good quality products are bound to follow.
  • 37. 37 ISO 9001:  Applies to:  organizations engaged in design, development, production, and servicing of goods.  applicable to most software development organizations.
  • 38. 38 ISO 9002:  ISO 9002 applies to:  organizations who do not design products:  but are only involved in production.  Examples of this category of industries:  steel or car manufacturing industries  buy the product and plant designs from external sources:  only manufacture products.  not applicable to software development organizations.
  • 39. 39 ISO 9003  ISO 9003 applies to:  organizations involved only in installation and testing of the products.
  • 40. 40 ISO 9000 for Software Industry  ISO 9000 is a generic standard:  applicable to many industries,  starting from a steel manufacturing industry to a service rendering company.  Many clauses of ISO 9000 documents:  use generic terminologies  very difficult to interpret them in the context of software organizations.
  • 41. 41 Software vs. other industries  Very difficult to interpret many clauses for software industry:  software development is radically different from development of other products.
  • 42. 42 Software vs. other industries  Software is intangible  therefore difficult to control.  It is difficult to control anything that we cannot see and feel.  In contrast, in a car manufacturing unit:  we can see a product being developed through stages such as fitting engine, fitting doors, etc.  one can accurately tell about the status of the product at any time.  Software project management is an altogether different ball game.
  • 43. 43 Software vs. other industries  During software development:  the only raw material consumed is data.  For any other product development:  Lot of raw materials consumed  e.g. Steel industry consumes large volumes of iron ore, coal, limestone, etc.  ISO 9000 standards have many clauses corresponding to raw material control .  not relevant to software organizations.
  • 44. 44 Software vs. other industries  Radical differences exist between software and other product development,  difficult to interpret various clauses of the original ISO standard in the context of software industry.
  • 45. 45 ISO 9000 Part-3  ISO released a separate document called ISO 9000 part-3 in 1991  to help interpret the ISO standard for software industry.  At present,  official guidance is inadequate
  • 46. 46 Why Get ISO 9000 Certification?  Several benefits:  Confidence of customers in an organization increases  if organization qualified for ISO 9001 certification.  This is especially true in the international market.
  • 47. 47 Why Get ISO 9000 Certification?  Many international software development contracts insist:  development organization to have ISO 9000 certification.
  • 48. 48 Why Get ISO 9000 Certification?  Requires:  a well-documented software production process to be in place.  contributes to repeatable and higher quality software.  Makes development process:  focussed, efficient, and cost-effective
  • 49. 49 Why Get ISO 9000 Certification?  Points out the weakness of an organizations:  recommends remedial action.  Sets the basic framework:  for development of an optimal process and TQM.
  • 50. 50 How to Get ISO 9000 Certification?  An organization intending to obtain ISO 9000 certification:  applies to a ISO 9000 registrar for registration.  ISO 9000 registration process consists of several stages.
  • 51. 51 How to Get ISO 9000 Certification?  Application stage:  Applies to a registrar for registration.  Pre-assessment:  the registrar makes a rough assessment of the organization.
  • 52. 52 How to Get ISO 9000 Certification?  Document review and adequacy audit:  process and quality-related documents.  the registrar reviews the documents  makes suggestions for improvements.
  • 53. 53 How to Get ISO 9000 Certification?  Compliance audit: the registrar checks  whether the suggestions made by it during review have been complied.
  • 54. 54 How to Get ISO 9000 Certification?  Registration:  The registrar awards ISO 9000 certificate after successful completions of all previous phases.  Continued surveillance:  The registrar continues monitoring the organization periodically.
  • 55. 55 ISO 9000 Certification  An ISO certified organization  can use the certificate for corporate advertizements  cannot use the certificate to advertize products.  ISO 9000 certifies organization's process  not any product of the organization.  An organization using ISO certificate for product advertizements: 
  • 56. 56 Summary of ISO 9001 Requirements  Management responsibility(4.1):  Management must have an effective quality policy.  The responsibility and authority of all those whose work affects quality:  must be defined and documented.
  • 57. 57 Management responsibility(4.1)  Responsibility of the quality system.  independent of the development process,  can work in an unbiased manner.  The effectiveness of the quality system:  must be periodically by audited.
  • 58. 58 Quality system (4.2) and contract reviews (4.3):  A quality system must be maintained and documented.  Contract reviews (4.3):  Before entering into a contract, an organization must review the contract  ensure that it is understood,  organization has the capability for carrying out its obligations.
  • 59. 59 Design control (4.4):  The design process must be properly controlled,  this includes controlling coding also.  A good configuration control system must be in place.
  • 60. 60 Design control (4.4):  Design inputs must be verified as adequate.  Design must be verified.  Design output must be of required quality.  Design changes must be controlled.
  • 61. 61 Document control (4.5):  Proper procedures for  document approval, issue and removal.  Document changes must be controlled.  use of some configuration management tools is necessary.
  • 62. 62 Purchasing (4.6):  Purchased material, including bought-in software:  must be checked for conforming to requirements.
  • 63. 63 Purchaser Supplied Products (4.7):  Material supplied by a purchaser,  for example,  client-provided software must be properly managed and checked.
  • 64. 64 Product Identification (4.8):  The product must be identifiable at all stages of the process.  In software development context this means configuration management.
  • 65. 65 Process Control (4.9) :  The development must be properly managed.  Quality requirements must be identified in a quality plan.
  • 66. 66 Inspection and Testing (4.10) :  In software terms this requires effective testing i.e.,  unit testing, integration testing and system testing.  Test records must be maintained.
  • 67. 67 Inspection, measuring and test equipment(4.11):  If integration, measuring, and test equipments are used,  must be properly maintained and calibrated.
  • 68. 68 Control of nonconforming product (4.13) :  In software terms,  keeping untested or faulty software out of released product,  or other places whether it might cause damage.
  • 69. 69 Corrective Action (4.14) :  This is both about correcting errors when found,  investigating why they occurred  improving the process to prevent further occurrences.  If an error reoccurs despite the quality system,  the system needs improvement.
  • 70. 70 Handling (4.15) and Quality audits (4.17):  Handling (4.15) Deals with:  storage, packing, and delivery of the software product.  Quality Audits (4.17) :  quality system audit must be carried out to ensure its effectiveness.
  • 71. 71 Training (4.18) :  Training needs must be identified and met.  Most items of ISO standard  are largely common sense.
  • 72. 72 Salient features of ISO 9001 requirements:  All documents concerned with the development of a software product  should be properly managed, authorized, and controlled.  Proper plans should be prepared  progress against these plans should be monitored.
  • 73. 73 Salient features of ISO 9001 requirements:  Important documents independently checked and reviewed:  for effectiveness and correctness.  The product should be tested :  against specification.  Several organizational aspects:  e.g., management reporting of the quality team.
  • 74. 74 Shortcomings of ISO 9001 Certification (1)  ISO 9000 requires a production process to be adhered to:  but does not guarantee the process to be of high quality.  Does not give any guideline for defining an appropriate process.
  • 75. 75 Shortcomings of ISO 9001 Certification (6)  ISO 9001 addresses mostly management aspects.  Techniques specific to software development have been ignored  Configuration management  Reviews  Release builds  Problem Notification system
  • 76. 76 SEI Capability Maturity Model  Developed by Software Engineering Institute (SEI) of the Carnegie Mellon University, USA:  to assist the U.S. Department of Defense (DoD) in software acquisition.  The rationale was to include:  likely contractor performance as a factor in contract awards.
  • 77. 77 SEI Capability Maturity Model  Major DoD contractors began CMM- based process improvement initiatives:  as they vied for DoD contracts.  SEI CMM helped organizations:  Improve quality of software they developed  Realize adoption of SEI CMM model had significant business benefits.  Other organizations adopted CMM.
  • 78. 78 SEI Capability Maturity Model  In simple words,  CMM is a model for apprising the software process maturity of a contractor into different levels.  Can be used to predict the most likely outcome to be expected from the next project that the organization undertakes.
  • 79. 79 SEI Capability Maturity Model  Can be used in two ways:  Capability evaluation  Software process assessment.
  • 80. 80 Capability Evaluation  Provides a way to assess the software process capability of an organization  Helps in selecting a contractor  Indicates the likely contractor performance
  • 81. 81 Software Process Assessment  Used by an organization to assess its current process:  Suggests ways to improve the process capability.  This type of assessment is for purely internal use.
  • 82. 82 SEI Capability Maturity Model  The SEI CMM classifies software development industries into:  Five maturity levels.  Stages are ordered so that improvements at one stage provide foundations for the next  Based on the pioneering work of Philip Crosby
  • 83. 83 SEI Capability Maturity Model Initial (1) Repeatable (2) Defined (3) Managed (4) Optimizing (5)
  • 84. 84 Level 1: (Initial)  Organization operates  without any formalized process or project plans  An organization at this level is characterized by  ad hoc and often chaotic activities.
  • 85. 85 Level 1: (Initial)  Software production processes are not defined,  different engineers follow their own process  development efforts become chaotic.  The success of projects depend on individual efforts and heroics.
  • 86. 86 Level 2: (Repeatable)  Basic project management practices  tracking cost, schedule, and functionality are followed.  Size and cost estimation techniques  function point analysis, COCOMO, etc. used.  Production process is ad hoc  not formally defined
  • 87. 87 Level 3: (Defined)  Management and development activities:  defined and documented.  Common organization-wide understanding of activities, roles, and responsibilities.
  • 88. 88 Level 3: (Defined)  The process though defined,  process and product qualities are not measured.  ISO 9001 aims at achieving this level.
  • 89. 89 Level 4: (Managed)  Quantitative quality goals for products are set.  Software process and product quality metrics are collected:
  • 90. 90 Level 4: (Managed)  Organization sets quantitative quality goals  World-wide about 100 organizations assessed at this level.
  • 91. 91 Level 5: (Optimizing)  Statistics collected from process and product measurements are analyzed:  continuous process improvement based on the measurements.  Known types of defects are prevented from recurring by tuning the process  lessons learned from specific projects incorporated into the process
  • 92. 92 Level 5: (Optimizing)  Identify best software engineering practices and innovations:  tools, methods, or process are identified  transferred throughout the organization  World-wide about 50 organizations have been assessed at this level.
  • 93. 93 Key Process Areas  Each level is associated with a key process area (KPA) identifies  where an organization at the previous level must focus to reach this level
  • 94. 94 Level 2 KPAs  Software project planning  Size, cost, schedule.  project monitoring  Configuration management  Subcontract management
  • 95. 95 Level 3 KPAs  Process definition and documentation  Reviews  Training program
  • 96. 96 Level 4 KPAs  Quantitative measurements  Process management
  • 97. 97 Level 5 KPAs  Defect prevention  Technology change management  Process change management
  • 98. 98 Shortcomings of CMM 1. Focuses on what needs to improve but does not guide about how to improve. 2. Thicker documentations and longer meetings are required 3. Getting an accurate measure of an organization’s current maturity level is also an issue
  • 99. 99 Comparison between ISO 9001 and SEI CMM  ISO 9001 awarded by an international standards body  can be quoted in official documents and communications  SEI CMM assessment is purely for internal use.
  • 100. 100 Comparison between ISO 9001 and SEI CMM  SEI CMM was developed specifically for software industry:  addresses many issues specific to software industry.  SEI goes beyond quality assurance  aims for TQM  ISO 9001 correspond to SEI level 3.
  • 101. 101 Comparison between ISO 9001 and SEI CMM  SEI CMM provides a list of key areas  on which to focus to take an organization from one level to the other  Provides a way for gradual quality improvements over several stages.  e.g trying to implement a defined process before a repeatable process:  counterproductive as managers are overwhelmed by schedule and budget pressure.
  • 102. 102 CMMI  It is successor of CMM.  CMM developed from 1987-1997  In 2002, CMMI version 1.1 was released  CMMI aimed to improve the maturity models by integrating many different models into one framework  CMM versions are: SE-CMM, T-CMM, SSE- CMM, P-CMM, IPD-CMM etc.  CMMI integrated like: CMMI-SE/SW, CMMI- SE/SW/IPD etc.
  • 103. 103 Remarks on Quality Model Usage  Highly systematic and measured approach to software development process suits certain circumstances  negotiated software, safety-critical software, etc  What about small organizations?  Typically handle applications such as internet, e-comm.  without an established product range,  without revenue base, experience on past projects, etc.  CMM may be incompatible
  • 104. 104 Small Organizations  Small organizations tend to believe:  We are all competent people hired to do a job, we can’t afford training  We all communicate with one another  Osmosis works because we are so close  We are all heroes  We do what needs to be done  Therefore rules do not apply to us
  • 105. 105 Small Organizations  Often have problems:  Undocumented requirements  Inexperienced managers  Documenting the product  Resource allocation  Training  Peer reviews
  • 106. 106 Small Organizations  A two week CMM-based appraisal is probably excessive:  Small organizations need to operate more efficiently at lower levels of maturity  Must first fluorish if eventually they are to mature
  • 107. 107 Personal Software Process (PSP)  Based on the work of Humphrey  PSP is a scaled down version of industrial software process  suitable for individual use  Even CMM assumes that engineers use effective personal practices
  • 108. 108 Personal Software Process (PSP)  A process is the set of steps for doing a job  The quality and productivity of an engineer  largely determined by his process  PSP is framework that  helps software engineers to measure and improve the way they work.
  • 109. 109 Personal Software Process (PSP)  Helps developing personal skills and methods  Estimating and planning method  Shows how to track performance against plans  Provides a defined process  can be fine tuned by individuals  Recognizes that a process for individual use is different from that necessary for a team project.
  • 110. 110 Time Management  Track the way you spend time  Boring activities seem longer then actual  Interesting activities seem short  Record time for  Designing  Writing code  Compiling  Testing
  • 112. 112 PSP-Planning  Problem definition  Estimate max, min, and total LOC  Determine minutes/LOC  Calculate max,min, and total development times  Enter the plan data in project plan summary form  record the planned time in Log
  • 113. 113 PSP-Design  Design the program  Record the design in specified format  Record the Design time in time recording log
  • 114. 114 PSP-Code  Implement the design  Use a standard format for code text  Record the coding time in time recording log
  • 115. 115 PSP-Compile  Compile the program  Fix all the defects  Record compile time in time recording log
  • 116. 116 PSP-Test/Postmortem  Test  Test the program  Fix all the defects found  Record testing time in time recording log  Postmortem  Compare the log data with project plan to achieve better planning in future projects to improve his process.
  • 117. 117 Personal Software Process (PSP) PSP 0 PSP 1 PSP 2 PSP 3  Personal measurement  Basic size measures Personal planning  Time and schedule  Personal quality management  Design and code reviews  Personal process evolution
  • 118. 118 Six Sigma  Six sigma is a quantitative approach to eliminate defects  Applicable to all types of industry - from manufacturing, product development, to service  The statistical representation of Six Sigma quantitatively describes  how a process is performing
  • 119. 119 Six Sigma  To achieve six sigma  a process must not produce more than 3.4 defects per million opportunities.  5 Sigma -> 230 defects per million  4 Sigma -> 6210 defects per million  Six sigma methodologies  DMAIC (Define, Measure, Analyze, Improve, Control)  DMADV: (Define, Measure, Analyze, Design, Verify)
  • 120. 120 Six Sigma Methodologies  The methodologies are implemented by Green belt and Black belt workers  Supervised by Master black belt worker
  • 121. 121 Summary  Evolution of quality system:  product inspection  quality control  quality assurance  total quality management (TQM)  Quality paradigm change:  from product to process
  • 122. 122 Summary  ISO 9000:  basic premise:  if a good process is followed  good products are bound to follow  provides guidelines for establishing a quality system.
  • 123. 123 Summary  ISO 9000  series of three standards  9001, 9002, and 9003  9001 is applicable to software industry
  • 124. 124 Summary  SEI CMM  developed specially for software industry  classifies software organizations into five categories.  According to the maturity of their development process.
  • 125. 125 Current Trends  Many organizations have already tuned their process for  Budget,  Schedule, and  Quality product.  Competition is challenging them to:  Reduce time for delivery  Adopt Six-Sigma methodology