Software Reliability Engineering
Process

Dr. Himanshu Hora
SRMS College of Engineering & Technology
Bareilly (INDIA)
Software Reliability
 IEEE 982.1-1988 defines software reliability as
“The ability of a system or component to perform its
required functions under stated conditions for a
specified period of time.”


Is the probability that a system will operate without
failure under given environmental conditions for a
specified period of time.
 Aims at fault-free performance of software systems
Software reliability engineering
 Engineering (applied science) discipline

 Measure, predict, manage reliability
 Statistical modeling
 Customer perspective:
• failures vs. faults
• meaningful time vs. development days
• customer operational profile
SRE Process
1.List Associated Systems
 Lists all systems associated with the product that
must be tested independently and are of two types Base product & variations and Super-systems

2.Develop Operational Profiles
 An Operational profile is a Complete set of
commands with their probabilities of occurrence
 System Testers and System engineers are included
3.Define “Just Right” Reliability
 Define what “failure” means for the product
– Failure is defined as any Departure of system Behavior in
execution from user needs
– Failure intensity is the number of Failures per unit time

 Choose a common Measure for all failure intensities,
either Failures per some natural unit or Failures per
hour
 Set the total system Failure Intensity Objective (FIO)
for each associated System
– using Field data like Customer Satisfaction surveys related
to measured failure intensity,
– an analysis of competing products balancing among major
quality characteristics users need.

 Finding a developed software failure intensity
objective for any software you develop plus choosing
among software reliability strategies to meet the
developed software
4.Prepare for Test
 Specify the new Test cases for new operations of base
product and variation for current release based on
operation profile
 Prepares Test procedures to execute load tests

5.Execute Test
 determine an allocated Test time among Feature test,
Load test, and Regression test, invoke test and identity
system failure along with when they occur
• Feature tests – Interactions and Effects of the field
environment minimized
• Load tests- execute Test cases simultaneously, with
full interactions and all the effects of the Field
environment
• Regression test-executes some or all feature tests and
it is designed to reveal failures caused by faults
introduced by program changes
6.Guiding Test
 Involves guiding the product’s system Test phase and
Release
 Failure data is interpreted differently for software we
are developing and software we acquire. We attempt
to remove the faults that are causing Failures
 For developed software, we estimate the FI/FIO ratio
from the times of failure events or the number of
failures per time interval, using reliability estimation
programs such as CASRE (Computer Aided
Software Reliability estimation)
Thank You

Dr. Himanshu Hora
SRMS College of Engineering & Technology
Bareilly (INDIA)

Software reliability engineering process

  • 1.
    Software Reliability Engineering Process Dr.Himanshu Hora SRMS College of Engineering & Technology Bareilly (INDIA)
  • 2.
    Software Reliability  IEEE982.1-1988 defines software reliability as “The ability of a system or component to perform its required functions under stated conditions for a specified period of time.”  Is the probability that a system will operate without failure under given environmental conditions for a specified period of time.  Aims at fault-free performance of software systems
  • 3.
    Software reliability engineering Engineering (applied science) discipline  Measure, predict, manage reliability  Statistical modeling  Customer perspective: • failures vs. faults • meaningful time vs. development days • customer operational profile
  • 4.
  • 5.
    1.List Associated Systems Lists all systems associated with the product that must be tested independently and are of two types Base product & variations and Super-systems 2.Develop Operational Profiles  An Operational profile is a Complete set of commands with their probabilities of occurrence  System Testers and System engineers are included
  • 6.
    3.Define “Just Right”Reliability  Define what “failure” means for the product – Failure is defined as any Departure of system Behavior in execution from user needs – Failure intensity is the number of Failures per unit time  Choose a common Measure for all failure intensities, either Failures per some natural unit or Failures per hour
  • 7.
     Set thetotal system Failure Intensity Objective (FIO) for each associated System – using Field data like Customer Satisfaction surveys related to measured failure intensity, – an analysis of competing products balancing among major quality characteristics users need.  Finding a developed software failure intensity objective for any software you develop plus choosing among software reliability strategies to meet the developed software
  • 8.
    4.Prepare for Test Specify the new Test cases for new operations of base product and variation for current release based on operation profile  Prepares Test procedures to execute load tests 5.Execute Test  determine an allocated Test time among Feature test, Load test, and Regression test, invoke test and identity system failure along with when they occur
  • 9.
    • Feature tests– Interactions and Effects of the field environment minimized • Load tests- execute Test cases simultaneously, with full interactions and all the effects of the Field environment • Regression test-executes some or all feature tests and it is designed to reveal failures caused by faults introduced by program changes
  • 10.
    6.Guiding Test  Involvesguiding the product’s system Test phase and Release  Failure data is interpreted differently for software we are developing and software we acquire. We attempt to remove the faults that are causing Failures  For developed software, we estimate the FI/FIO ratio from the times of failure events or the number of failures per time interval, using reliability estimation programs such as CASRE (Computer Aided Software Reliability estimation)
  • 11.
    Thank You Dr. HimanshuHora SRMS College of Engineering & Technology Bareilly (INDIA)