Software Reliability Engineering Process
Dr. Himanshu HoraSRMS 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 HoraSRMS College of Engineering & Technology
Bareilly (INDIA)
Top Related