0% found this document useful (0 votes)
78 views18 pages

SQA Basics

This document discusses software quality assurance. It defines quality as meeting specifications but notes that specifications can be incomplete or ambiguous. Software quality involves conforming to requirements, standards, and implicit expectations. An effective quality assurance plan involves organization-wide policies and project-specific standards. Quality assurance activities include reviews, testing, enforcing standards, change control, measurement, and record keeping. Benefits are fewer defects, higher reliability, and lower costs while disadvantages include difficulty for small organizations and requiring additional resources.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
78 views18 pages

SQA Basics

This document discusses software quality assurance. It defines quality as meeting specifications but notes that specifications can be incomplete or ambiguous. Software quality involves conforming to requirements, standards, and implicit expectations. An effective quality assurance plan involves organization-wide policies and project-specific standards. Quality assurance activities include reviews, testing, enforcing standards, change control, measurement, and record keeping. Benefits are fewer defects, higher reliability, and lower costs while disadvantages include difficulty for small organizations and requiring additional resources.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 18

Lecture - 3

Software Quality Assurance


Introduction

• Traditional definition of quality:


–fitness of purpose,
• a quality product does exactly what
the users want it to do.
Fitness of purpose

• For software products,


–fitness of purpose:
• satisfaction of the requirements
specified in SRS document.
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.
• 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.
• Another example:
–a product which does everything
that users want.
–but has an almost
incomprehensible and
unmaintainable code.
What is Software Quality?
• Simplistically, quality is an attribute of software that
implies the software meets its specification

• This definition is too simple for ensuring quality in


software systems
– Software specifications are often incomplete or ambiguous
– Some quality attributes are difficult to specify
– Tension exists between some quality attributes, e.g.
efficiency vs. reliability
Software Quality
• Conformance to explicitly stated functional and performance requirements,
explicitly documented development standards, and implicit characteristics
that are expected of all professionally developed software

– Software requirements are the foundation from which quality is


measured.
• Lack of conformance to requirements is lack of quality.

– Specified standards define a set of development criteria that guide the


manner in which software is engineered.
• If the criteria are not met, 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 its
implicit requirements, software quality is suspect.
A Software Quality Plan
Evolution of Quality Systems
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
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.
Quality assurance

• All modern quality paradigms


include:
– guidance for recognizing, defining,
analyzing, and improving the
production process.
Software Quality Assurance
• To ensure quality in a software product, an organization must have a three-
prong approach to quality management:
– Organization-wide policies, procedures and standards must be
established.
– Project-specific policies, procedures and standards must be tailored from
the organization-wide templates.
– Quality must be controlled; that is, the organization must ensure that the
appropriate procedures are followed for each project

• Standards exist to help an organization draft an appropriate software quality


assurance plan.
– ISO 9000-3
– ANSI/IEEE standards

• External entities can be contracted to verify that an organization is standard-


compliant.
SQA Activities
• Applying technical methods
– To help the analyst achieve a high quality specification and a high quality design
• Conducting formal technical reviews
– A stylized meeting conducted by technical staff with the sole purpose of
uncovering quality problems
• Testing Software
– A series of test case design methods that help ensure effective error detection
• Enforcing standards
• Controlling change
– Applied during software development and maintenance
• Measurement
– Track software quality and asses the ability of methodological and procedural
changes to improve software quality
• Record keeping and reporting
– Provide procedures for the collection and dissemination of SQA information
Advantages of SQA
• Software will have fewer latent defects,
resulting in reduced effort and time spent
during testing and maintenance
• Higher reliability will result in greater
customer satisfaction
• Maintenance costs can be reduced
• Overall life cycle cost of software is reduced
Disadvantages of SQA
• It is difficult to institute in small organizations,
where available resources to perform
necessary activities are not available
• It represents cultural change - and change is
never easy
• It requires the expenditure of dollars that
would not otherwise be explicitly budgeted to
software engineering or QA
Quality Reviews

You might also like