SlideShare a Scribd company logo
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
Objectives:
The need for comprehensive requirements
documents
Various types of software quality factors
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
The need for comprehensive requirements documentsThe need for comprehensive requirements documents
• Cover all attributes of software and aspects of the use
of software
• Help to avoid or reduce poor performance of the
developed software
• To assure the full satisfaction of the users
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
Various Type of Software Quality FactorsVarious Type of Software Quality Factors
• Software quality factors are the areas which our products will show
risks
• Can put into two categories: internal & external
• Should focus on 3 important aspects
• Software operational characteristics
• Software’s ability to undergo change
• Software’s adaptability to new environment
• There are many quality factors which have been discovered
• Jim McCall’s Quality Factors (1977) – 11 factors
• Boehm’s Quality Factors (1978) – 7 factors
• Evan’s and Marciniak Quality Factors (1987) – 12 factors
• Deutsch and Willis Quality Factors (1988) – 15 factors
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
Software quality factors
Product operation factors
Product revision factors
Product transition factors
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
• Correctness
• Reliability
• Efficiency
• Integrity
• Usability
Deal with requirements that directly affect the daily
operation of the software
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
• Maintainability
• Flexibility
• Testability
Deal with those requirements that affect a complete
range of software maintenance activities
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
• Portability
• Reusability
• Interoperability
Relate to the adaptation of software to other environments
& its interaction with other software system
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
Correctness: the functionality matches the specification, defined in a list of the
software system’s required outputs (output specification)
Output specification include:
• The output mission (e.g.: sales invoice output)
• The required accuracy of the outputs (e.g.: the probability for a non-accurate output,
containing one or more mistakes, will not exceed 1%)
• The completeness of the output information (e.g.: the probability of missing data
about a member will not exceed 1%)
• The up-to-datedness of the information (e.g.: the entry information of member
payments and personal data are done not more than one working day)
• The availability of information (e.g.: Reaction time for queries in help desk will be
less than 30 minutes on average)
• The required standards and guidelines (e.g.: user manual are comply with the
client’s guidelines)
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
Reliability: deal with failures to provide service; determine the maximum
allowed software system failure rate & refer to the entire system or to
one or more of its separate functions.
For example:
• Heart attack detection function is required to have a failure rate of less
than one per million cases
• The Bank Online System will not fail on average more than 10
minutes per month.
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
Efficiency: deal with the hardware resources needed to perform all the
functions of the software system (including cpu, disk, memory, network &
etc)
For example:
• A chain of stores is considering two alternative bids for a software system.
Both bids consist of placing the same computers in the chain’s headquarters
and its branches. The bids differ solely in the storage volume. Bid A – 20GB
per branch computer & 100GB in the HQ and Bid B- 10 GB per branch &
30GB at the HQ. Bid A requires 3 communication lines but Bid B requires 2
lines. Hence Bid B is more efficient than Bid A because fewer hardware
resources is required.
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
Integrity: deal with the software system security, protection from
unauthorized access, to distinguish between the majority of personnel
allowed to see the information and a limited group who will be allowed to
add and change data.
For example:
• The Member registration system allows only the manager to access
members’ information & members are allow to access their information
when the username and password match with the first registered username
and encrypted password
• For Bank Online System, transaction to other bank’s account can only be
done when user key in a security number that will send to his/her hand
phone.
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
Usability: deal with the scope of staff resources needed to
train a new employee and to operate the software system
For example:
• Training a new employee will take no more than two days
and at the end of the training, the employee able to handle
45 service call a day
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
Maintainability: the ability to find and fix a defect (include identify the
reasons for software failures, correct the failures & to verify the success
of the corrections).
Two aspects of maintainability:
• Serviceability (the probability of returning the item to normal service)
• Reparability (the probability of repairing the actual or impleading
fault)
For example:
• The average time of repair for Bank Online System is 8 minutes
Some examples of maintainability requirements that related to
reliability:
• The size of a software module will not exceed 30 statements
• The programming will adhere to the company coding standards &
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
Flexibility: the capabilities and efforts required to support
adaptive maintenance activities (include the ability to make
changes required as determined by customer)
For example:
• The teacher support software is suitable for teachers of all
subjects, all school levels and non-professional able to create
new types of reports according to the schoolteachers’
requirements
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
Testabiltiy: the ability to validate the system requirement
• Tesability that related to software operation: automatic diagnostics
performed by the software system prior to starting the system, to find
out whether all components of the software system are in working order
and to obtain a report about the detected faults
For example:
• An industrial computerized control unit is programmed to calculate
various measure of production status, report the performance level of
the machinery, and operate a warning signal in predefined situations. A
set of standard test data with known system expected correction
reactions is run every morning, to check whether the computerized unit
reacts properly.
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
Portability: the ability to transfer one software from one
environment to another, the environment could consist of
different hardware, different operating systems etc
For example:
• A software package designed and programmed to operate
in a Windows 2000 environment is required to allow low-
cost transfer to Linux and Windows NT environments
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
Reusability: the ease of using existing software components (software
modules originally designed for one project) in a different context or a
new software project.
The advantages of reusability:
• Save development resources
• Shorten development period
• Provide higher quality standards
For example:
• Software system for hotel guest and members of a pool club, the reuse
module for another software system for spa might include entrance
validity checks of membership cards and visit recording, restaurant
billing and processing of membership renewal letters
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
Interoperability: focus on creating interfaces with other software
systems or with other equipment firmware
Interoperability requirements
• can specify the names of the software or firmware for which interface
is required
• can also specify the output structure accepted as standard in a specific
industry or applications area.
For example:
• The firmware of a medical laboratory’s equipment is required to
process its results (output) according to a standard data structure that can
then serve as input for a number of standard laboratory information
systems.
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
Alternative models ~ Boehm’s Quality Model
• Boehm defined three basic software
requirements:
– As-is utility: the extent to which the as-is
software can be used
– Maintainability: ease of identifying what needs
to be changed as well as ease of modification
and retesting
– Portability: ease of changing software to
accommodate a new environment
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
• The seven quality factors
• Portability: the extent to which the software will work under
different computer configurations
• Reliability: the extent to which the software performs as required
• Efficiency: optimum use of system resources during correct
execution
• Usability: ease of use
• Testability: ease of validation so that the software meets
requirements
• Understandability: the extent to which the software is easily
comprehended with regard to purpose & structure
• Flexibility: the ease of changing the software to meet revised
requirements
Boehm’s Quality Model
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
Additional factors from Evans & Marciniak, Deutsch & Willis
• Verifiability (by E & M): define design & programming
features
• Expandability (by E & M, D & W): refer to future efforts
that will be needed to serve larger populations, improve
service, or add new applications in order to improve
usability
• Safety (by D & W): eliminate conditions hazardous to
operators of equipment as a result of errors in process
control software
• Manageability (by D & W): refer to the administrative tools
that support software modification during the software
development & maintenance periods
• Survivability (by D & W): refer to the continuity of service
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
No. Software quality
factor
McCall’s classic
model
Alternative factor models
Evans and
Marciniak model
Deutsch and
Willis model
1 Correctness + + +
2 Reliability + + +
3 Efficiency + + +
4 Integrity + + +
5 Usability + + +
6 Maintainability + + +
7 Flexibility + + +
8 Testability +
9 Portability + + +
10 Reusability + + +
11 Interoperability + + +
12 Verifiability + +
13 Expandability + +
14 Safety +
15 Manageability +
16 Survivability +
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
What is reliability?
The probability that software will not cause a system failure for a specified time
under specified conditions. The probability is a function of the inputs to, and
use of, the system as well as function of the existence of faults in the software.
The inputs to the system determine whether existing faults, if any, are
encountered (IEEE)
Characteristics of Software Reliability
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
•Cannot be defined objectively
Reliability measurements which are quoted out of context are not
meaningful
•Requires operational profile for its definition
defines the expected pattern of software usage
•Must consider fault consequences
Not all faults are equally serious. System is perceived as more
unreliable if there are more serious faults
•Reliability is a dynamic system attribute
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
The Need of Software Reliability
•Reputation - more reliable product more favorable reputation
•Customer Satisfaction - unreliable product will negatively affect customer satisfaction
severely. Thus high reliability is a mandatory requirement for customer satisfaction.
•Warranty Costs - If a product fails to perform its function within the warranty period, the
replacement and repair costs will negatively affect profits, as well as gain unwanted
negative attention
•Repeat Business – build a good reputation among existing customers
•Cost Analysis - initial cost might be higher, but the overall lifetime cost is lower because
product requires fewer repairs or less maintenance.
•Customer Requirements - customers demand a reliable system
•Competitive Advantage - gain an advantage over competitors who does not publish the
reliability rate or lower failure rate
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
Errors, Failures & Faults
• ErrorsErrors are human design errors, may not be observed orare human design errors, may not be observed or
detected by usersdetected by users
• AA faultfault is a static software characteristic whichis a static software characteristic which
causes a failure to occur. It is the expression of a softwarecauses a failure to occur. It is the expression of a software
error.error.
• AA failurefailure corresponds to unexpected run-time behaviorcorresponds to unexpected run-time behavior
observed by a user of the softwareobserved by a user of the software
• Faults need not necessarily cause failures. They only do soFaults need not necessarily cause failures. They only do so
if theif the faulty partfaulty part of the software isof the software is usedused
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
Reliability Improvement
• Reliability is improved when software faults which occur
in the most frequently used parts of the software are
removed
• Removing x% of software faults will not necessarily lead
to an x% reliability improvement
• In a study, removing 60% of software defects actually led
to a 3% reliability improvement
• Removing faults with serious consequences is the most
important objective
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
Reliability & Efficiency
• As reliability increases system efficiency tends to
decrease
• To make a system more reliable, redundant code
must be included to carry out run-time checks, etc.
This tends to slow it down
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
• Reliability is usually more important than efficiency
• No need to utilize hardware to the fullest extent as
computers are cheap and fast
• Unreliable software isn't used
• Hard to improve unreliable systems
• Software failure costs often far exceed system
costs
• Costs of data loss are very high
Reliability & Efficiency
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
The reality
• High costs of reliability achievement
• May be more cost effective to accept unreliability and
pay for failure costs
• Depends on social and political factors
• Depends on system type - for business systems in
particular, moderate reliability may be adequate
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
Reviews
1. Among the 16 software quality factors, which do you think is the
most important one? Justify your answer(s).
Javab : reliability- tarif- 5,6 morde khososiat
2. Among the 16 software quality factors, which do you think is the
least important one? Justify your answer(s).
Javab :usability we can use skillful person instead of train new
employees.
CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors
TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
Case Studies

More Related Content

PPTX
Design and Analysis of Algorithms.pptx
PPT
Unit 1 - Introduction to Software Engineering.ppt
PPTX
Daa unit 1
PPTX
Fragmentation and types of fragmentation in Distributed Database
PPT
Chapter 15 software product metrics
PPTX
Data base security & integrity
PPT
Software quality
PPTX
Language Design Trade-offs
Design and Analysis of Algorithms.pptx
Unit 1 - Introduction to Software Engineering.ppt
Daa unit 1
Fragmentation and types of fragmentation in Distributed Database
Chapter 15 software product metrics
Data base security & integrity
Software quality
Language Design Trade-offs

What's hot (20)

PPT
Social and cultural issues in requirements engineering
PPTX
Software process
PPT
L7 decision tree & table
PPT
Software Quality Challenge
PPTX
Bellman ford algorithm
PPTX
Theory of Computation Unit 1
PPT
2s complement arithmetic
PPTX
Ch 3 software quality factor
PPTX
Software Engineering Practice
PPTX
Database recovery
PPTX
Brute force-algorithm
PPT
Requirements engineering process in software engineering
PPT
1.1 The nature of software.ppt
PDF
Software engineering lecture notes
PPT
Requirement Engineering
PDF
Requirements Engineering
PPT
Divide and conquer
PDF
2- THE CHANGING NATURE OF SOFTWARE.pdf
PPTX
Theory of automata and formal language
Social and cultural issues in requirements engineering
Software process
L7 decision tree & table
Software Quality Challenge
Bellman ford algorithm
Theory of Computation Unit 1
2s complement arithmetic
Ch 3 software quality factor
Software Engineering Practice
Database recovery
Brute force-algorithm
Requirements engineering process in software engineering
1.1 The nature of software.ppt
Software engineering lecture notes
Requirement Engineering
Requirements Engineering
Divide and conquer
2- THE CHANGING NATURE OF SOFTWARE.pdf
Theory of automata and formal language
Ad

Similar to Lect2 quality factor (20)

PPT
Lect1 fault+quality
PDF
Quality Assurance in Modern Software Development
PPT
Software Quality Assurance-se412-v11.ppt
PDF
software testing and quality assurance .pdf
PPT
software quality-assurance-5687e42d37017
PPTX
UNIT-1-INTRO.pptxsqa assurance testing sqa
PPTX
Fault code for the whole thing is that you have a
PDF
Unit I Software Testing and Quality Assurance
PPT
3. quality.ppt
PPTX
Software Testing - Software Quality
PDF
UNIT-1 software testing chapter (must learn)
PPT
Software quality assurance lecture 1
PPTX
Quality Software Models in Software Engineering.pptx
PPT
Software qualityfactors
PPT
1 sqa and testing concepts
PDF
New Model to Achieve Software Quality Assurance (SQA) in Web Application
PPTX
Software Quality Assurance (Models).pptx
PPTX
Mc call's software quality model
PPTX
SQAT - Ch.02 - Software Quality Assurance & testing.pptx
Lect1 fault+quality
Quality Assurance in Modern Software Development
Software Quality Assurance-se412-v11.ppt
software testing and quality assurance .pdf
software quality-assurance-5687e42d37017
UNIT-1-INTRO.pptxsqa assurance testing sqa
Fault code for the whole thing is that you have a
Unit I Software Testing and Quality Assurance
3. quality.ppt
Software Testing - Software Quality
UNIT-1 software testing chapter (must learn)
Software quality assurance lecture 1
Quality Software Models in Software Engineering.pptx
Software qualityfactors
1 sqa and testing concepts
New Model to Achieve Software Quality Assurance (SQA) in Web Application
Software Quality Assurance (Models).pptx
Mc call's software quality model
SQAT - Ch.02 - Software Quality Assurance & testing.pptx
Ad

Recently uploaded (20)

PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
KodekX | Application Modernization Development
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPT
Teaching material agriculture food technology
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Empathic Computing: Creating Shared Understanding
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
sap open course for s4hana steps from ECC to s4
The Rise and Fall of 3GPP – Time for a Sabbatical?
Programs and apps: productivity, graphics, security and other tools
Machine learning based COVID-19 study performance prediction
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
KodekX | Application Modernization Development
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
20250228 LYD VKU AI Blended-Learning.pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Spectral efficient network and resource selection model in 5G networks
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Advanced methodologies resolving dimensionality complications for autism neur...
Teaching material agriculture food technology
Review of recent advances in non-invasive hemoglobin estimation
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Empathic Computing: Creating Shared Understanding
Agricultural_Statistics_at_a_Glance_2022_0.pdf
sap open course for s4hana steps from ECC to s4

Lect2 quality factor

  • 1. TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors Objectives: The need for comprehensive requirements documents Various types of software quality factors
  • 2. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING The need for comprehensive requirements documentsThe need for comprehensive requirements documents • Cover all attributes of software and aspects of the use of software • Help to avoid or reduce poor performance of the developed software • To assure the full satisfaction of the users
  • 3. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING Various Type of Software Quality FactorsVarious Type of Software Quality Factors • Software quality factors are the areas which our products will show risks • Can put into two categories: internal & external • Should focus on 3 important aspects • Software operational characteristics • Software’s ability to undergo change • Software’s adaptability to new environment • There are many quality factors which have been discovered • Jim McCall’s Quality Factors (1977) – 11 factors • Boehm’s Quality Factors (1978) – 7 factors • Evan’s and Marciniak Quality Factors (1987) – 12 factors • Deutsch and Willis Quality Factors (1988) – 15 factors
  • 4. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING Software quality factors Product operation factors Product revision factors Product transition factors
  • 5. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING
  • 6. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING • Correctness • Reliability • Efficiency • Integrity • Usability Deal with requirements that directly affect the daily operation of the software
  • 7. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING • Maintainability • Flexibility • Testability Deal with those requirements that affect a complete range of software maintenance activities
  • 8. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING • Portability • Reusability • Interoperability Relate to the adaptation of software to other environments & its interaction with other software system
  • 9. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING Correctness: the functionality matches the specification, defined in a list of the software system’s required outputs (output specification) Output specification include: • The output mission (e.g.: sales invoice output) • The required accuracy of the outputs (e.g.: the probability for a non-accurate output, containing one or more mistakes, will not exceed 1%) • The completeness of the output information (e.g.: the probability of missing data about a member will not exceed 1%) • The up-to-datedness of the information (e.g.: the entry information of member payments and personal data are done not more than one working day) • The availability of information (e.g.: Reaction time for queries in help desk will be less than 30 minutes on average) • The required standards and guidelines (e.g.: user manual are comply with the client’s guidelines)
  • 10. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING Reliability: deal with failures to provide service; determine the maximum allowed software system failure rate & refer to the entire system or to one or more of its separate functions. For example: • Heart attack detection function is required to have a failure rate of less than one per million cases • The Bank Online System will not fail on average more than 10 minutes per month.
  • 11. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING Efficiency: deal with the hardware resources needed to perform all the functions of the software system (including cpu, disk, memory, network & etc) For example: • A chain of stores is considering two alternative bids for a software system. Both bids consist of placing the same computers in the chain’s headquarters and its branches. The bids differ solely in the storage volume. Bid A – 20GB per branch computer & 100GB in the HQ and Bid B- 10 GB per branch & 30GB at the HQ. Bid A requires 3 communication lines but Bid B requires 2 lines. Hence Bid B is more efficient than Bid A because fewer hardware resources is required.
  • 12. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING Integrity: deal with the software system security, protection from unauthorized access, to distinguish between the majority of personnel allowed to see the information and a limited group who will be allowed to add and change data. For example: • The Member registration system allows only the manager to access members’ information & members are allow to access their information when the username and password match with the first registered username and encrypted password • For Bank Online System, transaction to other bank’s account can only be done when user key in a security number that will send to his/her hand phone.
  • 13. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING Usability: deal with the scope of staff resources needed to train a new employee and to operate the software system For example: • Training a new employee will take no more than two days and at the end of the training, the employee able to handle 45 service call a day
  • 14. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING Maintainability: the ability to find and fix a defect (include identify the reasons for software failures, correct the failures & to verify the success of the corrections). Two aspects of maintainability: • Serviceability (the probability of returning the item to normal service) • Reparability (the probability of repairing the actual or impleading fault) For example: • The average time of repair for Bank Online System is 8 minutes Some examples of maintainability requirements that related to reliability: • The size of a software module will not exceed 30 statements • The programming will adhere to the company coding standards &
  • 15. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING Flexibility: the capabilities and efforts required to support adaptive maintenance activities (include the ability to make changes required as determined by customer) For example: • The teacher support software is suitable for teachers of all subjects, all school levels and non-professional able to create new types of reports according to the schoolteachers’ requirements
  • 16. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING Testabiltiy: the ability to validate the system requirement • Tesability that related to software operation: automatic diagnostics performed by the software system prior to starting the system, to find out whether all components of the software system are in working order and to obtain a report about the detected faults For example: • An industrial computerized control unit is programmed to calculate various measure of production status, report the performance level of the machinery, and operate a warning signal in predefined situations. A set of standard test data with known system expected correction reactions is run every morning, to check whether the computerized unit reacts properly.
  • 17. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING Portability: the ability to transfer one software from one environment to another, the environment could consist of different hardware, different operating systems etc For example: • A software package designed and programmed to operate in a Windows 2000 environment is required to allow low- cost transfer to Linux and Windows NT environments
  • 18. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING Reusability: the ease of using existing software components (software modules originally designed for one project) in a different context or a new software project. The advantages of reusability: • Save development resources • Shorten development period • Provide higher quality standards For example: • Software system for hotel guest and members of a pool club, the reuse module for another software system for spa might include entrance validity checks of membership cards and visit recording, restaurant billing and processing of membership renewal letters
  • 19. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING Interoperability: focus on creating interfaces with other software systems or with other equipment firmware Interoperability requirements • can specify the names of the software or firmware for which interface is required • can also specify the output structure accepted as standard in a specific industry or applications area. For example: • The firmware of a medical laboratory’s equipment is required to process its results (output) according to a standard data structure that can then serve as input for a number of standard laboratory information systems.
  • 20. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING Alternative models ~ Boehm’s Quality Model • Boehm defined three basic software requirements: – As-is utility: the extent to which the as-is software can be used – Maintainability: ease of identifying what needs to be changed as well as ease of modification and retesting – Portability: ease of changing software to accommodate a new environment
  • 21. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING • The seven quality factors • Portability: the extent to which the software will work under different computer configurations • Reliability: the extent to which the software performs as required • Efficiency: optimum use of system resources during correct execution • Usability: ease of use • Testability: ease of validation so that the software meets requirements • Understandability: the extent to which the software is easily comprehended with regard to purpose & structure • Flexibility: the ease of changing the software to meet revised requirements Boehm’s Quality Model
  • 22. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING Additional factors from Evans & Marciniak, Deutsch & Willis • Verifiability (by E & M): define design & programming features • Expandability (by E & M, D & W): refer to future efforts that will be needed to serve larger populations, improve service, or add new applications in order to improve usability • Safety (by D & W): eliminate conditions hazardous to operators of equipment as a result of errors in process control software • Manageability (by D & W): refer to the administrative tools that support software modification during the software development & maintenance periods • Survivability (by D & W): refer to the continuity of service
  • 23. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING No. Software quality factor McCall’s classic model Alternative factor models Evans and Marciniak model Deutsch and Willis model 1 Correctness + + + 2 Reliability + + + 3 Efficiency + + + 4 Integrity + + + 5 Usability + + + 6 Maintainability + + + 7 Flexibility + + + 8 Testability + 9 Portability + + + 10 Reusability + + + 11 Interoperability + + + 12 Verifiability + + 13 Expandability + + 14 Safety + 15 Manageability + 16 Survivability +
  • 24. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING What is reliability? The probability that software will not cause a system failure for a specified time under specified conditions. The probability is a function of the inputs to, and use of, the system as well as function of the existence of faults in the software. The inputs to the system determine whether existing faults, if any, are encountered (IEEE)
  • 25. Characteristics of Software Reliability CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING •Cannot be defined objectively Reliability measurements which are quoted out of context are not meaningful •Requires operational profile for its definition defines the expected pattern of software usage •Must consider fault consequences Not all faults are equally serious. System is perceived as more unreliable if there are more serious faults •Reliability is a dynamic system attribute
  • 26. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING The Need of Software Reliability •Reputation - more reliable product more favorable reputation •Customer Satisfaction - unreliable product will negatively affect customer satisfaction severely. Thus high reliability is a mandatory requirement for customer satisfaction. •Warranty Costs - If a product fails to perform its function within the warranty period, the replacement and repair costs will negatively affect profits, as well as gain unwanted negative attention •Repeat Business – build a good reputation among existing customers •Cost Analysis - initial cost might be higher, but the overall lifetime cost is lower because product requires fewer repairs or less maintenance. •Customer Requirements - customers demand a reliable system •Competitive Advantage - gain an advantage over competitors who does not publish the reliability rate or lower failure rate
  • 27. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING Errors, Failures & Faults • ErrorsErrors are human design errors, may not be observed orare human design errors, may not be observed or detected by usersdetected by users • AA faultfault is a static software characteristic whichis a static software characteristic which causes a failure to occur. It is the expression of a softwarecauses a failure to occur. It is the expression of a software error.error. • AA failurefailure corresponds to unexpected run-time behaviorcorresponds to unexpected run-time behavior observed by a user of the softwareobserved by a user of the software • Faults need not necessarily cause failures. They only do soFaults need not necessarily cause failures. They only do so if theif the faulty partfaulty part of the software isof the software is usedused
  • 28. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING Reliability Improvement • Reliability is improved when software faults which occur in the most frequently used parts of the software are removed • Removing x% of software faults will not necessarily lead to an x% reliability improvement • In a study, removing 60% of software defects actually led to a 3% reliability improvement • Removing faults with serious consequences is the most important objective
  • 29. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING Reliability & Efficiency • As reliability increases system efficiency tends to decrease • To make a system more reliable, redundant code must be included to carry out run-time checks, etc. This tends to slow it down
  • 30. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING • Reliability is usually more important than efficiency • No need to utilize hardware to the fullest extent as computers are cheap and fast • Unreliable software isn't used • Hard to improve unreliable systems • Software failure costs often far exceed system costs • Costs of data loss are very high Reliability & Efficiency
  • 31. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING The reality • High costs of reliability achievement • May be more cost effective to accept unreliability and pay for failure costs • Depends on social and political factors • Depends on system type - for business systems in particular, moderate reliability may be adequate
  • 32. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING Reviews 1. Among the 16 software quality factors, which do you think is the most important one? Justify your answer(s). Javab : reliability- tarif- 5,6 morde khososiat 2. Among the 16 software quality factors, which do you think is the least important one? Justify your answer(s). Javab :usability we can use skillful person instead of train new employees.
  • 33. CHAPTER 2CHAPTER 2 Software Quality FactorsSoftware Quality Factors TQA 7011 SOFTWARE QUALITY ASSURANCE & TESTINGTQA 7011 SOFTWARE QUALITY ASSURANCE & TESTING Case Studies

Editor's Notes

  • #21: Dar 7 factor safe bad maintainability nist !!