*** Welcome to piglix ***

Software reliability testing


Software reliability testing is a field of software testing that relates to testing a software's ability to function, given environmental conditions, for a particular amount of time. Software reliability testing helps discover many problems in the software design and functionality.

Software reliability is the probability that software will work properly in a specified environment and for a given amount of time. Using the following formula, the probability of failure is calculated by testing a sample of all available input states. Mean Time Between Failure(MTBF)=Mean Time To Failure(MTTF)+ Mean Time To Repair(MTTR)

The set of all possible input states is called the input space. To find reliability of software, we need to find output space from given input space and software.

For reliability testing, data is gathered from various stages of development, such as the design and operating stages. The tests are limited due to restrictions such as cost and time restrictions. Statistical samples are obtained from the software products to test for the reliability of the software. Once sufficient data or information is gathered, statistical studies are done. Time constraints are handled by applying fixed dates or deadlines for the tests to be performed. After this phase, design of the software is stopped and the actual implementation phase starts. As there are restrictions on costs and time, the data is gathered carefully so that each data has some purpose and gets its expected precision. To achieve the satisfactory results from reliability testing one must take care of some reliability characteristics. For example, Mean Time to Failure (MTTF) is measured in terms of three factors:

If the restrictions are on operation time or if the focus is on first point for improvement, then one can apply compressed time accelerations to reduce the testing time. If the focus is on calendar time (i.e. if there are predefined deadlines), then intensified stress testing is used.

Software reliability is measured in terms of mean time between failures(MTBF).

MTBF consists of mean time to failure (MTTF) and mean time to repair(MTTR). MTTF is the difference of time between two consecutive failures and MTTR is the time required to fix the failure. Reliability for good software is a number between 0 and 1. Reliability increases when errors or bugs from the program are removed.

For example, if MTBF = 1000 hours for average software, then the software should work for 1000 hours for continuous operations.


...
Wikipedia

...