Definition of Quality:
• Quality is the totality of features and
characteristics of a product or service that bear
on its ability to satisfy stated or implied needs.
• Some goals of quality programs include:
• Fitness for use. (Is the product or service capable of
• Fitness for purpose. (Does the product or service meet
its intended purpose?)
• Customer satisfaction. (Does the product or service
meet the customer's expectations?)
• Conformance to the requirements. (Does the product
or service conform to the requirements?)
Quality Management Processes
• Quality Planning
• Quality Assurance
• Quality Control
• The process of identifying which quality standards are
relevant to the project and determining how to satisfy
• Input includes: Quality policy, scope statement, product
description, standards and regulations, and other process
• Methods used: benefit / cost analysis, benchmarking,
flowcharting, and design of experiments
• Output includes: Quality Management Plan, operational
definitions, checklists, and Input to other processes.
• The process of evaluating overall project
performance on a regular basis to provide
confidence that the project will satisfy the
relevant quality standards.
• Input includes: Quality Management Plan,
results of quality control measurements, and
• Methods used: quality planning tools and
techniques and quality audits.
• Output includes: quality improvement.
What is Quality Assurance?
• Quality Assurance (QA) is a process driven approach, it is
a process to monitor and improve existing quality
• It is a process of verifying whether the software product
or services meets or exceeds the customer expectations.
• It ensures that the product or services are developed or
implemented on agreed standards.
• Quality assurance ensures that the processes designed
for the product development and services are effective
enough to meet the objectives.
• It prevents software defects/errors.
• Quality assurance is about engineering “processes“that
• The keyword to pay attention to is “processes”.
• QA extends far beyond what we call the ‘software testing
team’. The goal is to develop high quality products in the most
efficient way, and it cannot be achieved by testing alone.
• Defects occur because something somewhere
did not happen the way it needed to.
• Testing might help in detecting those defects,
but not in avoiding them.
• A defect once fixed cannot ensure that it won’t
occur again, even if the root cause is found. The
process or the system that allowed that defect to
occur is what needs to be re-engineered, and
this is what is called quality assurance.
• Everyone who is involved in the end to end development
process, including analysts, developers, testers, managers etc.,
is an important player in assuring quality.
• In fact,QA might not involve testing at all.
• If a company wanted to bring down its defects per
million ratios, would testing alone be able to help
achieve this goal?
• The answer is no, because in practice, not every defect
can be found and fixed.
• However, if the processes that go into developing a
product were reviewed and best practices were
implemented, the load on testing team is likely to
• It is for this reason a lot of auditors focus on the
processes were followed rather than focusing on the
amount of testing an organization does.
• The process of monitoring specific project results to
determine if they comply with relevant quality standards
and identifying ways to eliminate causes of
• Input includes: work results, Quality Management Plan,
operational definitions, and checklists.
• Methods used include: inspection, control charts, pareto
diagrams, statistical sampling, flowcharting, and trend
• Output includes: quality improvements, acceptance
decisions, rework, completed checklists, and process
What is quality control?
• Quality Control is concerned with the software product
being developed. It measures and controls the quality of
the software as it is being developed.
• Quality control system provides routine checks to ensure
that the software is being developed correctly without
• The Quality Control system identifies and addresses
• Quality Control ensures that the final product is error
free and satisfactory.
• Quality Control (QC) is often referred to as testing
• Quality control is a set of “activities” that need to be
performed in order to detect problems during production and
before the product goes live.
• These activities ensure that final deliverable meets the
specifications and quality standards set by the organization.
• QC often includes peer reviews, “testing”, code reviews etc.
• In theory, quality control can be achieved with minimal
• For example, a thorough review of source code and checks for
known previously problems can reduce the possibility of
defects and might be enough to meet the quality standards
set by the organization.
• However in most cases, testing is the most important activity
for quality control, but it is not the ‘only’ activity.
• Quality control is extremely important for ensuring that
applications are bug free and meet the specifications and
requirements, but QC might not always be the most efficient
ways of ensuring quality.
• This is where Quality Assurance plays its role. But it is a
concept that is often misunderstood by even the most
What is verification?
• Verification represents static testing techniques.
• Verification ensures that the software documents comply with
the organizations standards, it is static analysis technique.
• Verification answer's the question “Is the Software build
according to the specifications”.
• Feasibility reviews
Static Code Analysis
What is software validation?
• Validation represents dynamic testing techniques.
• Validation ensures that the software operates as planned
in the requirements phase by executing it, running
predefined test cases and measuring the output with
• Validation answers the question “Did we build the
software fit for purpose and does it provides the solution
to the problem”.
• Validation is concerned with evaluating the software,
component or system to determine it meets end user
• Unit testing
• Integration testing
• System testing
• Integration testing
Major Approaches to Quality and
• Six Sigma
• ISO 9000
W Edwards Demming on Quality
• Quality is an attribute of a product or service
that can only be defined by the customer.
• Because of this its meaning is relative
• Quality or lack of it is one of the outcomes of the
specific business process that produces a
product or service
• Quality is produced by proper execution of such
• The job of quality management is to provide the
system and the leadership to facilitate such
Joseph M. Juran: On Quality
• Quality is “fitness for use”
• Balance between product features and products
free from deficiencies
• Features must meet customer expectations
• Absence of deficiency is as essential as desired
features in producing customer satisfaction
• So the ultimate test of quality is fitness for use
by customers as reflected by customer
Juran: The Trilogy of
• Quality Planning
• developing a process to achieve goals involving customer
• Quality Control
• holding onto gains, controlling variation,preventing waste
• Quality Improvement
• lowering cost of poor quality achieving innovation in performance
Philip B. Crosby: Quality
• Conformance to requirements
• Must be defined in measurable terms and
expressed as a clear target
• Either present or not present
• The Cost of Quality (COQ) = Price of