a software, then the software should work for 1000 hours of continuous operations. For the same software if the MTTR = 2 hours, then the . Accordingly, Software reliability is measured in terms of failure rate (). Reliability for software is a number between 0 and 1. Reliability increases when errors or bugs from the program are removed. There are many software reliability growth models (SRGM) (List of software reliability models) including, logarithmic, polynomial, exponential, power, and S-shaped Objectives of reliability testing The main objective of the reliability testing is to test software performance under given conditions without any type of corrective measure using known fixed procedures considering its specifications. Secondary objectives The secondary objectives of reliability testing is: To find perceptual structure of repeating failures. To find the number of failures occurring in a specified amount of time. To find the mean life of the software. To discover the main cause of failure. Checking the performance of different units of software after taking preventive actions. Points for defining objectives Some restrictions on creating objectives include: Behaviour of the software should be defined in given conditions. The objective should be feasible. Time constraints should be provided. Importance of reliability testing The application of computer software has crossed into many different fields, with software being an essential part of industrial, commercial and military systems. Because of its many applications in safety critical systems, software reliability is now an important research area. Although software engineering is becoming the fastest developing technology of the last century, there is no complete, scientific, quantitative measure to assess them. Software reliability testing is being used as a tool to help assess these software engineering technologies. To improve the performance of software product and software development process, a thorough assessment of reliability is required. Testing software reliability is important because it is of great use for software managers and practitioners. To verify the reliability of the software via testing: A sufficient number of test cases should be executed for a sufficient amount of time to get a reasonable estimate of how long the software will execute without failure. Long duration tests are needed to identify defects (such as memory leakage and buffer overflows) that take time to cause a fault or failure to occur. The distribution of test cases should match the actual or planned operational profile of the software. The more often a function or subset