You are on page 1of 47

Software Testing &

Quality Controls
Semester V
Quality
Concepts
• Software became increasingly integrated in every facet of our lives.
• Billions of dollars each year were being wasted on software.
• Government and industry became increasingly concerned.
Quality
Concepts
• Just how bad is bad software?
• Three or four defects per 1,000 lines of code to make a program
perform poorly.
• Factor in that most programmers inject about one error for every 10
lines of code.
Quality
Concepts
• What is it?
• Who does it?
• Why is it important?
• What are the steps?
• What is the work product?
• How do I ensure that I’ve done it right?
What Is Quality?
• “Quality is a complex and multifaceted concept” that can be described
from five different points of view.
Views Of Quality?
• Transcendental view
• User view
• Manufacturer’s view
• Product view
• Value-based view
Transcendental View
• The transcendental view argues that quality is
something you immediately recognize, but
cannot explicitly define.
User View
• The user view sees quality in terms of an end
user’s specific goals. If a product meets those
goals, it exhibits quality.
Manufacturer’s View
• The manufacturer’s view defines quality in
terms of the original specification of the product.
If the product conforms to the spec, it exhibits
quality
PRODUCT VIEW
• The product view suggests that quality can be
tied to inherent characteristics (e.g., functions
and features) of a product
VALUE-BASED VIEW
• The value-based view measures quality based on
how much a customer is willing to pay for a
product.
“In reality, quality encompasses all of these
views and more.”
Quality Of Design
• It refers to the characteristics that designers
specify for a product.
• The grade of materials, tolerances, and
performance specifications all contribute to the
quality of design.
Quality Of Conformance
• It focuses on the implementation follows the
design and the resulting system meets its
requirements and performance goals.
Achieving Software Quality
• Software Engineering Methods
• Project Management Techniques
• Quality Control
• Quality Assurance
Background Issues
Background Issues
• Quality control and assurance are essential
activities for any business that produces products
to be used by others.
• During the early days of computing ,quality was
the sole responsibility of the programmer
Software Quality Assurance
Software Quality Assurance
• It is planned and systematic pattern of actions
that are required to ensure high quality in
software
• The SQA group serves as the customer’s in-
house representative
Elements of
Software Quality Assurance
Software Quality Assurance
• SQA encompasses a broad range of concerns and
activities that focus on the management of
software quality.
Software Quality Assurance
• Standards. • Education.
• Reviews and audits • Vendor management.
• Testing. • Security management
• Error/defect collection • Safety.
and analysis • Risk management.
• Change management.
The SQA Process
The SQA Process
SQA procedures and approaches that work in one
software environment may not work as well in
another.
The SQA Process
The solution to this dilemma is to understand 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 SQA Process
The Software Engineering Institute’s CMMI and
ISO 9000 standards are the most commonly used
process
frameworks
The SQA Tasks, Goals & Metrics
SQA Tasks
• Prepares an SQA plan for a project.
• Participates in the development of the project’s
software process description.
• Reviews software engineering activities to verify
compliance with the defined software process.
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
Goals, Attributes, and Metrics
• Requirements quality
• Design quality.
• Code quality
• Quality control effectiveness
Requirements quality
• The correctness, completeness, and consistency
of the requirements model will have a strong
influence on the quality of all work products that
follow.
Requirements quality
Design quality.
• Every element of the design model should be
assessed by the software team to ensure that it
exhibits high quality and that the design itself
conforms to requirements.
Design quality.
Code quality
• Source code and related work products (e.g.,
other descriptive information) must conform to
local coding standards and exhibit characteristics
that will facilitate maintainability.
Code quality
Quality control effectiveness
• A software team should apply limited resources
in a way that has the highest likelihood of
achieving a high-quality result.
Quality control effectiveness
Formal Approaches to SQA
Formal approaches to SQA
• A small, but vocal, segment of the software
engineering community has argued that a more
formal approach to software quality assurance is
required.
Statistical Software Quality Assurance
Statistical Software Quality Assurance
• Statistical quality assurance reflects a growing
trend throughout the industry to become more
quantitative about quality.
Software Reliability
Software Reliability
• Software reliability is defined in statistical terms
as “the probability of failure-free operation of a
computer program in a specifi ed environment
for a specified time”
The Iso 9000 Quality Standards
The Iso 9000 Quality Standards
• ISO 9000 describes quality assurance elements in
generic terms that can be applied to any business
regardless of the products or services offered.

You might also like