Software Quality
and
Software Quality Assurance
(an overview)
Learning Outcomes
Quality – Definition, kinds, challenges, importance
Quality Assurance
Quality Control
SQA in SDLC
Software Quality Assurance an overview 2
Quality - Definitions
A characteristic or attribute of something
As an attribute of an item, quality refers to
measurable characteristics things we are able
to compare to known standards such as
length, color, electrical properties and
malleability.
We can say that quality is a relative term, a variable that can
vary and change its definitions according to needs, scope,
culture, environment and geo-political effects.
Software Quality Assurance an overview 3
Definition- IEEE
The totality of features and characteristics of
a software product that bears on its ability to
satisfy given needs: for example, conform to
specification.
Software Quality Assurance an overview 4
Some more definitions
“High levels of user satisfaction and adherence
to requirements” by Bill Perry , Head of quality
assurance institute
“Achieving high level of user satisfaction,
portability, maintainability, robustness and
fitness for use” by Dr. Barry Boehm
“Low defects levels, adherence of software
functions to users needs and high reliability” by
John Musa of Bell Laboratories
Software Quality Assurance an overview 5
Quality Challenges
The Quality measures and criteria varies depending upon
Characteristics of the project
User needs
Application requirements of the system and software
The phase of the project at which the evaluation takes
place
Software Quality must be planned into the project right from the
beginning
Quality goals must be clearly defined, effectively monitored,
and rigorously enforced
Software Quality Assurance an overview 6
Why Quality is important?
Quality is a competitive issue now
Quality is a must for survival
Quality makes your product globally
acceptable
Quality makes your product cost effective
Quality helps retain customers and increase
profits
Quality is the hallmark of world-class
business
Quality is due to customer demand
Today Quality is critical for survival and success
Software Quality Assurance an overview 7
Six Software Defect Origins
Requirements
Design
Source code
User manuals/training material
“Bad fixes” or mistakes made during repairs
Flawed test cases used by the application
Software Quality Assurance an overview 8
Six Root Causes of Poor Software
Quality
Inadequate training of managers and staff
Inadequate defect and cost measurement
Excessive schedule pressure
Insufficient defect removal
High complexity levels
Ambiguous and creeping requirements and
design
Software Quality Assurance an overview 9
A Quality software must
Quality of a software is that it
Meets the user requirements
Have sufficient and up to date documentation
Have to be cost effective
Have to be user friendly
Is easy to learn
Is reliable
Is manageable
Is maintainable
Is secure
Software Quality Assurance an overview 10
Quality Control
Quality control involves the series of
inspections, reviews, and tests used
throughout the software process to
ensure each work product meets the
requirements
SQC: checks that the project follows its standards,
processes and procedures, and that the project produces
the required internal and external (deliverables) products.
Software Quality Assurance an overview 11
Quality Assurance
Quality Assurance consists of the auditing and reporting
functions of management. Its goal is to provide management
with the necessary data of product quality ; there by gaining
insight that product is meeting its goals
SQA: assures that the standards, process and procedures
are appropriate for the project and are correctly implemented.
Software Quality Assurance (SQA) is defined as a planned and
systematic approach to the evaluation of the quality of and adherence
to software product standards, processes, and procedures.
Software Quality Assurance an overview 12
Quality Control vs. Quality Assurance
QC QA
•Correction (Reactive) •Preventive (Proactive)
•Product •Process
•Confidence to Producer •Confidence to Customer
•Line Function •Staff Function
•Find Defects •Prevent Defects
Software Quality Assurance an overview 13
Quality Control vs. Quality Assurance
(Examples)
QC QA
•Walkthrough •Defining Processes
•Testing •Quality Audit
•Inspection •Selection of Tools
•Checkpoint review •Training
Software Quality Assurance an overview 14
SQA Function
SQA (‘Software Quality Analyst’) – A
Role
To monitor the methods and standards the
software developers use and to verify that
they have properly applied these methods
to their work products
SQA (‘Software Quality Assurance’)
– A Function
Software Quality Assurance an overview 15
Kinds of Quality
Quality of Design
Quality of Conformance
Software Quality Assurance an overview 16
Changing Views of Quality
Past Present
•Quality is the responsibility of •Quality is everyone's responsibility,
blue collar workers and direct including white-collar workers, the
labor employees working on the indirect labor force and the over head
product staff
•Quality defects should be
hidden from the customers and •Defects should be highlighted and
management brought to the surface for corrective
action
•Quality problem lead to blame,
faulty justifications and excuses •Quality problems lead to co-
operative solutions
Software Quality Assurance an overview 17
… continued
Past Present
•Corrections-to-quality •Documentation is essential for
problems should be “lessons learnt” so that mistakes
accompanied with minimum are not repeated
documentation
•Improved quality saves money
•Increased quality will increase and increases business
project costs
•Quality is internally focused •Quality is customer focused
•Quality will not occur without •People want to produce quality
close supervision of people products
•Quality occurs during project •Quality occurs at project initiation and
execution must be planned for within the project
Software Quality Assurance an overview 18
References
“Software Quality Assurance – Principles and
Practice” by Nina S Godbole
Chapter 1
1.1, 1.2
1.3 (1.3.1, 1.3.2, 1.3.3, 1.3.4, 1.3.5, 1.3.6)
1.4, 1.5
1.7 (1.7.1, 1.7.2, 1.7.3, 1.7.4, 1.7.5)
Software Quality Assurance an overview 19
SQA
A planned and systematic pattern of all
actions necessary to provide adequate
confidence that an item or product conforms
to established functional and non-functional
requirements.
SQA Ensures Product and Process
evaluation
SQA Role
A Person responsible of SQA activities is
called “Software Quality Analyst”
Software Quality Assurance Activities
Product evaluation and process monitoring are the SQA activities that assure
the software development and control processes described in the project's
management plan are correctly carried out and that the project's procedures and
standards are followed.
Products are monitored for conformance to
standards and processes are monitored for
conformance to procedures.
Audits are a key technique used to perform
product evaluation and process monitoring.
Review of the Management Plan should ensure
that appropriate SQA approval points are built
into these processes.
Product evaluation
Product evaluation is an SQA activity that
assures product standards are being followed.
Ideally, the first products monitored by SQA
should be the project's standards and
procedures.
SQA assures that clear and achievable standards
exist and then evaluates compliance of the
software product to the established standards.
Product evaluation assures that the software
product reflects the requirements of the
applicable standard's as identified in the
Management Plan
Process monitoring
Process monitoring is an SQA activity that
ensures that appropriate steps to carry out
the process are being followed.
SQA monitors processes by comparing the
actual steps carried out with those in the
documented procedures.
The Assurance section of the Management
Plan specifies the methods to be used by the
SQA process monitoring activity
Verification and Validation
Monitoring
SQA assures Verification and Validation (V&V)
activities by monitoring technical reviews,
inspections, and walkthroughs.
The SQA role in formal testing is described in
the next section. The SQA role in reviews,
inspections, and walkthroughs is to observe,
participate as needed, and verify that they were
properly conducted and documented.
SQA also ensures that any actions required are
assigned, documented, scheduled, and
updated.