Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 20

Chapter 1: Overview of Software QA

Chapter 2: What is Software Quality


04-Oct-14 2

Chapter 1

Overview of Software QA
04-Oct-14 3

Peoples Quality Expectations


In general, peoples quality expectations for software
systems they use and rely upon are two-fold:
1. The software systems must do what they are
supposed to do. In other words, they must do the
right things. (Validation)
2. The software must perform these specific tasks
correctly or satisfactorily. In other words, they must
do the things right. (Verification)
04-Oct-14 4

Main tasks for software quality


engineering
Quality planning;
Execution of selected QA or software validation and
verification activities;
Measurement and analysis to provide convincing
evidence to demonstrate software quality to all parties
involved.
04-Oct-14 5

Two Types of Software


Fat Software:
Large system
Complex and poor design
Non-essential features
Lean Software
Small system
Simple and Disciplined methodology
Essential features
04-Oct-14 6

QA Techniques
There are many other QA alternatives supported by related
techniques and activities
Inspection is a critical examination of software code or
other artifacts by human inspectors to identify and remove
problems directly, without resorting to execution.
Formal verification
Defect prevention
Fault tolerance prevents global system failures even if
local problems exist, through various redundancies
strategically designed and implemented into the software
systems.
04-Oct-14 7

Testing, quality assurance and quality


engineering
Software QA activities are carried out to prevent or eliminate
certain classes of problems
Software testing plays a central role among the software QA
activities.
QA activities need to be managed in an engineering process

Fig: Scope and content hierarchy: Testing, quality assurance (QA), and software quality engineering
04-Oct-14 8

Chapter 2

What is Software Quality


04-Oct-14 9

What is Software Quality


In the transcendental view, quality is hard to define or
describe in abstract terms, but can be recognized if it is
present. It is generally associated with some intangible
properties that delight users.
In the user view, quality is fitness for purpose or
meeting users needs.
In the manufacturing view, quality means
conformance to process standards.
04-Oct-14 10

What is Software Quality


In the product view, the focus is on inherent
characteristics in the product itself in the hope that
controlling these internal quality indicators will result
in improved external product behavior (quality in use).
In the value-based view, quality is the customers
willingness to pay for a software.
04-Oct-14 11

Quality expectations
Consumer View:
Software ok or not, doing the right thing
Over a period of time working reliably

Producer View:
conform to product specifications or providing services
that conform to service agreement.
Well Designed
04-Oct-14 12

Difference Between QA and Testing


Software Development Life Cycle:

Feasibility Requirements
Analysis Design
Analysis

Deliver &
Coding Testing Support

QA QA QA
04-Oct-14 13

CORRECTNESS AND DEFECTS


Key to the correctness aspect of software quality is the
concept of defect, failure, fault, and error.
Defect: Generally refers to some problem with the
software, either with its external behavior or with its
internal characteristics.
Error: A human action that produces an incorrect result.
Fault: An incorrect step, process, or data definition in a
computer program. (Incorrectness of the system)
Failure: The inability of a system or component to
perform its required functions within specified
performance requirements.
04-Oct-14 14

DEFECTS EXAMPLE
int add(int a, int b){
return(a-b); Error Fault

Res = add(7,6);

Failure
04-Oct-14 15

CORRECTNESS AND DEFECTS


04-Oct-14 16

Related Terms
Bugs: Software problems or defects are commonly
referred to as bugs.
Debug:
The term debug general means get rid of the bugs
defect detection and removal for the overall concept and
activities of the system
Specific activities related to defect discovery, including testing,
inspection, etc.
Specific follow-up activities after defect discovery, including
defect diagnosis, analysis, fixing, and re-verification.
04-Oct-14 17

Failure Measurement (3 ways)


Failure properties and direct failure measurement: Failure properties
include information about the specific failures, what they are, how they occur,
etc. These properties can be measured directly by examining failure count,
distribution, density, etc.
Failure likelihood and reliability measurement: How often or how likely a
failure is going to occur is of critical concern to software users and customers.
This likelihood is captured in various reliability measures, where reliability
can be defined as the probability of failure-free operations for a specific time
period or for a given set of input.
Failure severity measurement and safety assurance: The failure impact is
also a critical concern for users and customers of many software products and
services. Accidents, which are defined to be failures with severe consequences,
need to be avoided, contained, or dealt with to ensure the safety for the
personnel involved and to minimize other damages.
04-Oct-14 18

Dealing with Defect (3 Ways)


1. Defect prevention
These QA activities prevent certain types of faults from being injected
into the software through error blocking or error source removal.
2. Defect detection and removal
These QA alternatives detect and remove certain faults once they have
been injected into the software systems through inspection and testing.
3. Defect containment
Some QA alternatives, such as the use of fault-tolerance techniques,
break the causal relation between faults and failures so that local faults
will not cause global failures, thus tolerating these local faults.
limiting the damage caused by software system failures.

Reference: Chapter-3
04-Oct-14 19

Reference

Book: Software Quality Engineering - Jeff Titan


04-Oct-14 20

You might also like