Software Quality Assurance
Software Quality Assurance
ASSURANCE
PRESENTERS :
• Create a set of activities that will help ensure that every software engineering
work product exhibits high quality.
• 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.
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.
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.
• 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:
• Reviews software engineering activities to verify compliance with the defined software process.
• Ensures that deviations in software work and work products are documented
•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.
• 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 :
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
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 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