SlideShare a Scribd company logo
1 of 43
Software Engineering
(CSI 321)
Software Quality Assurance
1
Introduction
 Software Quality Assurance (SQA) is an umbrella activity that is applied
throughout the software process.
 SQA encompasses-
1) A software quality assurance process
2) Specific quality assurance and quality control tasks ( including formal
technical reviews and a multi-tier testing strategy)
3) Effective software engineering practice (methods and tools)
4) Control of all software work products and the changes made to them
5) A procedure to ensure compliance with software development standards
6) Measurement and reporting mechanisms
2
Quality Concepts
• Software engineers strive to control the
– process applied
– resources expended
– end product quality attributes
3
What is Quality ?
• Refers to measurable characteristics.
• For software, two kinds of quality may be encountered:
 Quality of design: refers to characteristics that designers specify for the
end product to be constructed. Quality of design encompasses
requirements, specifications, and the design of the system.
 Quality of conformance: is the degree to which design
specifications are followed during developing the product. Quality of
conformance is an issue focused primarily on implementation.
• Crucial is customer satisfaction (and quality is only a part of it):
 User satisfaction = compliant product + good quality + delivery within budget
and schedule
• At the bottom line ==> Quality is important, but if the user isn’t satisfied,
nothing else really matters!
4
Quality Control (QC)
• QC is defined as the processes and methods used to monitor
work and observe whether requirements are met. It focuses
on reviews and removal of defects before shipment of
products.
• QC involves series of inspections, reviews, and tests used
throughout the software process to ensure each work
product meets the requirements placed upon it.
• QC includes a feedback loop to the process that created the
work product.
5
Quality Control (QC)
• A key concept of quality control is that all work
products have defined, measurable specifications to
which we may compare the output of each process.
Feedback loop is essential to minimize the defects
produced.
• QC is the operational techniques and activities used
to fulfill and verify requirements of quality.
• Quality Control is a product-oriented activity.
6
Quality Assurance
• QA consists of a set of auditing and reporting
functions that assess the effectiveness, correctness,
and completeness of QC activities.
• The goal of QA is to provide management with the
data necessary to be informed about product quality,
thereby gaining insight and confidence that product
quality is meeting its goals.
7
Quality Assurance
• QA is the process of defining how software quality can be
achieved and how the development organization knows that
the software has the required level of quality.
• QA is a planned and systematic pattern of all actions
necessary to provide adequate confidence that an item or
product conforms to established technical requirements.
• QA is an effective approach for producing high quality
product.
• QA is a process-oriented activity and it is oriented to bug-
prevention.
8
Cost of Quality
• Quality costs may be divided into costs associated with
prevention, appraisal, and failure
1) Prevention costs include quality planning, formal
technical reviews, test equipment, training.
2) Appraisal costs include activities to gain insight into
product condition
3) Failure costs are those that would disappear if no defects
appeared before shipping a product to customer.
– Internal
– External
9
Failure Costs
• Failure Costs may be subdivided into two categories-
a) Internal failure costs are incurred when we detect a defect in
our product prior to shipment.
–rework, repair, failure mode analysis
b) External failure costs are associated with defects found after
the product has been shipped to the customer.
–complaint resolution, product return and replacement, help
line support, warranty work
10
Cost of Correcting Defects
• Relative costs to find and repair a defect increase
dramatically:
– From prevention to detection
– From internal vs. external
• IBM example:
– Prevention = ~$90/defect
– Field fix = ~$25,000/defect
11
Relative cost of correcting an errors
12
Software Quality
• Conformance to explicitly stated functional and
performance requirements, explicitly documented
development standards, and implicit characteristics
that are expected of all professionally developed
software.
13
Software Quality Assurance(SQA)
Software quality assurance [IEEE]:
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.
14
Software Quality Assurance(SQA)
 Three important points for software quality:
1) Software requirements are the foundation from which quality
is measured. Lack of conformance to requirements is lack of
quality.
2) Specified standards define a set of development criteria that
guide the manner in which software is engineered.
3) Software must conform to explicit requirements as well as its
implicit requirements (ease of use, maintainability, reliability,
etc.).
15
What is the role of an SQA group?
1) Prepare SQA plan for the project.
2) Participate in the development of the project's software process
description.
3) Review software engineering activities to verify compliance with
the defined software process.
4) Audit designated software work products to verify compliance
with those defined as part of the software process.
5) Ensure that any deviations in software or work products are
documented and handled according to a documented procedure.
6) Record any evidence of noncompliance and reports them to senior
management.
16
Software Reviews
• Software reviews are like “filters” in the software
process workflow.
• Software reviews are applied at various points during
software engineering and serve to uncover errors
and defects that can then be removed.
• Software reviews “purify” the software engineering
activities.
17
Software Reviews
• Purpose is to find defects (errors) before they are
passed on to another software engineering activity
or released to the customer.
• Software engineers (and others) conduct formal
technical reviews (FTR) for software engineers.
• Using formal technical reviews is an effective means
for improving software quality.
18
What Are Reviews?
• A meeting conducted by technical people for
technical people
• A technical assessment of a work product created
during the software engineering process
• A software quality assurance mechanism
• A training ground
19
What Reviews Are Not …
• A project summary or progress assessment
• A meeting intended solely to impart information
• A mechanism for political or personal reprisal!
20
Defect Amplification Models
• Defect amplification models can be used to illustrate
the generation and detection of errors during the
preliminary design, detail design, and coding steps of
a software engineering process.
• They are simple mathematical models for describing
how defects are propagated through the various
steps in the software development process.
21
Formal Technical Review(FTR)
• The primary objective of an FTR is to find errors
before they are passed on to another software
engineering activity or released to the end-user.
• A formal technical review (FTR) is the most effective
filter from a quality assurance standpoint.
• Conducted by software engineers (and others) for
software engineers, the FTR is an effective means for
uncovering errors and improving software quality.
22
Formal Technical Review(FTR)
 Objectives of Formal Technical Review (FTR):
1) To uncover errors in function, logic, or implementation
2) To verify that the software under review meets its
requirements
3) To ensure that the software has been represented according
to predefined standards
4) To achieve software that is developed in a uniform manner
5) To make projects more manageable
23
Formal Technical Review: The Roles
• Presenter (designer/producer)
• Coordinator (not a person who hires/fires)
• Recorder
– records events of meeting
– builds paper trail
• Reviewers
– maintenance person
– standards bearer
– User/customer representative or, play the role of
user/customer
– designers etc.
24
Formal Technical Reviews-1
• Typically involves 3 to 5 people (including reviewers)
• Advance preparation (no more than 2 hours per
person) required
• Duration of review meeting should be less than 2
hours
• Focus of review is on a discrete work product
• Review leader organizes the review meeting at the
producer's request.
25
Formal Technical Reviews - 2
• Reviewers ask questions that enable the producer to
discover his or her own error (the product is under
review, not the producer)
• Producer of the work product walks the reviewers
through the product
• Recorder writes down any significant issues raised
during the review
• Reviewers decide to accept or reject the work
product and whether to require additional reviews of
product or not.
26
Why do we conduct reviews?
• To improve quality.
• Catches 80% of all errors if done properly.
• Catches both coding errors and design errors.
• Enforce the spirit of any organization standards.
27
Formality and Timing
• Formal review presentations
– resemble conference presentations.
• Informal presentations
– less detailed, but equally correct.
• Early
– tend to be informal
– may not have enough information
• Later
– tend to be more formal
– Feedback may come too late to avoid rework
28
Formality and Timing
• Analysis is complete
• Design is complete
• After first compilation
• After first test run
• After all test runs
• Any time you complete an activity that produce a
complete work product
29
Review Guidelines
• Keep it short (< 1 hour).
• Don’t schedule two in a row.
• Don’t review product fragments.
• Use standards to avoid style disagreements.
• Let the coordinator run the meeting and maintain
order.
30
Formal Approaches to SQA
1) Proof of correctness
2) Statistical SQA
3) Cleanroom process combines items 1 & 2.
31
Statistical Software Quality Assurance
 Statistical Software Quality Assurance helps to improve the
quality of the product and software process itself.
 Steps to perform Statistical SQA:
1) Information about software defects is collected and
categorized
2) Each defect is traced back to its underlying cause
3) Using the Pareto principle (80% of the defects can be
traced to 20% of all possible causes), isolate the "vital
few" defect causes
4) Move to correct the problems that caused the defects
32
33
Six Sigma for Software Engineering
 Six Sigma is the most widely used strategy for statistical quality
assurance in industry.
• The term “six sigma” is derived from six standard deviations—3.4
instances (defects) per million occurrences—implying an extremely
high quality standard.
• The Six Sigma methodology defines three core steps:
1) Define customer requirements and deliverables and project
goals via well-defined methods of customer communication
2) Measure the existing process and its output to determine
current quality performance (collect defect metrics)
3) Analyze defect metrics and determine the vital few causes.
Six Sigma for Software Engineering
• Six Sigma suggests two additional steps to improve
an existing software process:
– Improve the process by eliminating the root causes of
defects.
– Control the process to ensure that future work does not
reintroduce the causes of defects.
34
Software Reliability
• Software reliability is defined as “the probability of
failure-free operation of a computer program in a
specified environment for a specified time”
• Can be measured directly and estimated using
historical and developmental data (unlike many
other software quality factors)
• Software reliability problems can almost always be
traced back to defects in design or implementation.
35
Reliability Metrics
Measures of Reliability:
• A simple measure of reliability is mean-time-between-failure
(MTBF), where
• MTBF = MTTF + MTTR
• MTTF = mean time to failure
• MTTR = mean time to repair
• Software Availability is the probability that a program is
operating according to requirements at a given point in time
and is defined as :
Availability = [MTTF/ (MTTF+MTTR)] x 100%
• Reliability = MTTF/ (1 + MTTF) X 100%
36
Software Safety
• Safety may be defined as "freedom from those conditions
that can cause death, injury, occupational ill-ness, or damage
to or loss of equipment or property." But safety is a relative
concept. Nothing is absolutely safe under all conditions.
• Software safety issues become important when computers
are used to control real-time, safety-critical processes.
• Software safety is a SQA activity that focuses on identification
and assessment of potential hazards that may affect software
negatively and cause an entire system to fail.
• Early identification of software hazards allows developers to
specify design features that can eliminate or at least control
the impact of potential hazards.
37
Software Reliability vs. Software Safety
• Both are closely related to each other.
• Subtle difference:
– Software reliability uses statistical analysis to
determine the likelihood that a software failure
will occur without regard to consequences of
failures.
– Software safety examines the ways in which
failures result in conditions that can lead to
mishap.
38
Quality Standards
 ISO-9126 Quality Framework:
• The most influential one in the software engineering
community today.
• Provides a hierarchical framework for quality
definition, organized into quality characteristics and
sub-characteristics
• Six top-level quality characteristics, each associated
with its own exclusive(non-overlapping) sub-
characteristics
39
Quality Standards
 ISO-9126 quality characteristics:
1) Functionality
2) Reliability
3) Usability
4) Efficiency
5) Maintainability
6) Portability
40
Other Quality Frameworks
 Adaptation of ISO-9126:
Customized for companies
– e.g. IBM’s CUPRIMDSO( Capability, Usability, Performance,
Reliability, Installation, Maintenance, Documentation, Service,
Overall customer satisfaction)
Adapted to application domains
– Reliability, usability, security for Web
 Other quality frameworks/mega-models
– SEI/CMMI: process focus/levels
– McCall: factors, criteria
– Basili: GQM (goal-question-metric)
– Dromey: component reflects Q-attributes
41
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.
• Management section
– describes the place of SQA in the structure of the organization
• Documentation section
– describes each work product produced as part of the software
process
• Standards, practices, and conventions section
– lists all applicable standards/practices applied during the
software process and any metrics to be collected as part of the
software engineering work
42
SQA Plan
• Reviews and audits section
– provides an overview of the approach used in the reviews and audits
to be conducted during the project
• Test section
– references the test plan and procedure document and defines test
record keeping requirements
• Problem reporting and corrective action section
– defines procedures for reporting, tracking, and resolving errors or
defects, identifies organizational responsibilities for these activities
• Other
– tools, SQA methods, change control, record keeping, training, and risk
management
43

More Related Content

What's hot

What's hot (20)

Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Software Reliability
Software ReliabilitySoftware Reliability
Software Reliability
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Software Engineering Practice
Software Engineering PracticeSoftware Engineering Practice
Software Engineering Practice
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Unit 2
Unit 2Unit 2
Unit 2
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)
 
Software process
Software processSoftware process
Software process
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Real time and distributed design
Real time and distributed designReal time and distributed design
Real time and distributed design
 
Software myths | Software Engineering Notes
Software myths | Software Engineering NotesSoftware myths | Software Engineering Notes
Software myths | Software Engineering Notes
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
 
Software process
Software processSoftware process
Software process
 
Computer aided software engineering
Computer aided software engineeringComputer aided software engineering
Computer aided software engineering
 

Similar to Software Engineering (Software Quality Assurance)

Software engineering 15 software quality assurance practices
Software engineering 15 software quality assurance practicesSoftware engineering 15 software quality assurance practices
Software engineering 15 software quality assurance practicesVaibhav Khanna
 
Softwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviSoftwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviAbuulHassan2
 
Software Quality Assurance in software engineering
Software Quality Assurance in software engineeringSoftware Quality Assurance in software engineering
Software Quality Assurance in software engineeringMuhammadTalha436
 
SE - Lecture 7 - Software Quality Reliability Mgmt - in lecture.pptx
SE - Lecture 7 - Software Quality  Reliability Mgmt - in lecture.pptxSE - Lecture 7 - Software Quality  Reliability Mgmt - in lecture.pptx
SE - Lecture 7 - Software Quality Reliability Mgmt - in lecture.pptxTangZhiSiang
 
Chapter 5 Software Quality Assurance-Finalised_BW.ppt
Chapter 5 Software Quality Assurance-Finalised_BW.pptChapter 5 Software Quality Assurance-Finalised_BW.ppt
Chapter 5 Software Quality Assurance-Finalised_BW.pptBule Hora University
 
Chapter 8 software quality assurance and configuration audit
Chapter 8 software quality assurance and configuration auditChapter 8 software quality assurance and configuration audit
Chapter 8 software quality assurance and configuration auditCliftone Mullah
 
Quality assurance and management, software engineering
Quality assurance and management, software engineeringQuality assurance and management, software engineering
Quality assurance and management, software engineeringRupesh Vaishnav
 
22317-DIPLOMA_SEM4_software_engg-chap-06.ppt
22317-DIPLOMA_SEM4_software_engg-chap-06.ppt22317-DIPLOMA_SEM4_software_engg-chap-06.ppt
22317-DIPLOMA_SEM4_software_engg-chap-06.pptDeepgaichor1
 
Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)ShudipPal
 
SQAzXzXZXZXZsadasdawdasccascascascascasc.ppt
SQAzXzXZXZXZsadasdawdasccascascascascasc.pptSQAzXzXZXZXZsadasdawdasccascascascascasc.ppt
SQAzXzXZXZXZsadasdawdasccascascascascasc.pptMeseAK
 

Similar to Software Engineering (Software Quality Assurance) (20)

Unit 8
Unit 8Unit 8
Unit 8
 
Software engineering 15 software quality assurance practices
Software engineering 15 software quality assurance practicesSoftware engineering 15 software quality assurance practices
Software engineering 15 software quality assurance practices
 
Softwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviSoftwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan Sahadvi
 
Software Quality Assurance in software engineering
Software Quality Assurance in software engineeringSoftware Quality Assurance in software engineering
Software Quality Assurance in software engineering
 
SE - Lecture 7 - Software Quality Reliability Mgmt - in lecture.pptx
SE - Lecture 7 - Software Quality  Reliability Mgmt - in lecture.pptxSE - Lecture 7 - Software Quality  Reliability Mgmt - in lecture.pptx
SE - Lecture 7 - Software Quality Reliability Mgmt - in lecture.pptx
 
Chapter 5 Software Quality Assurance-Finalised_BW.ppt
Chapter 5 Software Quality Assurance-Finalised_BW.pptChapter 5 Software Quality Assurance-Finalised_BW.ppt
Chapter 5 Software Quality Assurance-Finalised_BW.ppt
 
Chapter 8 software quality assurance and configuration audit
Chapter 8 software quality assurance and configuration auditChapter 8 software quality assurance and configuration audit
Chapter 8 software quality assurance and configuration audit
 
Quality assurance and management, software engineering
Quality assurance and management, software engineeringQuality assurance and management, software engineering
Quality assurance and management, software engineering
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
SQA.ppt
SQA.pptSQA.ppt
SQA.ppt
 
SQA.ppt
SQA.pptSQA.ppt
SQA.ppt
 
22317-DIPLOMA_SEM4_software_engg-chap-06.ppt
22317-DIPLOMA_SEM4_software_engg-chap-06.ppt22317-DIPLOMA_SEM4_software_engg-chap-06.ppt
22317-DIPLOMA_SEM4_software_engg-chap-06.ppt
 
Qa
QaQa
Qa
 
Qa
QaQa
Qa
 
Qa
QaQa
Qa
 
SQA
SQASQA
SQA
 
Qa
QaQa
Qa
 
Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)
 
SQA.ppt
SQA.pptSQA.ppt
SQA.ppt
 
SQAzXzXZXZXZsadasdawdasccascascascascasc.ppt
SQAzXzXZXZXZsadasdawdasccascascascascasc.pptSQAzXzXZXZXZsadasdawdasccascascascascasc.ppt
SQAzXzXZXZXZsadasdawdasccascascascascasc.ppt
 

More from ShudipPal

Software Engineering (Project Planning & Estimation)
Software Engineering (Project Planning &  Estimation)Software Engineering (Project Planning &  Estimation)
Software Engineering (Project Planning & Estimation)ShudipPal
 
Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)ShudipPal
 
Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)ShudipPal
 
Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)ShudipPal
 
Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)ShudipPal
 
Software Engineering (Testing Activities, Management, and Automation)
Software Engineering (Testing Activities, Management, and Automation)Software Engineering (Testing Activities, Management, and Automation)
Software Engineering (Testing Activities, Management, and Automation)ShudipPal
 
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...ShudipPal
 
Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)ShudipPal
 
Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)ShudipPal
 
Software Engineering (Risk Management)
Software Engineering (Risk Management)Software Engineering (Risk Management)
Software Engineering (Risk Management)ShudipPal
 
Software Engineering (Project Management )
Software Engineering (Project  Management )Software Engineering (Project  Management )
Software Engineering (Project Management )ShudipPal
 
Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)ShudipPal
 
Software Engineering (Process Models)
Software Engineering (Process Models)Software Engineering (Process Models)
Software Engineering (Process Models)ShudipPal
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)ShudipPal
 
Software Engineering (Introduction)
Software Engineering (Introduction)Software Engineering (Introduction)
Software Engineering (Introduction)ShudipPal
 

More from ShudipPal (15)

Software Engineering (Project Planning & Estimation)
Software Engineering (Project Planning &  Estimation)Software Engineering (Project Planning &  Estimation)
Software Engineering (Project Planning & Estimation)
 
Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)
 
Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)
 
Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)
 
Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)
 
Software Engineering (Testing Activities, Management, and Automation)
Software Engineering (Testing Activities, Management, and Automation)Software Engineering (Testing Activities, Management, and Automation)
Software Engineering (Testing Activities, Management, and Automation)
 
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
 
Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)
 
Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)
 
Software Engineering (Risk Management)
Software Engineering (Risk Management)Software Engineering (Risk Management)
Software Engineering (Risk Management)
 
Software Engineering (Project Management )
Software Engineering (Project  Management )Software Engineering (Project  Management )
Software Engineering (Project Management )
 
Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)
 
Software Engineering (Process Models)
Software Engineering (Process Models)Software Engineering (Process Models)
Software Engineering (Process Models)
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
 
Software Engineering (Introduction)
Software Engineering (Introduction)Software Engineering (Introduction)
Software Engineering (Introduction)
 

Recently uploaded

URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...RKavithamani
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991RKavithamani
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 

Recently uploaded (20)

URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 

Software Engineering (Software Quality Assurance)

  • 2. Introduction  Software Quality Assurance (SQA) is an umbrella activity that is applied throughout the software process.  SQA encompasses- 1) A software quality assurance process 2) Specific quality assurance and quality control tasks ( including formal technical reviews and a multi-tier testing strategy) 3) Effective software engineering practice (methods and tools) 4) Control of all software work products and the changes made to them 5) A procedure to ensure compliance with software development standards 6) Measurement and reporting mechanisms 2
  • 3. Quality Concepts • Software engineers strive to control the – process applied – resources expended – end product quality attributes 3
  • 4. What is Quality ? • Refers to measurable characteristics. • For software, two kinds of quality may be encountered:  Quality of design: refers to characteristics that designers specify for the end product to be constructed. Quality of design encompasses requirements, specifications, and the design of the system.  Quality of conformance: is the degree to which design specifications are followed during developing the product. Quality of conformance is an issue focused primarily on implementation. • Crucial is customer satisfaction (and quality is only a part of it):  User satisfaction = compliant product + good quality + delivery within budget and schedule • At the bottom line ==> Quality is important, but if the user isn’t satisfied, nothing else really matters! 4
  • 5. Quality Control (QC) • QC is defined as the processes and methods used to monitor work and observe whether requirements are met. It focuses on reviews and removal of defects before shipment of products. • QC involves series of inspections, reviews, and tests used throughout the software process to ensure each work product meets the requirements placed upon it. • QC includes a feedback loop to the process that created the work product. 5
  • 6. Quality Control (QC) • A key concept of quality control is that all work products have defined, measurable specifications to which we may compare the output of each process. Feedback loop is essential to minimize the defects produced. • QC is the operational techniques and activities used to fulfill and verify requirements of quality. • Quality Control is a product-oriented activity. 6
  • 7. Quality Assurance • QA consists of a set of auditing and reporting functions that assess the effectiveness, correctness, and completeness of QC activities. • The goal of QA is to provide management with the data necessary to be informed about product quality, thereby gaining insight and confidence that product quality is meeting its goals. 7
  • 8. Quality Assurance • QA is the process of defining how software quality can be achieved and how the development organization knows that the software has the required level of quality. • QA is a planned and systematic pattern of all actions necessary to provide adequate confidence that an item or product conforms to established technical requirements. • QA is an effective approach for producing high quality product. • QA is a process-oriented activity and it is oriented to bug- prevention. 8
  • 9. Cost of Quality • Quality costs may be divided into costs associated with prevention, appraisal, and failure 1) Prevention costs include quality planning, formal technical reviews, test equipment, training. 2) Appraisal costs include activities to gain insight into product condition 3) Failure costs are those that would disappear if no defects appeared before shipping a product to customer. – Internal – External 9
  • 10. Failure Costs • Failure Costs may be subdivided into two categories- a) Internal failure costs are incurred when we detect a defect in our product prior to shipment. –rework, repair, failure mode analysis b) External failure costs are associated with defects found after the product has been shipped to the customer. –complaint resolution, product return and replacement, help line support, warranty work 10
  • 11. Cost of Correcting Defects • Relative costs to find and repair a defect increase dramatically: – From prevention to detection – From internal vs. external • IBM example: – Prevention = ~$90/defect – Field fix = ~$25,000/defect 11
  • 12. Relative cost of correcting an errors 12
  • 13. Software Quality • Conformance to explicitly stated functional and performance requirements, explicitly documented development standards, and implicit characteristics that are expected of all professionally developed software. 13
  • 14. Software Quality Assurance(SQA) Software quality assurance [IEEE]: 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. 14
  • 15. Software Quality Assurance(SQA)  Three important points for software quality: 1) Software requirements are the foundation from which quality is measured. Lack of conformance to requirements is lack of quality. 2) Specified standards define a set of development criteria that guide the manner in which software is engineered. 3) Software must conform to explicit requirements as well as its implicit requirements (ease of use, maintainability, reliability, etc.). 15
  • 16. What is the role of an SQA group? 1) Prepare SQA plan for the project. 2) Participate in the development of the project's software process description. 3) Review software engineering activities to verify compliance with the defined software process. 4) Audit designated software work products to verify compliance with those defined as part of the software process. 5) Ensure that any deviations in software or work products are documented and handled according to a documented procedure. 6) Record any evidence of noncompliance and reports them to senior management. 16
  • 17. Software Reviews • Software reviews are like “filters” in the software process workflow. • Software reviews are applied at various points during software engineering and serve to uncover errors and defects that can then be removed. • Software reviews “purify” the software engineering activities. 17
  • 18. Software Reviews • Purpose is to find defects (errors) before they are passed on to another software engineering activity or released to the customer. • Software engineers (and others) conduct formal technical reviews (FTR) for software engineers. • Using formal technical reviews is an effective means for improving software quality. 18
  • 19. What Are Reviews? • A meeting conducted by technical people for technical people • A technical assessment of a work product created during the software engineering process • A software quality assurance mechanism • A training ground 19
  • 20. What Reviews Are Not … • A project summary or progress assessment • A meeting intended solely to impart information • A mechanism for political or personal reprisal! 20
  • 21. Defect Amplification Models • Defect amplification models can be used to illustrate the generation and detection of errors during the preliminary design, detail design, and coding steps of a software engineering process. • They are simple mathematical models for describing how defects are propagated through the various steps in the software development process. 21
  • 22. Formal Technical Review(FTR) • The primary objective of an FTR is to find errors before they are passed on to another software engineering activity or released to the end-user. • A formal technical review (FTR) is the most effective filter from a quality assurance standpoint. • Conducted by software engineers (and others) for software engineers, the FTR is an effective means for uncovering errors and improving software quality. 22
  • 23. Formal Technical Review(FTR)  Objectives of Formal Technical Review (FTR): 1) To uncover errors in function, logic, or implementation 2) To verify that the software under review meets its requirements 3) To ensure that the software has been represented according to predefined standards 4) To achieve software that is developed in a uniform manner 5) To make projects more manageable 23
  • 24. Formal Technical Review: The Roles • Presenter (designer/producer) • Coordinator (not a person who hires/fires) • Recorder – records events of meeting – builds paper trail • Reviewers – maintenance person – standards bearer – User/customer representative or, play the role of user/customer – designers etc. 24
  • 25. Formal Technical Reviews-1 • Typically involves 3 to 5 people (including reviewers) • Advance preparation (no more than 2 hours per person) required • Duration of review meeting should be less than 2 hours • Focus of review is on a discrete work product • Review leader organizes the review meeting at the producer's request. 25
  • 26. Formal Technical Reviews - 2 • Reviewers ask questions that enable the producer to discover his or her own error (the product is under review, not the producer) • Producer of the work product walks the reviewers through the product • Recorder writes down any significant issues raised during the review • Reviewers decide to accept or reject the work product and whether to require additional reviews of product or not. 26
  • 27. Why do we conduct reviews? • To improve quality. • Catches 80% of all errors if done properly. • Catches both coding errors and design errors. • Enforce the spirit of any organization standards. 27
  • 28. Formality and Timing • Formal review presentations – resemble conference presentations. • Informal presentations – less detailed, but equally correct. • Early – tend to be informal – may not have enough information • Later – tend to be more formal – Feedback may come too late to avoid rework 28
  • 29. Formality and Timing • Analysis is complete • Design is complete • After first compilation • After first test run • After all test runs • Any time you complete an activity that produce a complete work product 29
  • 30. Review Guidelines • Keep it short (< 1 hour). • Don’t schedule two in a row. • Don’t review product fragments. • Use standards to avoid style disagreements. • Let the coordinator run the meeting and maintain order. 30
  • 31. Formal Approaches to SQA 1) Proof of correctness 2) Statistical SQA 3) Cleanroom process combines items 1 & 2. 31
  • 32. Statistical Software Quality Assurance  Statistical Software Quality Assurance helps to improve the quality of the product and software process itself.  Steps to perform Statistical SQA: 1) Information about software defects is collected and categorized 2) Each defect is traced back to its underlying cause 3) Using the Pareto principle (80% of the defects can be traced to 20% of all possible causes), isolate the "vital few" defect causes 4) Move to correct the problems that caused the defects 32
  • 33. 33 Six Sigma for Software Engineering  Six Sigma is the most widely used strategy for statistical quality assurance in industry. • The term “six sigma” is derived from six standard deviations—3.4 instances (defects) per million occurrences—implying an extremely high quality standard. • The Six Sigma methodology defines three core steps: 1) Define customer requirements and deliverables and project goals via well-defined methods of customer communication 2) Measure the existing process and its output to determine current quality performance (collect defect metrics) 3) Analyze defect metrics and determine the vital few causes.
  • 34. Six Sigma for Software Engineering • Six Sigma suggests two additional steps to improve an existing software process: – Improve the process by eliminating the root causes of defects. – Control the process to ensure that future work does not reintroduce the causes of defects. 34
  • 35. Software Reliability • Software reliability is defined as “the probability of failure-free operation of a computer program in a specified environment for a specified time” • Can be measured directly and estimated using historical and developmental data (unlike many other software quality factors) • Software reliability problems can almost always be traced back to defects in design or implementation. 35
  • 36. Reliability Metrics Measures of Reliability: • A simple measure of reliability is mean-time-between-failure (MTBF), where • MTBF = MTTF + MTTR • MTTF = mean time to failure • MTTR = mean time to repair • Software Availability is the probability that a program is operating according to requirements at a given point in time and is defined as : Availability = [MTTF/ (MTTF+MTTR)] x 100% • Reliability = MTTF/ (1 + MTTF) X 100% 36
  • 37. Software Safety • Safety may be defined as "freedom from those conditions that can cause death, injury, occupational ill-ness, or damage to or loss of equipment or property." But safety is a relative concept. Nothing is absolutely safe under all conditions. • Software safety issues become important when computers are used to control real-time, safety-critical processes. • Software safety is a SQA activity that focuses on identification and assessment of potential hazards that may affect software negatively and cause an entire system to fail. • Early identification of software hazards allows developers to specify design features that can eliminate or at least control the impact of potential hazards. 37
  • 38. Software Reliability vs. Software Safety • Both are closely related to each other. • Subtle difference: – Software reliability uses statistical analysis to determine the likelihood that a software failure will occur without regard to consequences of failures. – Software safety examines the ways in which failures result in conditions that can lead to mishap. 38
  • 39. Quality Standards  ISO-9126 Quality Framework: • The most influential one in the software engineering community today. • Provides a hierarchical framework for quality definition, organized into quality characteristics and sub-characteristics • Six top-level quality characteristics, each associated with its own exclusive(non-overlapping) sub- characteristics 39
  • 40. Quality Standards  ISO-9126 quality characteristics: 1) Functionality 2) Reliability 3) Usability 4) Efficiency 5) Maintainability 6) Portability 40
  • 41. Other Quality Frameworks  Adaptation of ISO-9126: Customized for companies – e.g. IBM’s CUPRIMDSO( Capability, Usability, Performance, Reliability, Installation, Maintenance, Documentation, Service, Overall customer satisfaction) Adapted to application domains – Reliability, usability, security for Web  Other quality frameworks/mega-models – SEI/CMMI: process focus/levels – McCall: factors, criteria – Basili: GQM (goal-question-metric) – Dromey: component reflects Q-attributes 41
  • 42. 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. • Management section – describes the place of SQA in the structure of the organization • Documentation section – describes each work product produced as part of the software process • Standards, practices, and conventions section – lists all applicable standards/practices applied during the software process and any metrics to be collected as part of the software engineering work 42
  • 43. SQA Plan • Reviews and audits section – provides an overview of the approach used in the reviews and audits to be conducted during the project • Test section – references the test plan and procedure document and defines test record keeping requirements • Problem reporting and corrective action section – defines procedures for reporting, tracking, and resolving errors or defects, identifies organizational responsibilities for these activities • Other – tools, SQA methods, change control, record keeping, training, and risk management 43