Software Reliability Growth. Three Questions Frequently Asked Just Prior to Release 1.Is this...

Preview:

Citation preview

Software Reliability Growth

Three Questions Frequently Asked Just Prior to Release

1. Is this version of software ready for release (however “ready” is being defined)?

2. How much additional effort is required to release it?

3. When will it be ready for release?

To Answer the Above Questions You Need a Software Reliability

Growth Model

• You can develop a reliability goal.

• Then track progress toward that goal.

• Based on data collected during software validation testing

Software Reliability Definitions

• Software Reliability: The probability of failure-free operation of a computer program for a specified period of time operation in a specified environment.

• Reliability Growth: The improvement in software reliability that results from correcting faults in the software.

Software Reliability Definitions (Cont’d)

• Software Availability: The expected fraction of time during which the software functions acceptably.

• Fault: A defect (or bug) in the software that causes a software failure.

• Failure: a departure of the software’s operation from user requirements.

Software Reliability Definitions (Cont’d)

• Failure Intensity: The number of failures occurring in a given time period.

• MTTF: The average value of the next failure interval

The Test-Analyze-Fix Process

Reliability Growth Modeling

• Having a robust model can help management:– Make decisions regarding testing– Decide when it is appropriate to make a release– Determine what levels of support may be

needed after release

Objectives of Modeling

• Measure and predict software reliability in terms of its mean time to failure (MTTF)

• Determine optimal time to stop testing and release software

• Provide data for making tradeoffs between test time, reliability, cost, and performance goals

• Define realistic software reliability goals

Characteristics of a Good Software Reliability Model

• It predicts future failure behavior

• It computes meaningful results

• It is simple, widely applicable, and based on sound assumptions

Software Reliability Growth Model

Recommended