Unit 1 SQA Course incharge: Dr. R. Kavitha Page 1 Software Quality Assurance Software is: Computer programs, procedures, and possibly associated documentation and data pertaining to the operation of a computer system. Engineering may be defined as: The application of science and mathematics by which properties of matter and the sources of energy are made useful to people. Software Engineering The application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software; that is, the application of engineering to software. Quality One of the important issues that business has focused on in the last two decades is “quality”. The other issues are cost and delivery. Quality has been widely considered as a key element for success in business in the present competitive market. Quality refers to meeting the needs and expectations of customers. It is important to understand that quality is about more than a product simply working properly. Quality popular view: – Something “good” but not quantifiable – Something luxury and classy Quality professional view: – Conformance to requirement - (Crosby, 1979) The requirements are clearly stated and the product must conform to it Any deviation from the requirements is regarded as a defect A good quality product contains fewer defects – Fitness for use (Juran, 1970): Fit to user expectations: meet user’s needs A good quality product provides better user satisfaction
26
Embed
Unit 1 SQA - WordPress.com · 2018-01-02 · Unit 1 SQA Course incharge: Dr. R. Kavitha Page 2 Quality concepts Quality refers to certain standards and the ways and means by which
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Unit 1 SQA
Course incharge: Dr. R. Kavitha Page 1
Software Quality Assurance
Software is: Computer programs, procedures, and possibly associated documentation and data
pertaining to the operation of a computer system.
Engineering may be defined as:
The application of science and mathematics by which properties of matter and the sources of
energy are made useful to people.
Software Engineering
The application of a systematic, disciplined, quantifiable approach to the development,
operation and maintenance of software; that is, the application of engineering to software.
Quality
One of the important issues that business has focused on in the last two decades is “quality”.
The other issues are cost and delivery. Quality has been widely considered as a key element for
success in business in the present competitive market. Quality refers to meeting the needs and
expectations of customers. It is important to understand that quality is about more than a
product simply working properly.
Quality popular view:
– Something “good” but not quantifiable
– Something luxury and classy
Quality professional view:
– Conformance to requirement - (Crosby, 1979)
The requirements are clearly stated and the product must conform to it
Any deviation from the requirements is regarded as a defect
A good quality product contains fewer defects
– Fitness for use (Juran, 1970):
Fit to user expectations: meet user’s needs
A good quality product provides better user satisfaction
Unit 1 SQA
Course incharge: Dr. R. Kavitha Page 2
Quality concepts
Quality refers to certain standards and the ways and means by which those standards are
achieved, maintained and improved. Quality is not just confined to products and services. It is a
homogeneous element of any aspect of doing things with high degree of perfection.
For example Business success depends on the quality decision making.
Quality control - series of inspections, reviews, and tests used to ensure conformance of a work
product (artifact) to its specifications.
Quality assurance - auditing and reporting procedures used to provide management with data
needed to make proactive decisions.
Five views of software quality
1. Product View - If a product is manufactured with good internal characteristics then it will
have good external qualities. Quality is viewed as a quantifiable or measurable characteristics or
attribute.
Eg: Durability and Reliability - These factors can be measured- Eg: Mean time between
failure.
But quality is based on individual taste or, the benchmark for measurement may be misleading.
2. User view: In this view, the user is concerned with whether or not the product is fit for
use. The product should meet user needs and expectations.
Here the problem is - Are quality and customer satisfaction the same?
The answer is probably not….
3. Manufacturing view: In this view, quality is seen as conforming to requirements.
4. Value-Based view: The central view in this case is how much a customer is willing to pay
for a certain level of quality.
5. Transcendental view: Quality is viewed to be something ideal. In this case, no effort is
made to express it using concrete measures.
Those who hold the transcendental view would say “I can’t define it, but I know it when I see
it”. Advertisers are fond of promoting products in these terms. “Where shopping is a pleasure”
(supermarket). “We love to fly and it shows" (airline).
Unit 1 SQA
Course incharge: Dr. R. Kavitha Page 3
Various definition of Software quality:
(1) The degree to which a system, component or process meets specified requirements.
(2) The degree to which a system, component, or process meets customer or user needs or
expectations.
Software quality is: Conformance to explicitly stated functional and performance requirements,
explicitly documented development standards and implicit characteristics that are expected of
all professionally developed software.
• Assures that quality is built into the software through the functions of
Software quality assurance
Software quality engineering
Software quality control
• Ensures conformance of software life cycle processes and products to requirements,
standards, and procedures
• Performs process and product activities throughout the life cycle to provide objective
insight into the maturity and quality of the software processes and products
• Promotes continuous process improvement.
Software quality assurance - Definition and objectives
The software quality assurance is as per IEEE definition
A planned and systematic pattern of all actions necessary to provide adequate
confidence that an item or product conforms to established technical requirements.
A set of activities designed to evaluate the process by which the products are developed
or manufactured.
Difference between quality control and quality assurance
Quality control is defined as “a set of activities designed to evaluate the quality of a
developed or manufactured product”. The objective is the withholding of any product
that does not qualify. The quality control activities take place during the development
and manufacturing process and before the deployment of the product.
The main objective of quality assurance is to minimize the cost of guaranteeing quality
by a variety of activities performed throughout the development and manufacturing
processes/stages. These activities prevent the causes of errors, and detect and correct
them early in the development process. As a result, quality assurance activities
Unit 1 SQA
Course incharge: Dr. R. Kavitha Page 4
substantially reduce the rate of products that do not qualify for shipment and, at the same
time, reduce the costs of guaranteeing quality in most cases.
The difference is that QA is process oriented and QC is product oriented
Quality Assurance Quality Control
Quality Assurance is a part of quality
management process which concentrate
on providing confidence that quality
requirements will be fulfilled
Quality Control is a part of quality
management process which concentrates
on fulfilling the quality requirements.
Quality Assurance is a set of activities
for ensuring quality in the processes by
which products are developed.
Quality Control is a set of activities
for ensuring quality in products. The
activities focus on identifying defects in
the actual products produced.
Quality Assurance is the process of
managing for quality;
Quality Control is used to verify the
quality of the output
The goal of Quality Assurance is to
prevent introducing defects in the
software application which help to
improve the development and testing
processes.
The goal of Quality Control is to identify
the defects in the software application after
it is developed.
QA is Pro-active means it identifies
weaknesses in the processes.
QC is Reactive means it identifies the
defects and also corrects the defects or
bugs also.
It does not involve executing the program
or code.
It always involves executing the program
or code.
All peoples who are involved in the
developing software application as
responsible for the quality assurance.
Testing team is responsible for Quality
control.
Quality Assurance is process oriented Quality Control is product oriented
Quality Assurance basically aim to Quality Control basically aim to detection
Unit 1 SQA
Course incharge: Dr. R. Kavitha Page 5
Quality Assurance Quality Control
prevention of defects to improve the
quality.
of defects to improve the quality.
It identifies weakness in processes to
improve them.
It identifies defects to be fixed.
Verification is an example of Quality
Assurance.
Validation/Software Testing is an example
of Quality Control.
It is done before Quality Control. It is done only after Quality Assurance
activity is completed.
Quality Assurance means Planning done
for doing a process.
Quality Control Means Action has taken on
the process by execute them.
Objectives of SQA
The objectives of SQA activities refer to the functional, managerial and economic aspects of
software development and software maintenance.
The objectives of SQA activities in Software development (process-oriented):
(1) Assuring an acceptable level of confidence that the software will conform to functional
technical requirements.
(2) Assuring an acceptable level of confidence that the software will conform to managerial
scheduling and budgetary requirements.
(3) Initiation and management of activities for the improvement and greater efficiency of
software development and SQA activities.
The objectives of SQA activities in software maintenance (product oriented):
(1) Assuring an acceptable level of confidence that the software maintenance activities will
conform to the functional technical requirements.
(2) Assuring an acceptable level of confidence that the software maintenance activities will
conform to managerial scheduling and budgetary requirements.
Unit 1 SQA
Course incharge: Dr. R. Kavitha Page 6
(3) Initiate and manage activities to improve and increase the efficiency of software
maintenance and SQA activities.
The characteristics of software engineering, especially the systematic, disciplined and
quantitative approach at its core, make the software engineering environment a good
infrastructure for achieving SQA objectives. The methodologies and tools that are applied by
software engineering determine, to a considerable extent, the level of quality to be expected
from the software process and the maintenance services.
When people associate Quality or High Quality with software system, it is an indication that
few, if any, defects are expected to occur during its operations or when problems do occur, the
negative impact is expected to be minimized. Key of the correctness aspect of software quality
is the concept of defect, failure, fault and error. The term “defect” refers to some problem with
the software either with its external or with internal characteristics.
Software Defects
Software Defects: The IEEE Standard defines the following terms related to defects:
Failure: the inability of a system or component to perform its required functions within
specified performance requirements.
Fault: An incorrect step, process, or data definition in a computer program.
Error: A human action that produces an incorrect result.
An error can be a grammatical error in one or more of the code lines, or a logical
error in carrying out one or more of the client’s requirements.
Not all software errors become software faults. in some cases, the software error can
cause improper functioning of the software. In many other cases, erroneous code lines
will not affect the functionality of the software as a whole.
A failure is said to occur whenever the external behavior of a system does not conform
to that prescribed in the system specification. A software fault becomes a software
failure only when it is “activated”
Causes of software defects
1. Faulty requirements definition
2. Client-developer communication failures
3. Deliberate deviations from software requirements
4. Logical design errors
5. Coding errors
6. Non-compliance with documentation and coding instructions
Unit 1 SQA
Course incharge: Dr. R. Kavitha Page 7
7. Shortcomings of the testing process
8. User interface and procedure errors
9. Documentation errors
Software Quality Factors
The following factors are used by customers when evaluating quality of software.
1. Correctness: A software product is correct, if different requirements as specified in the SRS
document have been correctly implemented. (Accuracy of result)
2. Portability: A software product is said to be portable, if it can be easily made to work in
different operating systems, in different machines, with other software products, etc.
3. Reusability: A software product has good reusability, if different modules of the product can
easily be reused to develop new products.
4. Usability: A software product has good usability, if different categories of users (i.e. both
expert and novice users) can easily invoke the functions of the product.
5. Maintainability: A software product is maintainable, if errors can be easily corrected as and
when they show up, new functions can be easily added to the product, functionalities of the
product can be easily modified, etc.
6. Tangibility: Appearance of physical facilities, equipment, personnel and communication
materials.
7. Empathy: Caring, Individualized attention the firm provides its customers.
8. Responsiveness: willingness to help customers and provide prompt service.
9. Assurance: Knowledge and courtesy of employees and their ability to convey trust and
confidence.
10. Efficiency: Efficiency is a factor relating to all issues in the execution of software; it
includes considerations such as response time, memory requirement, and throughput.
Mc calls quality system:
A quality factor represents a behavioral characteristic of a system. It emphasis on the non-