Software Quality Assurance: Lecture # 4
Software Quality Assurance: Lecture # 4
Assurance
Lecture # 4
1
Today’s Lecture
Reasons for poor software quality
Quality attributes
2
Some of the reasons for having high quality
software have been discussed in the first
lecture of this course, and so it should be
well understood now why software products
and services should have high quality
There are negative consequences for poor
or bad quality software
3
But still we see that the software industry
still suffers from problems related to
software quality
Now we’ll look at six root causes of poor
software quality, and discuss them in
detail
4
Root Causes of Poor Software
Quality - 1
Inadequate training of managers and staff
5
Root Causes of Poor Software
Quality - 2
Insufficient defect removal
6
We have just finished the discussion on
root causes of poor software quality
Now let us look at the status of the
software industry’s seriousness of the
software industry with respect to the
software quality assurance
7
Quality Assurance
Organizations
No quality assurance 60%
Token quality assurance 20%
Passive quality assurance 15%
Active quality assurance 5%
8
There is another point that must be
remembered that software varies from
industry to industry
The focus on software quality naturally is
dependent on the industry, as well as the
importance of the software application. More
critical applications, naturally, need to have
higher software quality than others
9
Software Quality in Six
Sub- Industries
Systems software that controls physical devices
Information systems that companies build for their own
use
Outsource or contract software built for clients
Commercial software built by vendors for lease or sale
Military software built following various military
standards
End-user software built for private use by computer
literate workers or managers
10
Characteristics of Quality Laggards
11
Quality Laggards - 1
No software quality measurement program
of any kind
No usage of formal design and code
inspections
No knowledge of the concepts of defect
potentials and defect removal efficiency
12
Quality Laggards - 2
Either no quality assurance group or a
group that is severely understaffed
No trained testing specialists available
Few or no automated quality
assurance tools
No quality and reliability estimation
capability
13
Quality Laggards - 3
Minimalor no software project
management tools available
No automated risk assessment or
avoidance capability
From a low of one to a high of perhaps
four distinct testing stages
14
Quality Laggards - 4
No test library or test-case management
tools available
No complexity analysis tools utilized
Defect potentials averaging more than 6
defects per function point
15
Quality Laggards - 5
Defect removal efficiency averaging less
than 80%
Executive and managerial indifference
(and ignorance) of quality matters
16
Other Related Issues
Staff morale and voluntary attrition
Market shares and competitive positioning
Litigation and product recalls
17
Quality laggards are the very companies with
highest probability of cancelled projects,
several schedule overruns, and severe
overruns
It is no coincidence that software groups
among the quality laggards also tend to be
candidates for immediate replacement by
outsource organizations
18
Let’s now discuss the reverse of the
practices of the quality laggards
Let’s discuss the quality attributes, which
when exhibited will result in high quality
software
19
Quality Attributes
Quality attributes set is a way to represent
customer quality requirements
Ask your current and prospective
customers about their definition of quality
Develop a quality assurance program
based on the requirements of your
customers
20
Categories of Quality Attributes
Product-specific quality attributes
21
Product-Specific Attributes - 1
Ease of use
Documentation
Defect tolerance
Defect frequency
22
Product-Specific Attributes - 2
Defect impact
Packaging
Performance
23
Organization-Specific Attributes
Service and support
Internal processes
24
Achieving High Levels of
Software Quality - 1
Enterprise-wide quality programs
Quality awareness and training methods
Quality standards and guidelines
Quality analysis methods
Quality measurement methods
25
Achieving High Levels of
Software Quality - 2
Defect prevention methods
Non-test defect removal methods
Testing methods
User-satisfaction methods
Post-release quality control
26
Best in Class Quality Results - 1
Quality measurements
Defect prevention
Defect and quality estimation automation
Defect tracking automation
Complexity analysis tools
27
Best in Class Quality Results - 2
Test coverage analysis tools
Formal inspections
Formal testing by test specialists
Formal quality assurance group
Executive and managerial understanding
of quality
28
Two Components of
Software Quality Improvement
Reductions in total defect potentials using
methods of defect prevention
Improvements in cumulative removal
efficiency levels
29
References
Software Quality: Analysis and Guidelines
for Success by Capers Jones
Customer-Oriented Software Quality
Assurance by Frank Ginac
30