Reliability testing may be a software process which checks whether the software can perform a failure free operation for a specified period of time during a particular environment. The purpose of Reliability testing is to assure that the software product is bug free and also reliable enough for its expected purpose.
Reliability means “yielding an equivalent” in other terms the word “reliable” means something is dependable which will give the same outcome whenever time. The same is true for Reliability testing.
Reliability testing can be categorised into
The following formula is used for calculating the portability of failure
Probability = Number of failing cases / Total number of cases into account
Factors that will influence Software Reliability:
- The number of faults presents in software.
- The only way users operate the system
Reliability testing is key to better software quality. This testing assists to know many problems in the software design and functionality. The main goal of reliability testing is to check whether the software meets requirements of customer’s reliability on the software. Reliability testing will be done at many levels where complex systems will be tested at unit, assembly, subsystem and system levels.
Why we should do Reliability testing?
This reliability testing will be costly when we compare with other types of testing. Proper planning and management is required during doing the reliability testing.
To start with Reliability testing, tester has to keep following things like
- To establish reliability goals
- To Develop operational file
- To plan and execute tests
- It Uses the test results to drive decisions
Reliability testing involves Modelling, Measurement and Improvement
The key parameters are:
- Probability of failures like free operation
- Length of time of failure free operation
- Environment in which it is executed.
- Modelling- This software modelling technique is divided into two categories:
- Prediction Modeling
- Estimation Modeling
Meaningful results can be obtained by applying suitable models. Assumptions and abstractions will be made to simplify the problems and no single model is suitable for all situations.
The major difference between both models:
-Prediction models which uses historical data.
-Estimation models which uses current data from the software development.
- Measurement- Software reliability may not be measured directly and hence, other related factors which are considered in order to estimate the software reliability. The software reliability measurement can be divided into four categories:
Product Metrics – This product metrics is a combination of 4 types metrics:
- Software Size- Line code (LOC) is an intuitive initial approach for measuring the size of the software.Only the source code is counted in this metric and comments and other non-executable statements will not be counted.
- Function point Metric- Function Point Metric is the method for measuring the functionality of the software development.It may consider the count of inputs, outputs, master files etc.
- Complexity- It will be directly related to software reliability,so representing complexity will be important.
- Test coverage metrics- It is a way of deciding fault and reliability by performing the complete test of software products. Software reliability means it is the function of determining that the system has been completely verified and tested.