100% found this document useful (1 vote)
210 views35 pages

Software Quality Assurance

The document discusses software quality assurance (SQA). It provides an overview of SQA, including what it is, why it is important, its history and elements. The document also discusses software quality metrics, goals, attributes and methodologies of SQA such as reviews, audits, testing, error collection and analysis. It aims to ensure software engineering standards and guidelines are followed to achieve high quality software.
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
100% found this document useful (1 vote)
210 views35 pages

Software Quality Assurance

The document discusses software quality assurance (SQA). It provides an overview of SQA, including what it is, why it is important, its history and elements. The document also discusses software quality metrics, goals, attributes and methodologies of SQA such as reviews, audits, testing, error collection and analysis. It aims to ensure software engineering standards and guidelines are followed to achieve high quality software.
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/ 35

SOFTWARE QUALITY

ASSURANCE
PRESENTERS :

• Ahmad Rashid ( Fa-19-BSIT-012 )

• Aimman Azeem ( Fa-19-BSIT-014 )

• Shahid Manzoor ( Fa-19-BSIT-013 )

• Umar Farooq ( Fa-19-BSIT-011 )

• Malaika Asif ( Fa-19-BSIT-015 )


CONTENT
 What Is SQA ?
 Why It Is Important ?
 History
 Elements Of Software Quality Assurance
 Goals, Attributes, And Metrics
 Formal Approaches To SQA
 Statistical Software Quality Assurance
 Six Sigma
 Six Sigma Methodologies
 Software Reliability
WHAT IS SQA ?
Software quality assurance (SQA) is a methodology of checking that software
development projects comply with a predefined set of standards. Software quality
assurance takes place before, during, and after the SDLC. 

It is a process which assures that all software engineering processes, methods,


activities and work items are monitored and comply against the defined
standards.
WHAT TO DO?
You have to :

• Explicitly define what is meant when you say “software quality,”.

• Create a set of activities that will help ensure that every software engineering
work product exhibits high quality.

• Perform quality control and assurance activities on every software project.

• Use metrics to develop strategies for improving your software process and, as a
consequence, the quality of the end product.
WHAT IS SOFTWARE QUALITY
METRICS ?
The word 'metrics' refer to standards for measurements. Software Quality
Metrics means measurement of attributes, pertaining to software quality
along with its process of development.

The term "software quality metrics" illustrate the picture of measuring the
software qualities by recording the number of defects or security loopholes
present in the software. However, quality measurement is not restricted to
counting of defects or vulnerabilities but also covers other aspects of the
qualities such as maintainability, reliability, integrity, usability, customer
satisfaction, etc.
WHAT IS SOFTWARE QUALITY
METRICS ?
It is basically, a subclass of software metrics that mainly emphasizes on
quality assets of the software product, process and project.

Product Metrics : It includes size, design, complexity, performance and


other parameters that are associated with the product's quality.

Process Metrics : Describes characteristics can be used to improve the


development and maintenance activities of the software.

Project Metrics : It may include number of teams, developers involved, cost


and duration for the project, etc.
WHY SOFTWARE QUALITY
METRICS ?
o To define and categorize elements in order to have better understanding of
each and every process and attribute.

o To evaluate and assess each of these process and attribute against the given
requirements and specifications.

o Predicting and planning the next move w.r.t software and business
requirements.

o Improving the Overall quality of the process and product, and subsequently of
project.
WHY SQA IS IMPORTANT?
First, a high-quality software product will save you time and money. As a
business, providing a good that’s worth buying is one of your primary
objectives. 

To that same end, delivering a high-quality product implies less maintenance


over time because your software product will be resilient in the first place.
Therefore, you can spend the least amount of time and money on upkeep, if the
product needs future maintenance at all. 
SOME QUESTIONS ?
Who does it ?

What are the steps ?

What is the work product ?

How do I ensure that I’ve done it right ?


HISTORY
First formal quality assurance and control
Quality was the sole responsibility of the
function was introduced at Bell
programmer.
Labs

1916 1950s – 1960s

1940 1970
More formal approaches to quality control Standards for quality assurance for
were suggested. software were introduced in military
contract software development
ELEMENTS OF SOFTWARE
QUALITY ASSURANCE
The IEEE, ISO, and other standards organizations
Technical reviews are a quality control activity
Standards have produced a broad array of software
performed by software engineers for software
engineering standards and related documents.
engineers. Their intent is to uncover errors. Audits
Standards may be adopted voluntarily by a software
are a type of
Software review
testing is aperformed
quality controlby SQA personnel
function that
Reviews & Audits engineering organization or imposed by the
with
has the
oneorintent
primary of ensuring
goal to find that errors.
quality The
guidelines
job
customer
The only other
way tostakeholders.
improve is The
to job of
measure SQAhow is toof
are
SQAbeing
is tofollowed
ensure thatfor software
testing isengineering work.
properly planned
ensure
Change
you’re that standards
is one
doing. of that
thecollects
most have been
disruptive adopted
aspects ofare
Testing For
andexample,
efficiently anSQAaudit
conducted of the soandthatanalyzes
review theerror
process
it has might
highest
followed
any
and and
software
defect that
data all
project. work itproducts
Ifthat is not conform
properly to
be conducted
likelihood of toto better
ensure
achieving understand
its primaryreviewshow
goal. errors
are being
them.
managed,
are
performed inchange
introduced and can
a manner what lead
that to lead
software
will confusion, and
engineering
to the highest
Error Collection & confusion
activities
likelihood ofalmost
are always
best suited
uncovering to leads to poor
eliminating
errors. quality.
them.
Analysis SQA ensures that adequate change
management practices have been instituted.
Change Management
ELEMENTS OF SOFTWARE
QUALITY ASSURANCE
Security Management - With the increase in cyber crime and new government regulations regarding privacy, every software
organization should institute policies that protect data at all levels, establish firewall protection for Web Apps, and ensure that
software has not been tampered with internally.

Safety - Because software is almost always a pivotal component of human rated system. SQA may be responsible for assessing
the impact of software failure and for initiating those steps required to reduce risk.

Risk Management - the SQA organization ensures that risk management activities are properly conducted and that risk-related
contingency plans have been established.
ELEMENTS OF SOFTWARE
QUALITY ASSURANCE
Education - A key contributor to improvement is education of software engineers, their managers, and other stakeholders.

Vendor management.  Three categories of software are acquired from external software vendors–shrink–wrapped packages

(e.g., Microsoft Office), a tailored shell that provides a basic skeletal structure that is custom tailored to the needs of a

purchaser, and contracted software that is custom designed and constructed from specifications provide by the customer

organization.
SQA PROCESSES AND
PRODUCT CHARACTERISTICS
• Different software products may exhibit different levels of quality.

• Understanding the specific quality requirements for a software product


and then select the process and specific SQA actions and tasks that will be
used to meet those requirements.

• The Software Engineering Institute’s CMMI and ISO 9000 standards are
the most commonly used process frameworks. Each proposes “a syntax
and semantics” that will lead to the implementation of software
engineering practices that improve product quality.
SQA TASKS
A set of SQA activities that address quality assurance planning, oversight, record keeping, analysis, and reporting.

These activities are performed (or facilitated) by an independent SQA group that:

• Prepares an SQA plan for a project.

• Participates in the development of the project’s software process.

• Reviews software engineering activities to verify compliance with the defined software process.

• Records any noncompliance and reports to senior management.


SQA TASKS
• Audits designated software work products to verify compliance with those

defined as part of the software process.

• Ensures that deviations in software work and work products are documented

and handled according to a documented procedure.


GOALS, ATTRIBUTES, AND
METRICS
•Requirement Quality :

The correctness, completeness, and consistency of the requirements model


will have a strong effect on the quality of all
work products that follow. SQA must
ensure that the team has properly go through the requirements to achieve a high
level of quality.

•Design Quality :

Every element of the design model should be measured by the software team to
ensure that it shows high quality and that the design itself obeys to
requirements.
GOALS, ATTRIBUTES, AND
METRICS
•Code Quality: Source code and related work products (e.g., other
descriptive information) must obey to local coding standards and display
characteristics that will facilitate maintainability.

•Quality Control Effectiveness: A software team should


apply limited resources in a way that has the highest likelihood of
achieving a high-quality.
FORMAL APPROACHES TO
SQA
• A computer program is a mathematical object.

• A system using a modeling language—typically by using a formal, mathematical


syntax and semantics that eliminate imprecision and ambiguity.

• If the requirement model and the programming language can be represented in a


rigorous manner, it should be possible to apply mathematical syntax and semantics
that program obeys exactly to its specification.

• Effort should be made to adopt the formal approach of development for


structured programming concept.
STATISTICAL SOFTWARE
QUALITY ASSURANCE
• Statistical quality assurance reflects a growing trend to become more quantitative about quality.

• Information about software errors and defects is collected and categorized.

• An attempt is made to trace each error and defect to its underlying cause (e.g., nonconformance
to specifications, design error, violation of standards, poor communication with the customer).

• Using the Pareto principle (80 percent of the defects can be traced to 20 percent of all possible
causes), separate the 20 percent (the vital few).

• Once the vital few causes have been identified, move to correct the problems that have
caused the errors and defects.
A GENERIC
EXAMPLE
To demonstrate the use of statistical methods for software engineering
work, there are some following causes :

• Error in design logic (EDL).

• Inaccurate or incomplete documentation (IID).

• Misinterpretation of customer communication (MCC).

• Violation of programming standards (VPS).

• Error in data representation (EDR).

• Incomplete or erroneous testing (IET).

• Error in programming language translation of design (PLT).


SIX SIGMA
Six Sigma is a quality management methodology used to help businesses improve current processes, products or
services by discovering and eliminating defects. The goal is to streamline quality control in manufacturing or
business processes so there is little to no variance throughout.

History of Six Sigma


It was introduced by Engineer Sir Bill Smith while working at Motorola in 1980

Six Sigma was adopted by Bob Galvin, the CEO of Motorola in 1986 and registered as a Motorola Trademark on
December 28, 1993, then it became a quality leader
SIX SIGMA METHODOLOGIES
Six Sigma projects follow two project methodologies:
DMAIC

It specifies a data-driven quality strategy for improving processes.


This methodology is used to enhance an existing business process.
DMADV

It specifies a data-driven quality strategy for designing products and


processes. This method is used to create new product designs or process
designs in such a way that it results in a more predictable, mature, and
detect free performance.
SOFTWARE RELIABILITY
Software reliability is defined as the probability that a software system fulfills its assigned task in a given environment for a

predefined number of input cases, assuming that the hardware and the input are free of error. It is described as the ability of a

system or component to perform its required functions under static conditions for a specific period.

Software Reliability is an essential connect of software quality, composed with


Functionality
Usability
Performance
Serviceability
Capability
Installability
Maintainability
Documentation
MEASURES OF RELIABILITY AND
AVAILABILITY
A simple measure of reliability is mean-time-between-failure (MTBF):
MTBF = MTTF + MTTR
where the acronyms MTTF and MTTR are mean-time-to-failure and mean-
time-to repair, respectively.

MTBF can be problematic for two reasons:


• It projects a time span between failures, but does not provide us with a
projected failure rate
• MTBF can be misinterpreted to mean average life span even though this is not
what it implies.
MEASURES OF RELIABILITY AND
AVAILABILITY (CONT...)
Software availability is the probability that a program is operating according to
requirements at a given point in time and is defined as
SOFTWARE SAFETY
Software safety is a software quality assurance activity that focuses on the
identification and assessment of potential hazards that may affect software
negatively and cause an entire system to fail.
A modelling and analysis process is conducted as part of software safety.
Initially, hazards are identified and categorized by criticality and risk.
Analysis techniques ;
 Real-time logic
 Petri net models
SOFTWARE SAFETY VS
SOFTWARE RELIABILITY
Although software reliability and software safety are closely related to one another, it is important to
understand the subtle difference between them.

Software reliability uses statistical analysis to determine the likelihood that a software failure will occur.
However, the occurrence of a failure does not necessarily result in a hazard or mishap.

Software safety examines the ways in which failures result in conditions that can lead to a mishap. That
is, failures are not considered in a vacuum, but are evaluated in the context of an entire computer-based
system and its environment.
ISO 9000 QUALITY
STANDARDS
A quality assurance system may be defined as the organizational structure, responsibilities, procedures,
processes, and resources for implementing quality management.

To become registered to one of the quality assurance system models contained in ISO 9000, a
company's quality system and operations are scrutinized by third_x0002_party auditors for compliance
to the standard and for effective operation. Upon successful registration, a company is issued a
certificate from a registration body represented by the auditors.
SQA PLAN
The SQA Plan provides a road map for instituting software quality
assurance. Developed by the SQA group the plan serves as a template for
SQA activities that are instituted for each software project.
The standard recommends a structure that identifies
 The purpose and scope of the plan,
 A description of all software engineering work products
 All applicable standards and practices that are applied during the software
process
SQA PLAN (CONT...)
 SQA actions and tasks (including reviews and audits) and their placement through out the software
process
The tools and methods that support SQA actions and tasks,
Software configuration management procedures,
Methods for assembling, safeguarding, and maintaining all SQA related records
Organizational roles and responsibilities relative to product quality.
THANK YOU

You might also like