0% found this document useful (0 votes)
66 views33 pages

Software Quality Assurance:: An Introduction: Dr. Rizwan Bin Faiz

This document discusses software quality assurance and introduces some key concepts. It explains that software quality is important because users rely on software systems. It then discusses different views on what constitutes software quality. The document also provides examples of software quality goals related to various attributes like reliability, usability, maintainability etc. Finally, it discusses the importance of setting quality goals and having a software quality plan to guide quality assurance activities.

Uploaded by

noureena raza
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)
66 views33 pages

Software Quality Assurance:: An Introduction: Dr. Rizwan Bin Faiz

This document discusses software quality assurance and introduces some key concepts. It explains that software quality is important because users rely on software systems. It then discusses different views on what constitutes software quality. The document also provides examples of software quality goals related to various attributes like reliability, usability, maintainability etc. Finally, it discusses the importance of setting quality goals and having a software quality plan to guide quality assurance activities.

Uploaded by

noureena raza
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/ 33

Software Quality Assurance::

An Introduction

by

Dr. Rizwan Bin Faiz


Software Quality Concern

 Software systems are becoming ubiquitous in modern society.


 Worldwide users rely on individual and interconnected computers, as
well as the global information infrastructure, such as the Internet and
the World Wide Web (WWW), to fulfill their needs for information
processing, storage, search, and retrieval.
 This reliance requires the software to function correctly over a
long time, to be easy to use, and so on.
 Negative impact of software e.g. wrong functions, or performing
intended functions incorrectly, thus causing unintended consequences
Software Quality Concern
 You would not like MS Office to occasionally save your
documents
 Competitiveness of International Market
 Cost of Quality
 Software bugs, or errors, are so widespread and so
damaging that they cost the U.S. economy an estimated
$59.5 billion annually.
 Although all errors cannot be removed, more than a third of
these costs, or an estimated $22.2 billion, could be
eliminated by an improved testing infrastructure that
enables earlier and more effective identification and
removal of software defects.
Software Quality is Concern

 Cancer treatment system


 A factor calculating radiation was applied twice
 60% of patients had died by the time the fault was discovered
 London Ambulance Service: computer aided dispatch software
failed
 Breakdown for 36 hours
 Costing 20 lives
 Intel Pentium bug:
 Formal verification of math routine would have avoided loss of $ 475 m
 Ariane5
 destroyed 40 sec after take off since a software component in the controller
crashed costing around $ 500 m
What is Software Quality

The totality
of
features and characteristics
of a
product, process of service
that bear on its ability
to satisfy stated or implied needs.
What is Software Quality
Quality is several attributes (portability, reliability, efficiency,
usability, understandability, modifiability) ...……………. Glass
- Quality is conformance to requirements …………………..Crosby
- Quality is fitness for use …………………………………......... .Deming
- Quality is value to some person ………………..…...……. …Weinberg
- Quality is whatever the customer decides………….……. Ginac
- Quality is an attitude or state of mind ……………...…….. Juran

Other Views …….. Garvin


- Manufacturing View….Conformance to specification
- Value-based View…How much customer is willing to pay
What is Software Quality

 We need to know where are the stated or implied needs…


against which we test if they are met
 We refer to theses quality features and characteristics as
Quality Attributes which are part of the Software
Requirements Specification (SRS) document
 All SQA activities are design in conformance to SRS.
What is Software Quality
-Achieving high level of product or service quality is the
objective of most organizations.
-It is no longer acceptable to deliver poor quality products, and fix
deficiencies after they have been shipped to the customer.
-However, software quality is a complex notion that cannot be
defined in a simple way, unlike for other manufactured products
such as cars, televisions, or computers.
- Quality product is expected to comply with customer requirements;
unfortunately such requirements are often incomplete for software.
- It is an ongoing challenge to precisely specify and check certain quality
requirements (e.g., usability, maintainability, reusability etc.)

3
Example of Software Quality Goals

 Product transition related


 Portability
 Interoperability
 Reusability
 Product Operations related
 Reliability
 Robustness
 Efficiency
 Usability
 Safety
 Security
 Fault-tolerance
 Product revision related
 Maintainability
Example of Software Quality Goals
 The system should be capable of processing 10
transactions per minute.
 The system should only allow authorized access.
 The users should be forced to change their passwords
every tenth usage.
 The system should maintain logs of disk activity on one
disk to any other disk in the array in a fully redundant
manner.
Software Quality Goals

-Defines the Quality Goals


- Realistic about where defects come from, Use Historic
information for Defects Gaps
- Selects appropriate prevention & detection methods
- Set out the desired product qualities, and define how these are
to be assessed ?
- Select those organizational standards that are appropriate to a
particular process and development process.
Software Quality Goals
A Quality Goals has to be S M A R T
Specific.… Measurable/Testable.... Attainable.… Relevant….Time-
bound
- The primary project goals must be described in the chartering process

- What are Goals?


- User View, Producer View, Quality Attributes: Reliability, Usability ….?

Danger of Lack of Goal


Repair-service behavior
- Without any clear idea of what the benchmarks are, we go in search of
things that are broken and our goal becomes fixing them
Know-how behavior
- We often don’t solve the problems that need to be solved but the ones
we know how to solve
No justification for any quality action
Setting Quality Goals
 One important fact in managing customer’s quality
expectations is that different quality attributes may have
different levels of importance to different customers and
users.
 Relevant quality views and attributes need to be identified
first.
 For example, reliability is typically the primary concern for
various business and commercial software systems because of
people’s reliance on such systems and the substantial financial
loss if they are malfunctioning.
Setting Quality Goals

 Similarly, if a software is used in various real-time control


situations, such as air traffic control software and embedded
software in automobile, medical devices, etc., accidents due to
failures may be catastrophic. Therefore, safety is the major
concern.
 On the other hand, for mass market software packages, such as
various auxiliary utilities for personal computers, usability,
instead of reliability or safety, is the primary concern.
 Therefore, specific quality expectations by the customers
require us to identify relevant quality views and attributes
prior to setting appropriate quality goals.
Setting Quality Goals

 This needs to be done in close consultation with the


customers and users, or those who represents their
interests, such as requirement analysts, marketing
personnel, etc.
 Once we obtained qualitative knowledge about
customers’ quality expectations, we need to quantify
these quality expectations to set appropriate quality
goals.
Setting Quality Goals
 The Campus Management System (CMS) is one of the most important
systems running in RIPHAH university which manages almost all
the important tasks to be performed in order to run a campus,
smoothly and according to the university polices.
 The system includes 7 subsystems within the system:
 Assessment Entry which manages assessment criteria, entry and reports;
 Attendance Entry which manages record of attendance and provides
attendance sheets;
 Course Offerings manages the process of offering courses to students at
the time of registration;
 Assigning Course to Teachers;
 Results Notification;
 Transcript; and
 Semester Enrollments. 16
CMS Quality Goals

17
CMS Quality Goals

 Stakeholders wants to achieve :


 Accuracy which essentially means that data recording
should be accurate e.g. GPA, CGPA, Attendance %
etc.
 Security which essentially means that various
stakeholders access to related data e.g. Students
assessment, attendance etc. should only be viewable
to students and editable to authorized course
instructor.
 Unauthorized persons are not allowed to access any
records.
18
CMS Quality Goals

Security

Quality Goals

Accuracy

19
Software Quality Plan

 Software quality engineering is driven by the software


quality plan
 A quality plan is a document setting out the specific quality
practices, resources and activities to particular product,
process, service, contract or project.
 It sets out the desired product qualities, and define how these are
to be assessed.
 It select those organizational standards that the appropriate to a
particular process and development processes.
Software Quality Plan
 Quality planning before specific QA activities are carried
out, in the so-called pre-QA activities in software quality
engineering.
 We need to set the overall quality goal by managing
customer’s quality expectations under the project cost and
budgetary constraints.
 We also need to select specific QA alternatives and
techniques to implement as well as measurement and
models to provide project monitoring and qualitative
feedback.
Software Quality Plan

 Quality planning includes forming a defect prevention,


defect detection and defect measurement strategies.
 Setting quality goals by matching customer’s quality
expectations with what can be economically achieved by
the software development organizations:
 Identify quality views and attributes meaningful to
target customers and users.
SQA Plan Execution

 Through SQA activities as they are an


attempt to prevent, eliminate, reduce, or
contain various specific problems
associated with different aspects of defects
Why SQA Activities

Increase in size and complexity of


software has unintended
consequences in terms of causing
quality problems.
Due to increasing size and
complexity of today’s software
products, informal testing without
much planning and preparation
becomes inadequate.
*As the amount of project size/complexity
increases, the number of faults will increase
Why SQA Activities

 It is virtually impossible or practically infeasible to achieve


the complete prevention or elimination of software
problems and related negative impact.
 Consequently, various software QA activities are carried
out to prevent or eliminate certain classes of problems
that lead to such negative impact, or to reduce the
likelihood or severity of such negative impact when it is
unavoidable.
Why SQA Activities
Why SQA Activities
Why SQA Activities

 Engineering quality in to software is an iterative


process which combines quality planning, quality
assurance and quality control activities.
 Our goal is:
 –Defect prevention, reduction and containment
What is Software Not Quality

 Failure: The inability of a system or component to perform its


required functions within specified performance requirements

 Fault: An incorrect step, process, or data definition in a computer


program

 Error: A human action that produces an incorrect result.

Error, fault and failure collectively refer to as defects


What is Software Not Quality

errors  faults  failures

 Errors may cause faults to be injected into the software,


and faults may cause failures when the software is
executed.

 A single error may cause many faults, such as in the case


that a wrong algorithm is applied in multiple modules and
causes multiple faults, and a single fault may cause many
failures in repeated executions.
What is Software Not Quality

 faults which do not cause a failure under the given


scenarios are typically called dormant or latent
faults, which may still cause problems under a
different set of scenarios or circumstances
What is Software Not Quality
 Bug / defect / fault consequence of a human error
 results in non-conformance to requirements
 obvious as failure in running software
Software Quality Assurance Process

You might also like