Arunkumar Khannur's Software Testing Knowledge Center
  The bathtub curve for Software Reliability


Fig 1. Bathtub curve for hardware reliability

Software reliability, however, does not show the same characteristics similar as hardware. A possible curve is shown in Figure 2 if we projected software reliability on the same axes. There are two major differences between hardware and software curves. One difference is that in the last phase, software does not have an increasing failure rate as hardware does.

In this phase, software is approaching obsolescence; there are no motivation for any upgrades or changes to the software. Therefore, the failure rate will not change. The second difference is that in the useful-life phase, software will experience a drastic increase in failure rate each time an upgrade is made. The failure rate levels off gradually, partly because of the defects found and fixed after the upgrades.

Fig 2. Revised bathtub curve for software reliability
The upgrades in Figure 2 imply feature upgrades, not upgrades for reliability. For feature upgrades, the complexity of software is likely to be increased, since the functionality of software is enhanced. Even bug fixes may be a reason for more software failures, if the bug fix induces other defects into software.
My Book
Arunkumar Khannur, Software Testing - Techniques and Applications, Published by Pearson Publications, 2011 (ISBN:978-81-317-5836-6; Pages:341 + xxii)
Pearls of Software Testing Wisdom
"Power to choose and restricting to few selections allow us to excel whether in testing or in life!"
"I prefer creativity to constraints; imagination to process; correction to control; discovery to pre-defined actions to test better."
"Best way to do testing (exploratory!) is thinking about Target, Trust. Imagine, Learn, & Do. Growing experience, results in heuristics & patterns."
"Continuous learning with refinement of corrections, use of experience & creative imagination make me to test even with no product info."
"Product image that we develop in our mind decides and defines what we test and what we miss."
"Effectiveness or limitation of testing depends on quality of thinking, ability to imagine, and creativity in test designing."
Follow Me