You are on page 1of 25

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.

You might also like