SlideShare a Scribd company logo
By Nur ISLAM
 Categorising and specifying the

reliability of software systems
 Discussing various issues associated

with Software Quality Assurance
(SQA)
Software reliability & quality





Probability of failure-free operation for a
specified time in a specified environment for
a given purpose
This means quite different things depending
on the system and the users of that system
Informally, reliability is a measure of how well
system users think it provides the services
they require


Cannot be defined objectively




Requires operational profile for its definition




Reliability measurements which are quoted out of
context are not meaningful

The operational profile 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


What does matter most, assessing the core of the
program (running 90% of the time) or non-core
section (running 10% of the time)
 Use tools called program profilers (in Unix it is called prof)



Removing defects/bugs does not indicate its
effectiveness in increasing the reliability of the
product
 Removing defects from non-core section does not have

the same effect as removing the ones in core section.


The perceived software reliability is an
observant dependent
 If you do not face the problem, you do not report

it
 Different users have different views of the
systems and thus different quality and reliability
assessments


The software reliability keeps changing as the
defects are detected and fixed






An important characteristic feature that sets
hardware and software reliability issues apart
is the difference between their failure
patterns
Hardware components fail due to very
different reasons as compared to software
components.
Hardware components fail mostly due to
wear and tear, whereas software components
fail due to bugs




Hardware metrics not really suitable for
software as they are based on component
failures and the need to repair or replace a
component once it has failed. The design is
assumed to be correct
Software failures are always design failures.
Often the system continues to be available in
spite of the fact that a failure has occurred


Probability of failure on demand






This is a measure of the likelihood that the system will
fail when a service request is made
POFOD = 0.001 means 1 out of 1000 service requests
result in failure
Relevant for safety-critical or non-stop systems

Rate of fault occurrence (ROCOF)




Frequency of occurrence of unexpected behaviour
ROCOF of 0.02 means 2 failures are likely in each 100
operational time units
Relevant for operating systems, transaction
processing systems


Mean time to failure






Measure of the time between observed failures
MTTF of 500 means that the time between failures is 500 time
units
Relevant for systems with long transactions e.g. CAD systems

Availability




Measure of how likely the system is available for use. Takes
repair/restart time into account
Availability of 0.998 means software is available for 998 out of
1000 time units
Relevant for continuously running systems e.g. telephone
switching systems





Reliability does not take consequences into
account
Transient faults have no real consequences
but other faults might cause data loss or
corruption
May be worthwhile to identify different
classes of failure, and use different metrics
for each






When specifying reliability both the number
of failures and the consequences of each
matter
Failures with serious consequences are more
damaging than those where repair and
recovery is straightforward
In some cases, different reliability
specifications may be defined for different
failure types







Transient - only occurs with certain inputs
Permanent - occurs on all inputs
Recoverable - system can recover without
operator help
Unrecoverable - operator has to help
Non-corrupting - failure does not corrupt
system state or data
Corrupting - system state or data are altered





Growth model is a mathematical model of
the system reliability change as it is tested
and faults are removed
Used as a means of reliability prediction by
extrapolating from current data
Depends on the use of statistical testing to
measure the reliability of a system version


Step Function Model
 The simplest reliability growth model:
▪ a step function model
 The basic assumption:
▪ reliability increases by a constant amount each time an
error is detected and repaired.
 Assumes:
▪ all errors contribute equally to reliability growth
▪ highly unrealistic:
▪ we already know that different errors contribute differently to
reliability growth.


Jelinski and Moranda Model
 Realizes each time an error is repaired

reliability does not increase by a constant
amount.
 Reliability improvement due to fixing of an
error is assumed to be proportional to the
number of errors present in the system at
that time.


Littlewood and Verall’s Model
 Assumes different fault have different sizes,

thereby contributing unequally to failures.
 Allows for negative reliability growth
 Large sized faults tends to be detected and fixed
earlier
 As number of errors is driven down with the
progress in test, so is the average error size,
causing a law of diminishing return in debugging


Applicability of models:
 There is no universally applicable reliability

growth model.
 Reliability growth is not independent of
application.
 Fit observed data to several growth models.
▪ Take the one that best fits the data.


The objective is to determine reliability
rather than discover errors.



Uses data different from defect testing.


Different users have different operational profile:
 i.e. they use the system in different ways
 formally, operational profile:

▪ probability distribution of input


Divide the input data into a number of input classes:
 e.g. create, edit, print, file operations, etc.



Assign a probability value to each input class:
 a probability for an input value from that class to be

selected.


Determine the operational profile of the software:
 This can be determined by analyzing the usage pattern.



Manually select or automatically generate a set of
test data:
 corresponding to the operational profile.



Apply test cases to the program:
 record execution time between each failure
 it may not be appropriate to use raw execution time



After a statistically significant number of failures
have been observed:
 reliability can be computed



Relies on using large test data set.
Assumes that only a small percentage of test inputs:
 likely to cause system failure.



It is straight forward to generate tests
corresponding to the most common inputs:
 but a statistically significant percentage of unlikely inputs

should also be included.


Creating these may be difficult:
 especially if test generators are used.


Pros and cons
-Say by yourself
Software reliability & quality


Software quality is:
- The degree to which a system,
component, or process meets specified
requirements.
- The degree to which a system,
component, or process meets customer
or user needs or expectations.















Correctness
Efficiency
Flexibility
Robustness
Interoperability
Maintainability
Performance
Portability
Reliability
Reusability
Testability
Usability
Availability
Understandability






A quality management system is a principal
methodology used by organizations to
ensure that the products they develop have
the desired quality
A quality system is the responsibility of the
system as a whole, and the full support of the
top management is a must
A good quality system must be well
documented


The quality system activities encompass the
following:
 Auditing of projects
 Review of the quality system
 Development of standards, procedures and

guidelines… etc
 Production of reports for the top management
summarizing the effectiveness of the quality
system in the organization




Pre WWII, the usual way to produce quality
products is to inspect the final product for
defective units
Then Quality Control (QC) principle was
found: focuses not only on detecting the
defective products and eliminating them, but
also on determining the causes behind the
defects (and fixing them), so that the product
rejection rate can be reduced




The Quality Assurance (QA) :the basic
premise of modern quality assurance is that if
an organization's processes are good and are
followed rigorously, then the products are
bound to be of good quality
Total Quality Management (TQM) advocates
that the process followed by an organization
must continuously be improved through
process management




TQM requires continuous improvement (more
than just documenting the process and
optimizing them through redesign)
Over the last six decades the quality
management has shifted from inspection to
Total quality management, and the quality
assurance has shifted from product to
process assurance
Quality Assurance
Method
Inspection

Quality Paradigm
Product Assurance

Quality Control (QC)

Quality Assurance (QA)

Total Quality Management
(TQM)

Process Assurance






Product metrics help measure the
characteristics of a product being developed,
whereas process metric help measure how a
process is performing
Product metrics: LOC ,FP, PM, time to develop
the product, the complexity of the system …
etc
Process metrics: review effectiveness,
inspection efficiency … etc
Software reliability & quality

More Related Content

PDF
Software testing methods, levels and types
PPT
Software Reliability
PPTX
Types of testing
DOCX
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
PPT
Unit 5 usability and satisfaction test
PPT
08 state diagram and activity diagram
PPTX
Software Quality Attributes
PPT
Chapter 13 software testing strategies
Software testing methods, levels and types
Software Reliability
Types of testing
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Unit 5 usability and satisfaction test
08 state diagram and activity diagram
Software Quality Attributes
Chapter 13 software testing strategies

What's hot (20)

PPT
Non Functional Testing
PPTX
Software Configuration Management
PPT
1.1 The nature of software.ppt
PPTX
Software testing
PPT
Software Quality Metrics
PPTX
verification and validation
PPTX
Software maintenance Unit5
PPTX
Unit 8 software quality and matrices
PPTX
Hierarchical models of software quality
PPTX
Formal Approaches to SQA.pptx
PDF
Boehm Software Quality Model
PPT
Unit 7
PPTX
SQE Lecture 1.pptx
PPTX
Design Concept software engineering
PPTX
Component Based Software Engineering
PPTX
Software Reliability
PDF
State chart diagram
PPTX
Software testing and types.pptx
PPTX
Product metrics
PPTX
comparative study software quality models
Non Functional Testing
Software Configuration Management
1.1 The nature of software.ppt
Software testing
Software Quality Metrics
verification and validation
Software maintenance Unit5
Unit 8 software quality and matrices
Hierarchical models of software quality
Formal Approaches to SQA.pptx
Boehm Software Quality Model
Unit 7
SQE Lecture 1.pptx
Design Concept software engineering
Component Based Software Engineering
Software Reliability
State chart diagram
Software testing and types.pptx
Product metrics
comparative study software quality models
Ad

Viewers also liked (6)

PDF
Chapter 7 software reliability
PPTX
Fault avoidance and fault tolerance
PDF
Software reliability engineering
PPT
Software and Hardware Reliability
PDF
Fault tolerance
PPT
Software reliability
Chapter 7 software reliability
Fault avoidance and fault tolerance
Software reliability engineering
Software and Hardware Reliability
Fault tolerance
Software reliability
Ad

Similar to Software reliability & quality (20)

PPT
Software Engineering -Software Reliability.ppt
PDF
chapter-09.pdf software metrics Bahir dar university
PPTX
Software quality assurance
PPTX
Quality of software
PPTX
Software Testing - Software Quality (Part 2)
PDF
Software Quality Assurance - Software Engineering
PDF
PPT
3. quality.ppt
PPTX
Fault code for the whole thing is that you have a
PPT
Quality assurance and management, software engineering
PPTX
RTS fault tolerance, Reliability evaluation
PPTX
real time systems fault tolerance, Redundancy
PPTX
SEPM_MODULE 2 PPT.pptx
PPT
Software Quality Assurance-se412-v11.ppt
PPTX
UNIT-1-INTRO.pptxsqa assurance testing sqa
PPT
05_SQA_Overview.ppt
PPTX
Module IV (1).pptx for software emgineee
PDF
Software Reliability Engineering Learning
PPTX
Shooman_11 Software Reliability (1).pptx
PPT
software-quality-assurance.pptQuality assurance consists of those procedures,...
Software Engineering -Software Reliability.ppt
chapter-09.pdf software metrics Bahir dar university
Software quality assurance
Quality of software
Software Testing - Software Quality (Part 2)
Software Quality Assurance - Software Engineering
3. quality.ppt
Fault code for the whole thing is that you have a
Quality assurance and management, software engineering
RTS fault tolerance, Reliability evaluation
real time systems fault tolerance, Redundancy
SEPM_MODULE 2 PPT.pptx
Software Quality Assurance-se412-v11.ppt
UNIT-1-INTRO.pptxsqa assurance testing sqa
05_SQA_Overview.ppt
Module IV (1).pptx for software emgineee
Software Reliability Engineering Learning
Shooman_11 Software Reliability (1).pptx
software-quality-assurance.pptQuality assurance consists of those procedures,...

More from Nur Islam (8)

PPT
Lan wan
PPTX
PPTX
Overview of iso 9001
PPTX
Metrics for project size estimation
PPT
Organization and team structures
PPTX
Halsted’s Software Science-An analytical technique
PPTX
Cellular automata
PPTX
Designing of media player
Lan wan
Overview of iso 9001
Metrics for project size estimation
Organization and team structures
Halsted’s Software Science-An analytical technique
Cellular automata
Designing of media player

Recently uploaded (20)

PDF
AI-driven educational solutions for real-life interventions in the Philippine...
PDF
Computing-Curriculum for Schools in Ghana
PDF
Vision Prelims GS PYQ Analysis 2011-2022 www.upscpdf.com.pdf
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PPTX
TNA_Presentation-1-Final(SAVE)) (1).pptx
PDF
CISA (Certified Information Systems Auditor) Domain-Wise Summary.pdf
PPTX
A powerpoint presentation on the Revised K-10 Science Shaping Paper
PDF
Empowerment Technology for Senior High School Guide
PDF
medical_surgical_nursing_10th_edition_ignatavicius_TEST_BANK_pdf.pdf
PDF
IGGE1 Understanding the Self1234567891011
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
PDF
Paper A Mock Exam 9_ Attempt review.pdf.
PDF
Τίμαιος είναι φιλοσοφικός διάλογος του Πλάτωνα
PDF
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
PPTX
ELIAS-SEZIURE AND EPilepsy semmioan session.pptx
PPTX
Unit 4 Computer Architecture Multicore Processor.pptx
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PPTX
Introduction to pro and eukaryotes and differences.pptx
PPTX
Share_Module_2_Power_conflict_and_negotiation.pptx
PDF
FOISHS ANNUAL IMPLEMENTATION PLAN 2025.pdf
AI-driven educational solutions for real-life interventions in the Philippine...
Computing-Curriculum for Schools in Ghana
Vision Prelims GS PYQ Analysis 2011-2022 www.upscpdf.com.pdf
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
TNA_Presentation-1-Final(SAVE)) (1).pptx
CISA (Certified Information Systems Auditor) Domain-Wise Summary.pdf
A powerpoint presentation on the Revised K-10 Science Shaping Paper
Empowerment Technology for Senior High School Guide
medical_surgical_nursing_10th_edition_ignatavicius_TEST_BANK_pdf.pdf
IGGE1 Understanding the Self1234567891011
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
Paper A Mock Exam 9_ Attempt review.pdf.
Τίμαιος είναι φιλοσοφικός διάλογος του Πλάτωνα
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
ELIAS-SEZIURE AND EPilepsy semmioan session.pptx
Unit 4 Computer Architecture Multicore Processor.pptx
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
Introduction to pro and eukaryotes and differences.pptx
Share_Module_2_Power_conflict_and_negotiation.pptx
FOISHS ANNUAL IMPLEMENTATION PLAN 2025.pdf

Software reliability & quality

  • 2.  Categorising and specifying the reliability of software systems  Discussing various issues associated with Software Quality Assurance (SQA)
  • 4.    Probability of failure-free operation for a specified time in a specified environment for a given purpose This means quite different things depending on the system and the users of that system Informally, reliability is a measure of how well system users think it provides the services they require
  • 5.  Cannot be defined objectively   Requires operational profile for its definition   Reliability measurements which are quoted out of context are not meaningful The operational profile 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
  • 6.  What does matter most, assessing the core of the program (running 90% of the time) or non-core section (running 10% of the time)  Use tools called program profilers (in Unix it is called prof)  Removing defects/bugs does not indicate its effectiveness in increasing the reliability of the product  Removing defects from non-core section does not have the same effect as removing the ones in core section.
  • 7.  The perceived software reliability is an observant dependent  If you do not face the problem, you do not report it  Different users have different views of the systems and thus different quality and reliability assessments  The software reliability keeps changing as the defects are detected and fixed
  • 8.    An important characteristic feature that sets hardware and software reliability issues apart is the difference between their failure patterns Hardware components fail due to very different reasons as compared to software components. Hardware components fail mostly due to wear and tear, whereas software components fail due to bugs
  • 9.   Hardware metrics not really suitable for software as they are based on component failures and the need to repair or replace a component once it has failed. The design is assumed to be correct Software failures are always design failures. Often the system continues to be available in spite of the fact that a failure has occurred
  • 10.  Probability of failure on demand     This is a measure of the likelihood that the system will fail when a service request is made POFOD = 0.001 means 1 out of 1000 service requests result in failure Relevant for safety-critical or non-stop systems Rate of fault occurrence (ROCOF)    Frequency of occurrence of unexpected behaviour ROCOF of 0.02 means 2 failures are likely in each 100 operational time units Relevant for operating systems, transaction processing systems
  • 11.  Mean time to failure     Measure of the time between observed failures MTTF of 500 means that the time between failures is 500 time units Relevant for systems with long transactions e.g. CAD systems Availability    Measure of how likely the system is available for use. Takes repair/restart time into account Availability of 0.998 means software is available for 998 out of 1000 time units Relevant for continuously running systems e.g. telephone switching systems
  • 12.    Reliability does not take consequences into account Transient faults have no real consequences but other faults might cause data loss or corruption May be worthwhile to identify different classes of failure, and use different metrics for each
  • 13.    When specifying reliability both the number of failures and the consequences of each matter Failures with serious consequences are more damaging than those where repair and recovery is straightforward In some cases, different reliability specifications may be defined for different failure types
  • 14.       Transient - only occurs with certain inputs Permanent - occurs on all inputs Recoverable - system can recover without operator help Unrecoverable - operator has to help Non-corrupting - failure does not corrupt system state or data Corrupting - system state or data are altered
  • 15.    Growth model is a mathematical model of the system reliability change as it is tested and faults are removed Used as a means of reliability prediction by extrapolating from current data Depends on the use of statistical testing to measure the reliability of a system version
  • 16.  Step Function Model  The simplest reliability growth model: ▪ a step function model  The basic assumption: ▪ reliability increases by a constant amount each time an error is detected and repaired.  Assumes: ▪ all errors contribute equally to reliability growth ▪ highly unrealistic: ▪ we already know that different errors contribute differently to reliability growth.
  • 17.  Jelinski and Moranda Model  Realizes each time an error is repaired reliability does not increase by a constant amount.  Reliability improvement due to fixing of an error is assumed to be proportional to the number of errors present in the system at that time.
  • 18.  Littlewood and Verall’s Model  Assumes different fault have different sizes, thereby contributing unequally to failures.  Allows for negative reliability growth  Large sized faults tends to be detected and fixed earlier  As number of errors is driven down with the progress in test, so is the average error size, causing a law of diminishing return in debugging
  • 19.  Applicability of models:  There is no universally applicable reliability growth model.  Reliability growth is not independent of application.  Fit observed data to several growth models. ▪ Take the one that best fits the data.
  • 20.  The objective is to determine reliability rather than discover errors.  Uses data different from defect testing.
  • 21.  Different users have different operational profile:  i.e. they use the system in different ways  formally, operational profile: ▪ probability distribution of input  Divide the input data into a number of input classes:  e.g. create, edit, print, file operations, etc.  Assign a probability value to each input class:  a probability for an input value from that class to be selected.
  • 22.  Determine the operational profile of the software:  This can be determined by analyzing the usage pattern.  Manually select or automatically generate a set of test data:  corresponding to the operational profile.  Apply test cases to the program:  record execution time between each failure  it may not be appropriate to use raw execution time  After a statistically significant number of failures have been observed:  reliability can be computed
  • 23.   Relies on using large test data set. Assumes that only a small percentage of test inputs:  likely to cause system failure.  It is straight forward to generate tests corresponding to the most common inputs:  but a statistically significant percentage of unlikely inputs should also be included.  Creating these may be difficult:  especially if test generators are used.
  • 24.  Pros and cons -Say by yourself
  • 26.  Software quality is: - The degree to which a system, component, or process meets specified requirements. - The degree to which a system, component, or process meets customer or user needs or expectations.
  • 28.    A quality management system is a principal methodology used by organizations to ensure that the products they develop have the desired quality A quality system is the responsibility of the system as a whole, and the full support of the top management is a must A good quality system must be well documented
  • 29.  The quality system activities encompass the following:  Auditing of projects  Review of the quality system  Development of standards, procedures and guidelines… etc  Production of reports for the top management summarizing the effectiveness of the quality system in the organization
  • 30.   Pre WWII, the usual way to produce quality products is to inspect the final product for defective units Then Quality Control (QC) principle was found: focuses not only on detecting the defective products and eliminating them, but also on determining the causes behind the defects (and fixing them), so that the product rejection rate can be reduced
  • 31.   The Quality Assurance (QA) :the basic premise of modern quality assurance is that if an organization's processes are good and are followed rigorously, then the products are bound to be of good quality Total Quality Management (TQM) advocates that the process followed by an organization must continuously be improved through process management
  • 32.   TQM requires continuous improvement (more than just documenting the process and optimizing them through redesign) Over the last six decades the quality management has shifted from inspection to Total quality management, and the quality assurance has shifted from product to process assurance
  • 33. Quality Assurance Method Inspection Quality Paradigm Product Assurance Quality Control (QC) Quality Assurance (QA) Total Quality Management (TQM) Process Assurance
  • 34.    Product metrics help measure the characteristics of a product being developed, whereas process metric help measure how a process is performing Product metrics: LOC ,FP, PM, time to develop the product, the complexity of the system … etc Process metrics: review effectiveness, inspection efficiency … etc