0% found this document useful (0 votes)
56 views10 pages

Software Quality Assurance: Overview of

The document discusses software quality assurance (SQA) and defines key terms. SQA aims to ensure quality in software engineering processes to ultimately produce quality products. It focuses on establishing and evaluating development processes, is prevention oriented, and organization-wide in scope. Software quality control focuses on identifying defects in products and is detection oriented and specific to individual products/projects.

Uploaded by

AAM
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
0% found this document useful (0 votes)
56 views10 pages

Software Quality Assurance: Overview of

The document discusses software quality assurance (SQA) and defines key terms. SQA aims to ensure quality in software engineering processes to ultimately produce quality products. It focuses on establishing and evaluating development processes, is prevention oriented, and organization-wide in scope. Software quality control focuses on identifying defects in products and is detection oriented and specific to individual products/projects.

Uploaded by

AAM
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/ 10

435-INFS-3 Software Quality

Assurance

Chapter # 1

Overview of Software
Quality Assurance

Software Quality Assurance from Theory to Implementation by Daniel Galin

Prepared by: S.Hashmi


What is Software?
• Software is:[IEEE definition]
• Computer programs, procedures, and possibly associated
documentation and data pertaining to the operation of a computer
system.
 
• The IEEE definition of software, which is almost identical to the ISO
definition ,lists the following four components of software:
• ■ Computer programs (the “code”)
• ■ Procedures
• ■ Documentation
• ■ Data necessary for operating the software system
• Computer programs (the “code”) are needed because, obviously, they
activate the computer to perform the required applications.
Continue

• Procedures are required, to define the order and schedule in which the programs are
performed, the method employed, and the person responsible for performing the
activities that are necessary for applying the software.
• Various types of documentation are needed for developers, users and maintenance
personnel. The development documentation (the requirements report, design
reports, program descriptions, etc.) allows efficient cooperation and coordination
among development team members and efficient reviews and inspections of the
design and programming products.
• The user’s documentation (the “user’s manual”, etc.) provides a description of the
available applications and the appropriate method for their use. The maintenance
documentation (the “programmer’s software manual”, etc.) provides the maintenance
team with all the required information about the code, and the structure and tasks of
each software module. This information is used when trying to locate causes of
software failures (“bugs”) or to change or add to existing software.
• Data including parameters, codes and name lists that adapt the software to the needs
of the specific user are necessary for operating the software
Software quality – IEEE definition
• Software quality is:
• 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.
• The above definition offers two alternative definitions of software quality, held by the
founders of modern quality assurance, Philip B. Crosby and Joseph M. Juran. Each
definition reflects a different conception of software quality:
• Quality means conformance to requirements” (Crosby, 1979).
• (1) Quality consists of those product features which meet the needs of customers
and thereby provide product satisfaction.
• (2) Quality consists of freedom from deficiencies” (Juran, 1988).
• Crosby’s definition of software quality refers to the degree to which the written
software meets the specifications prepared by the customer and his professional
team. This means that errors included in the software specification are not
considered and do not reduce the software quality, a characteristic that can be
considered the approach’s deficiency.
Continue

• Juran’s definition is aimed at achieving customer satisfaction, and views the


fulfillment of customers’ real needs as the true goal of software quality
• Software quality – Pressman’s definition
• Pressman’s definition suggests three requirements for quality assurance that are to
be met by the developer:
• ■ Specific functional requirements, which refer mainly to the outputs of the
software system.
• ■ The software quality standards mentioned in the contract.
• ■ Good Software Engineering Practices (GSEP), reflecting state-of-the-art
professional practices, to be met by the developer even though not explicitly
mentioned in the contract. In effect, Pressman’s definition provides operative
directions for testing the degree to which the requirements are met.
• Quality Control (QC) is a system of routine technical activities, to measure and
control the quality of the inventory as it is being developed
• The QC system is designed to:
• (i) Provide routine and consistent checks to ensure data integrity, correctness,
and Completeness
Continue

• (ii) Identify and address errors and omissions;


• (iii) Document and archive inventory material and record all QC activities.
•1) Quality of Design: Quality of design refers to the characteristics that designers specify
for an item. In software development, quality of design encompasses requirements,
specifications, and the design of the system.
•2) Quality of conformance is the degree to which the design specifications are followed
during manufacturing
•User satisfaction = Compliant product + Good quality + Delivery within budget But if
the user isn’t satisfied, nothing else really matters
•Cost of Quality-> The cost of quality includes all costs incurred in the pursuit of quality
or in performing quality-related activities.
• Cost of quality may be divided into costs associated with prevention, appraisal, and
failure.
• Prevention costs include
• Quality planning
• Formal technical reviews
• Test equipment
• Training
Continue

• Appraisal costs include activities to gain insight into product condition the “first time
through” each process
• Failure costs are those that would disappear if no defects appeared before shipping a
product to customers. Failure costs may be subdivided into internal failure costs and
external failure costs. Internal failure costs are incurred when we detect a defect in our
product prior to shipment. Internal failure costs include
• Rework
• Repair
• Failure mode analysis
• External failure costs are associated with defects found after the product has been
shipped to the customer. Examples of external failure costs are
• Complaint resolution
• Product return and replacement
• Help line support, Warranty work
•Quality Assurance: 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
Continue

• These activities prevent the causes of errors, and detect and correct them early in the
development process. As a result, quality assurance activities 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.
• Software quality assurance – The IEEE definition
• Software quality assurance is:
1. A planned and systematic pattern of all actions necessary to provide adequate
confidence that an item or product conforms to established technical requirements.
2. A set of activities designed to evaluate the process by which the products are
developed or manufactured. Contrast with quality control.
• The objectives of SQA activities
• The objectives of SQA activities refer to the functional, managerial and economic
aspects of software development and software maintenance
• Software development (process-oriented):
• 1. Assuring an acceptable level of confidence that the software will conform to
functional technical requirements
Continue

• 2. Assuring an acceptable level of confidence that the software will conform to


managerial scheduling and budgetary requirements.
• 3. Initiating and managing of activities for the improvement and greater efficiency of
software development and SQA activities.
• Software maintenance (product-oriented):
• 1. Assuring with an acceptable level of confidence that the software maintenance
activities will conform to the functional technical requirements.
• 2. Assuring with an acceptable level of confidence that the software maintenance
activities will conform to managerial scheduling and budgetary requirements.
• 3. Initiating and managing activities to improve and increase the efficiency of software
maintenance and SQA activities
• Software Quality Assurance vs. Software Quality Control
Software Quality Assurance vs. Software Quality Control

Criteria Software Quality Assurance (SQA) Software Quality Control (SQC)


Definition SQA is a set of activities for ensuring SQC is a set of activities for
quality in software engineering processes ensuring quality in software
(that ultimately result in quality in products. The activities focus
software products). The activities on identifying defects in the
establish and evaluate the processes that actual products produced.
produce products.
Focus Process focused Product focused
Orientation Prevention oriented Detection oriented
Breadth Organization wide Product/project specific
Relates to all products that will ever be
Scope Relates to specific product
created by a process
 Process Definition and Implementation
 Reviews
Activities  Audits
 Testing
 Training

You might also like