Purpose of software reliability testing
The main purposes of software reliability testing are:
(1) Verify that software requirements are met correctly by executing software in a representative environment in use.
(2) collect accurate data for Software Reliability Estimation. Software reliability estimation can generally be divided into four steps:
Data collection, model selection, model fitting, and software reliability evaluation. It can be considered that data collection is the reliability of the entire software.
The basis of estimation work. The accuracy of data is related to the accuracy of software reliability evaluation.
(3) Identify all errors that have a significant impact on software reliability through software reliability tests.
3. Features of software reliability testing
Software reliability testing is different from hardware reliability testing, mainly because the two have different reasons for failure. Hardware failure
This is generally caused by aging of components. Therefore, the hardware reliability test emphasizes randomly selecting multiple identical products and counting them.
Their normal running time. The longer the average running time, the more reliable the hardware is. Software failure is caused by design defects.
The input of the Software determines whether a fault exists in the software. Therefore, use the same set of inputs to repeatedly test the software
It makes no sense to record the invalid data. This data is only recorded for the first time without any changes to the software.
It cannot be used to estimate the software reliability. Software reliability testing emphasizes random selection of inputs based on actual probability distribution
And emphasize the coverage of test requirements.
Software reliability testing is also different from general software functional testing. In contrast, software reliability testing emphasizes Testing
The input is consistent with the statistical characteristics of input in typical use environments, emphasizing the advance of functions, inputs, data domains, and their related probabilities.
Recognition. The sampling policies for the test instances are also different. The software reliability test must be randomly selected based on the probability distribution used.
In this way, we can get a more accurate reliability estimation, and also help to identify the faults that have a greater impact on the software reliability.
In addition, during software reliability testing, you must accurately record the running time of the software.
Higher than the functional testing requirements of common software.
For some special software, such as Fault-Tolerant Software and real-time embedded software, multiple types of software reliability tests are required.
Test environment. This is because in the use environment it is often difficult to implant errors in the software for targeted testing.
4. Software Reliability Test Results
Software reliability testing is a critical step in ensuring software reliability. Software tested for Software Reliability
The minimum number of residual errors in the software cannot be guaranteed, but the reliability of the software can meet high requirements. Starting from work
From the perspective of Cheng, the high reliability of a software not only means that the software is less efficient, but also means that
And the resulting harm is also small. It is impossible for a large engineering software to have no errors, at least theoretically
A large engineering software can be used without errors. Therefore, the key to ensuring software reliability is not to ensure that there is no software error.
Is to ensure that the key part of the software is correct. To be more precise, it is necessary to ensure that the software has no greater impact on reliability.
Error. This is one of the purposes of software reliability testing.
The focus of software reliability testing is different from general software function testing. The starting point of the testing instance design is to find
Faults that have a greater impact on reliability. Therefore, to meet the same reliability requirements, the reliability test is more
It takes less time.
In addition, the software reliability test environment is representative. In this way, the obtained test data and software
The actual running data is close to each other and can be used for Software Reliability Estimation.
In short, software reliability testing is more cost-effective than general functional testing. It can replace General functional testing,
However, the general software function test cannot replace the software reliability test, and the test data obtained by the general function test is also
It is not suitable for Software Reliability Estimation.
Ii. Precautions for Software Reliability Testing
Software reliability testing can generally be divided into four stages: developing test plans, developing test plans, testing and recording tests
Test results and write test reports.
Pay special attention to the identification of tested functions and the definition of failure levels when developing test plans. Set up a test plan
Test instances, determine the input sequence during the test, and determine the expected results output by the program. Pay attention to the test
Problem.