Research of Testing for Scientific Computing Software in the Area of Nuclear Power Based on Metamorphic Testing
It has long been known that there are software applications for which it is difficult to detect subtle errors, faults, defects, or anomalies because there is no reliable “test oracle” to indicate what the correct output should be for arbitrary input. The
- PDF / 197,491 Bytes
- 12 Pages / 439.37 x 666.142 pts Page_size
- 72 Downloads / 150 Views
Abstract It has long been known that there are software applications for which it is difficult to detect subtle errors, faults, defects, or anomalies because there is no reliable “test oracle” to indicate what the correct output should be for arbitrary input. The absence of a test oracle clearly presents a challenge in testing the software applications of scientific computing from the domain of nuclear power plant. Metamorphic testing has been shown to be a simple yet effective technique in addressing the quality assurance of these “non-testable programs.” In this paper, we introduce Metamorphic testing method to address the oracle problem as mentioned above. We identify a metamorphic relation for a real-world scientific computing programs which do not have test oracles, and demonstrate the effectiveness of metamorphic testing in identifying the error. Keywords Software testing computation
Oracle problem Metamorphic testing Numerical
S. Yan (&) X. Yang School of Computer Science and Technology, University of South China, Hengyang 421001, China e-mail: [email protected] X. Yang e-mail: [email protected] S. Yan X. Yang M. Li H. Liu Z. Liu CNNC Key Laboratory on High Trusted Computing, Hengyang, Hunan, China e-mail: [email protected] H. Liu e-mail: [email protected] Z. Liu e-mail: [email protected] © Springer Science+Business Media Singapore 2017 H. Jiang (ed.), Proceedings of The 20th Pacific Basin Nuclear Conference, DOI 10.1007/978-981-10-2311-8_46
501
502
S. Yan et al.
1 Testing Oracle Problem of Scientific Computing Software in Nuclear Power Field In software testing, for arbitrary input values, it is difficult to give the corresponding correct expectations to test the correctness of the output value of the program, this is the testing oracle problem. For example, in scientific computing, simulation, optimization and other areas, because of the existence of the problem of test oracle, it has a difficulty to find software hidden deep errors, defect and program exception in the actual test, then these areas of application is often referred to “non-testable programs” [1], as Weyuker has said, “programs which were written in order to determine the answer in the first place. There would be no need to write such programs, if the correct answer were known” [1]. Scientific computing software in the field of nuclear power is a typical scientific calculation software, involving thermal hydraulic calculation software, the reactor core physics calculation software, radiation shielding calculation software, mechanical calculation software, fuel element calculation software, etc. Software test is an important method to ensure the quality and reliability of software, but also faces the challenge of the test oracle problem. In order to solve this problem, the traditional methods include formal methods, program proof methods, and so on, but these methods are difficult to apply to complex programs. Chen put forward the metamorphic testing method [2]. This is a method to test the expected value of the program, it can dis
Data Loading...