SlideShare a Scribd company logo
Software Quality Assurance
Lecture # 1
Software Quality
Ms. AYESHA RAANA [Lecturer]
COMPUTER SCIENCE DEPARTMENT
GC WOMEN UNIVERSITY,SIALKOT
Email:: ayesha.raana@gcwus.edu.pk
Office :: IT Block, GC Women University Sialkot
Student Hours: Mentioned outside my office
INSTRUCTOR INFORMATION
 This course deals with a very important aspect of
software engineering: quality assurance
of software products and services
 We’ll learn different aspects of software quality
assurance in this course
- Software Quality Engineering By JEF TIAN
- Software Testing & Continuous quality improvement 2nd Edition by
William Lewis.
Books
- Quality
- Quality Types
- Quality Control
- Different views of Quality
- Quality Models
Presentation Outline
What is Quality?
 Can you define quality?
 You must be thinking, what kind of question is
that. It is very easy to define quality, but if you
think really hard, it is not that easy to define
quality
 Have you come with a definition? Let’s see what
I have in store for you
Synonyms of Quality
 Excellence
 Superiority
 Class
 Eminence
 Value
 Worth
Antonym of Quality
 Inferiority
Quality
Quality means::
 meeting the customer’s requirements, at the agreed
cost, within the agreed timescales.
 “Fitness for purpose”
 Customer satisfaction
So, What is Quality ?
Quality can mean different things to different people. What 'quality' features would you look for in a car, for example ? Speed,
comfort, style, reliability, safety, serviceability ? How much would you be willing to pay for these things ?
In software terms, we consider Quality to be about delivering a product that meets the customer's requirements, at an agreed
cost, and within agreed timescales. It is no use delivering a perfect piece of code that cost twice as much as intended...
Of course, customer requirements can include some expectations of usability, reliability, maintainability, portability,
extendibility, security, etc. These are what we call Non-Functional Requirements.
We also use the term "fitness for purpose". What we mean by that is that we shouldn't waste time & effort building in features
that the customer doesn't really want. Why build a Rolls Royce when the customer only needs a Bicycle ?
Ultimately, this leads us to the key criterion: That of customer satisfaction. Whatever we do, if the customer isn't satisfied (&
doesn't give us repeat business), then we've failed in some way.
Standard Definitions of Quality
There are many quality definitions some of them are listed below
The American Heritage dictionary defines quality as ‘a characteristic or
attribute of something’.
IEEE Glossary: Degree to which a system, component, or process
meets (1) specified requirements, and (2) customer or user needs or
expectations
ISO 8402: The totality of features and characteristics of a product or
service that bear on its ability to satisfy specified or implied needs
Another definition, coined by Gerald Weinberg in Quality Software
Management: Systems Thinking, is "Quality is value to some person." This
definition stresses that quality is inherently subjective - different people
will experience the quality of the same software very differently. One strength
of this definition is the questions it invites software teams to consider, such as
"Who are the people we want to value our software?" and "What will be
valuable to them?"
SOFTWARE QUALITY
In
YOUR MIND
Software Quality
 Software Quality can be defined as,
“Conformance to explicitly stated functional and
performance requirements, explicitly documented development
standards, and implicit characteristics that are expected of all
professionally developed software”
 This definition emphasizes three important points
 Software requirements are the foundation from which quality is
measured. Lack of conformance to requirements is lack of quality
 Specified standards define a set of development criteria that guide
the way in which software is engineered. If the criteria are not
followed , lack of quality will almost surely result.
 If a software conforms to its explicit requirements but fails to meet
implicit requirements, software quality is suspect.
Quality Types
 Quality of Design (how well software is designed )
 the characteristics that designers specify for an item.
 In Software development, quality of design includes requirements
and the design of the system.
 measures how valid the design and requirements are in creating a
worthwhile product
 Quality of Conformance (how well the software conforms to that
design)
 the degree to which the design specification are followed.
 It focuses on implementation based on the design.
Quality Control
Quality Control
 What is quality control?
 Quality control 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.
 It is possible to have the same group that builds the product
perform the quality control function, or to establish a quality
control group or department within the organizational unit
that develops the product.
 For software products, quality control typically includes
specification reviews, inspections of code and documents,
and checks for user deliverables.
Quality Control
 Objective
 minimize the produced
defects, increase the product
quality
 Implementation
approaches
 Fully automated
 Entirely manual
 Combination of automated
tools and human interactions
Quality Control
 Key concept of quality
control
 compare the work products
with the specified and
measurable standards
 Quality control can be provided
by various sources.
 Quality control is designed to
detect and correct defects.
Detection implies flaws in the
processes that are supposed to
produce defect-free products
and services.
Variation Control
 Variation is the heart of quality control
 We want to minimize the difference between the predicted
resources needed to complete a project and actual resources
used including Staff, equipment and time
Objective Quality VS Perceived Quality
• Quality might be the most important factor underlying the long-term success
of products and firms. The business press routinely cites quality as the cause
of firm success and failure.
• Objective quality is operationalized as a composite of instrument measures
and expert ratings on multiple product attributes. For example, a personal
computer’s objective quality attributes include processing speed, hard disk
capacity, reliability, and features like the modem. Objective quality does not
include intangible attributes like aesthetics and brand image or salesperson
behavior.
• Perceived quality is the overall subjective judgment of quality relative to
the expectation of quality. These expectations are based on one’s own and
others’ experiences, and on sources including brand reputation, price, and
advertising. It is not necessary to use or examine a product to form
perceptions of quality.
Objective Quality VS Perceived Quality
 However, it is now well established that it is not the objective
quality but rather customers’ perceptions of quality that drive
preferences and, ultimately, satisfaction, loyalty, sales, and
profitability.
 Numerous anecdotes suggest that customer perceptions of
quality do not reflect objective quality. Companies frequently find
that negative perceptions persist even after products perform
well in quality tests. For example it took Google three years after
its launch to be perceived as the superior search engine.
Different Views of Quality
 Transcendental view:
associated with
intangible properties
that delight users
 User view: fitness for
purpose or meeting
user’s needs
 Manufacturing view:
conformance to
process standards or
the right
development of the
product
Different Views of Quality
 Product view: inherent characteristics in the product
itself
 Value-based view: customers willingness to pay
People’s/ User’s Quality Expectations
 People’s quality expectation for software systems they use and rely upon are
two-fold:
 The software system must do what they are supposed to do. In
other words , they must do the right things (Validation)
 They must perform these specific tasks correctly. In other words,
they must do the things right (Verification)
Verification --> refers to the set of
activities that ensure that software
correctly implements a specific function.
Validation --> refers to a different set
of activities that ensure that the software
that has been built is traceable to customer
requirements.
Internal/Producer Quality Expectations
 For managers: adherence to process standards, proper
choice of methodologies and tools
 Service related producers: usability, maintainability
 3rd party or software packaging producers: modularity
 Marketing personnel: profitability and customer value
Quality Models
 A Quality Model is defined as, “ the set of characteristics and the
relationships between them which provides the basis for specifying
quality requirements and evaluating quality”
 Software quality is described by specific quality models
Two main approaches:
 Standard Models:
 McCall
 ISO/IEC 9126
 Application or company specific quality models
 FURPS
 GQM Approach
Factor-Criteria-Metrics-Model
Classification into :
 Factors (to specify):
They describe the external view of the software, as viewed
by the users.
 Criteria (to build):
They describe the internal view of the software, as seen by
the developer.
 Metrics (to control):
They are defined and used to provide a scale and method
for measurement.
McCall’s Quality Factors and Criteria
McCall, Richards, and Walters studied the concept of software
quality in terms of two key concepts as follows:
 quality factors, and
 quality criteria.
A quality factor represents the behavioral characteristic of a
system.
Examples: correctness, reliability, efficiency, testability,
portability e.t.c
A quality criterion is an attribute of a quality factor that is
related to software development.
Example: Modularity is an attribute of the architecture of a
software system. A highly modular software allows designers to
put cohesive components in one module, thereby increasing the
maintainability of the system.
Factor-Criteria-Metrics-Model
McCall’s Factor Model Tree
McCall’s 11 Quality Factors
 Product Revision
Maintainability - Can I fix it?
Flexibility - Can I change it?
Testability - Can I test it?
 Product Transition
Portability - Will I be able to
use on another machine?
Reusability - Will I be able to
reuse some of the software?
Interoperability - Will I be able
to interface it with another
application?
 Product Operation
Correctness - Does it do what I
want?
Reliability - Does it do it
accurately all the time?
Efficiency - Will it run on my
machine as well as it can?
Integrity - Is it secure?
Usability - Can I run it?
Attributes of Quality Factors
McCall’s 11 Quality Factors
Quality Attributes
McCall’s Quality Criteria’s
Some Quality Criteria’s from McCall’s Model is listed below:
 Accuracy (The precisions of computations and outputs)
 Completeness (The degree to which the full implementation of the
required functionalities has been achieved)
 Error Tolerance (The degree to which the continuity of operations
is ensured under adverse conditions)
 Expandability (The degree to which software functions can be
expanded )
 Hardware Independence (The degree to which the software is
dependent on the underlying hardware)
 Modularity (The provision of highly independent modules)
 Simplicity (The ease with which the software can be understood)
McCall’s Quality Factors and Criteria
Relationship Between Quality Factors and Quality Criteria
 Each quality factor is positively influenced by a set of quality
criteria, and the same quality criterion impacts a number of
quality factors.
Example: Simplicity impacts reliability, usability, and
testability.
 If an effort is made to improve one quality factor, another
quality factor may be degraded.
Example: Portable code may be less efficient.
 Some quality factors positively impact others.
Example: An effort to improve the correctness of a system
will increase its reliability.
LECTURE 1 SQA.ppt

More Related Content

PPTX
Software Quality Assurance (Models).pptx
PPTX
Software quality assurance
PPT
Quality Management.ppt in detail with notes
PPT
Lecture10
PPT
Software Quality Assurance presentation.
PDF
Quality systems management
PPT
Quality Software
PPT
WHAT IS QUALITY? Paola Di Maio
Software Quality Assurance (Models).pptx
Software quality assurance
Quality Management.ppt in detail with notes
Lecture10
Software Quality Assurance presentation.
Quality systems management
Quality Software
WHAT IS QUALITY? Paola Di Maio

Similar to LECTURE 1 SQA.ppt (20)

PPTX
SQE Lecture 1.pptx
PPTX
DOCX
Software Requirements (3rd Edition) summary
PPTX
Improving our Approach Towards Capturing Value in Requirements
PDF
Quality principles and concepts
PPTX
SoftwareTesting Processes and Methodologies.pptx
DOCX
Software quality management lecture notes
PDF
This is the Software Quality Management and Estimate chapter
PPTX
Fault code for the whole thing is that you have a
PPT
stfbegn.ppt
PPT
Software testing for beginners
PPT
Software testing
PPT
Quality Management
PPT
Ch27
PPT
Quality Mangt
PPS
Software Quality Assurance
PPT
Reliability and Quality Issues Overview (5).ppt
PPTX
09 fse qualitymanagement
PPTX
Software quality assurance
PPT
Software quality
SQE Lecture 1.pptx
Software Requirements (3rd Edition) summary
Improving our Approach Towards Capturing Value in Requirements
Quality principles and concepts
SoftwareTesting Processes and Methodologies.pptx
Software quality management lecture notes
This is the Software Quality Management and Estimate chapter
Fault code for the whole thing is that you have a
stfbegn.ppt
Software testing for beginners
Software testing
Quality Management
Ch27
Quality Mangt
Software Quality Assurance
Reliability and Quality Issues Overview (5).ppt
09 fse qualitymanagement
Software quality assurance
Software quality
Ad

Recently uploaded (20)

PPTX
UNIT 4 Total Quality Management .pptx
PDF
PPT on Performance Review to get promotions
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PPTX
bas. eng. economics group 4 presentation 1.pptx
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PDF
composite construction of structures.pdf
PDF
Well-logging-methods_new................
PDF
Digital Logic Computer Design lecture notes
PPTX
OOP with Java - Java Introduction (Basics)
PPTX
Geodesy 1.pptx...............................................
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PPTX
web development for engineering and engineering
PPTX
Lesson 3_Tessellation.pptx finite Mathematics
PDF
Arduino robotics embedded978-1-4302-3184-4.pdf
PPTX
Construction Project Organization Group 2.pptx
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPTX
Strings in CPP - Strings in C++ are sequences of characters used to store and...
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
UNIT 4 Total Quality Management .pptx
PPT on Performance Review to get promotions
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
bas. eng. economics group 4 presentation 1.pptx
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
Model Code of Practice - Construction Work - 21102022 .pdf
composite construction of structures.pdf
Well-logging-methods_new................
Digital Logic Computer Design lecture notes
OOP with Java - Java Introduction (Basics)
Geodesy 1.pptx...............................................
Operating System & Kernel Study Guide-1 - converted.pdf
web development for engineering and engineering
Lesson 3_Tessellation.pptx finite Mathematics
Arduino robotics embedded978-1-4302-3184-4.pdf
Construction Project Organization Group 2.pptx
UNIT-1 - COAL BASED THERMAL POWER PLANTS
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
Strings in CPP - Strings in C++ are sequences of characters used to store and...
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Ad

LECTURE 1 SQA.ppt

  • 1. Software Quality Assurance Lecture # 1 Software Quality
  • 2. Ms. AYESHA RAANA [Lecturer] COMPUTER SCIENCE DEPARTMENT GC WOMEN UNIVERSITY,SIALKOT Email:: ayesha.raana@gcwus.edu.pk Office :: IT Block, GC Women University Sialkot Student Hours: Mentioned outside my office INSTRUCTOR INFORMATION
  • 3.  This course deals with a very important aspect of software engineering: quality assurance of software products and services  We’ll learn different aspects of software quality assurance in this course
  • 4. - Software Quality Engineering By JEF TIAN - Software Testing & Continuous quality improvement 2nd Edition by William Lewis. Books
  • 5. - Quality - Quality Types - Quality Control - Different views of Quality - Quality Models Presentation Outline
  • 6. What is Quality?  Can you define quality?  You must be thinking, what kind of question is that. It is very easy to define quality, but if you think really hard, it is not that easy to define quality  Have you come with a definition? Let’s see what I have in store for you
  • 7. Synonyms of Quality  Excellence  Superiority  Class  Eminence  Value  Worth
  • 9. Quality Quality means::  meeting the customer’s requirements, at the agreed cost, within the agreed timescales.  “Fitness for purpose”  Customer satisfaction
  • 10. So, What is Quality ? Quality can mean different things to different people. What 'quality' features would you look for in a car, for example ? Speed, comfort, style, reliability, safety, serviceability ? How much would you be willing to pay for these things ? In software terms, we consider Quality to be about delivering a product that meets the customer's requirements, at an agreed cost, and within agreed timescales. It is no use delivering a perfect piece of code that cost twice as much as intended... Of course, customer requirements can include some expectations of usability, reliability, maintainability, portability, extendibility, security, etc. These are what we call Non-Functional Requirements. We also use the term "fitness for purpose". What we mean by that is that we shouldn't waste time & effort building in features that the customer doesn't really want. Why build a Rolls Royce when the customer only needs a Bicycle ? Ultimately, this leads us to the key criterion: That of customer satisfaction. Whatever we do, if the customer isn't satisfied (& doesn't give us repeat business), then we've failed in some way.
  • 11. Standard Definitions of Quality There are many quality definitions some of them are listed below The American Heritage dictionary defines quality as ‘a characteristic or attribute of something’. IEEE Glossary: Degree to which a system, component, or process meets (1) specified requirements, and (2) customer or user needs or expectations ISO 8402: The totality of features and characteristics of a product or service that bear on its ability to satisfy specified or implied needs Another definition, coined by Gerald Weinberg in Quality Software Management: Systems Thinking, is "Quality is value to some person." This definition stresses that quality is inherently subjective - different people will experience the quality of the same software very differently. One strength of this definition is the questions it invites software teams to consider, such as "Who are the people we want to value our software?" and "What will be valuable to them?"
  • 13. Software Quality  Software Quality can be defined as, “Conformance to explicitly stated functional and performance requirements, explicitly documented development standards, and implicit characteristics that are expected of all professionally developed software”  This definition emphasizes three important points  Software requirements are the foundation from which quality is measured. Lack of conformance to requirements is lack of quality  Specified standards define a set of development criteria that guide the way in which software is engineered. If the criteria are not followed , lack of quality will almost surely result.  If a software conforms to its explicit requirements but fails to meet implicit requirements, software quality is suspect.
  • 14. Quality Types  Quality of Design (how well software is designed )  the characteristics that designers specify for an item.  In Software development, quality of design includes requirements and the design of the system.  measures how valid the design and requirements are in creating a worthwhile product  Quality of Conformance (how well the software conforms to that design)  the degree to which the design specification are followed.  It focuses on implementation based on the design.
  • 16. Quality Control  What is quality control?  Quality control 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.  It is possible to have the same group that builds the product perform the quality control function, or to establish a quality control group or department within the organizational unit that develops the product.  For software products, quality control typically includes specification reviews, inspections of code and documents, and checks for user deliverables.
  • 17. Quality Control  Objective  minimize the produced defects, increase the product quality  Implementation approaches  Fully automated  Entirely manual  Combination of automated tools and human interactions
  • 18. Quality Control  Key concept of quality control  compare the work products with the specified and measurable standards  Quality control can be provided by various sources.  Quality control is designed to detect and correct defects. Detection implies flaws in the processes that are supposed to produce defect-free products and services.
  • 19. Variation Control  Variation is the heart of quality control  We want to minimize the difference between the predicted resources needed to complete a project and actual resources used including Staff, equipment and time
  • 20. Objective Quality VS Perceived Quality • Quality might be the most important factor underlying the long-term success of products and firms. The business press routinely cites quality as the cause of firm success and failure. • Objective quality is operationalized as a composite of instrument measures and expert ratings on multiple product attributes. For example, a personal computer’s objective quality attributes include processing speed, hard disk capacity, reliability, and features like the modem. Objective quality does not include intangible attributes like aesthetics and brand image or salesperson behavior. • Perceived quality is the overall subjective judgment of quality relative to the expectation of quality. These expectations are based on one’s own and others’ experiences, and on sources including brand reputation, price, and advertising. It is not necessary to use or examine a product to form perceptions of quality.
  • 21. Objective Quality VS Perceived Quality  However, it is now well established that it is not the objective quality but rather customers’ perceptions of quality that drive preferences and, ultimately, satisfaction, loyalty, sales, and profitability.  Numerous anecdotes suggest that customer perceptions of quality do not reflect objective quality. Companies frequently find that negative perceptions persist even after products perform well in quality tests. For example it took Google three years after its launch to be perceived as the superior search engine.
  • 22. Different Views of Quality  Transcendental view: associated with intangible properties that delight users  User view: fitness for purpose or meeting user’s needs  Manufacturing view: conformance to process standards or the right development of the product
  • 23. Different Views of Quality  Product view: inherent characteristics in the product itself  Value-based view: customers willingness to pay
  • 24. People’s/ User’s Quality Expectations  People’s quality expectation for software systems they use and rely upon are two-fold:  The software system must do what they are supposed to do. In other words , they must do the right things (Validation)  They must perform these specific tasks correctly. In other words, they must do the things right (Verification) Verification --> refers to the set of activities that ensure that software correctly implements a specific function. Validation --> refers to a different set of activities that ensure that the software that has been built is traceable to customer requirements.
  • 25. Internal/Producer Quality Expectations  For managers: adherence to process standards, proper choice of methodologies and tools  Service related producers: usability, maintainability  3rd party or software packaging producers: modularity  Marketing personnel: profitability and customer value
  • 26. Quality Models  A Quality Model is defined as, “ the set of characteristics and the relationships between them which provides the basis for specifying quality requirements and evaluating quality”  Software quality is described by specific quality models Two main approaches:  Standard Models:  McCall  ISO/IEC 9126  Application or company specific quality models  FURPS  GQM Approach
  • 27. Factor-Criteria-Metrics-Model Classification into :  Factors (to specify): They describe the external view of the software, as viewed by the users.  Criteria (to build): They describe the internal view of the software, as seen by the developer.  Metrics (to control): They are defined and used to provide a scale and method for measurement.
  • 28. McCall’s Quality Factors and Criteria McCall, Richards, and Walters studied the concept of software quality in terms of two key concepts as follows:  quality factors, and  quality criteria. A quality factor represents the behavioral characteristic of a system. Examples: correctness, reliability, efficiency, testability, portability e.t.c A quality criterion is an attribute of a quality factor that is related to software development. Example: Modularity is an attribute of the architecture of a software system. A highly modular software allows designers to put cohesive components in one module, thereby increasing the maintainability of the system.
  • 31. McCall’s 11 Quality Factors  Product Revision Maintainability - Can I fix it? Flexibility - Can I change it? Testability - Can I test it?  Product Transition Portability - Will I be able to use on another machine? Reusability - Will I be able to reuse some of the software? Interoperability - Will I be able to interface it with another application?  Product Operation Correctness - Does it do what I want? Reliability - Does it do it accurately all the time? Efficiency - Will it run on my machine as well as it can? Integrity - Is it secure? Usability - Can I run it? Attributes of Quality Factors
  • 32. McCall’s 11 Quality Factors Quality Attributes
  • 33. McCall’s Quality Criteria’s Some Quality Criteria’s from McCall’s Model is listed below:  Accuracy (The precisions of computations and outputs)  Completeness (The degree to which the full implementation of the required functionalities has been achieved)  Error Tolerance (The degree to which the continuity of operations is ensured under adverse conditions)  Expandability (The degree to which software functions can be expanded )  Hardware Independence (The degree to which the software is dependent on the underlying hardware)  Modularity (The provision of highly independent modules)  Simplicity (The ease with which the software can be understood)
  • 34. McCall’s Quality Factors and Criteria Relationship Between Quality Factors and Quality Criteria  Each quality factor is positively influenced by a set of quality criteria, and the same quality criterion impacts a number of quality factors. Example: Simplicity impacts reliability, usability, and testability.  If an effort is made to improve one quality factor, another quality factor may be degraded. Example: Portable code may be less efficient.  Some quality factors positively impact others. Example: An effort to improve the correctness of a system will increase its reliability.