ABSTRACT:With the rapid development of computer science, the software utilized in rail transit system plays a more and more important role. The quality of software directly determines the quality of rail transit system, and the software fault may lead to disastrous consequences. With software testing, it is possible to find out most of the errors in software and reduce the residual risks. So, enhancing the testing work of safety critical software is considered to be a fundamental and effective way to ensure the software safety in rail transit system.With the development of high speed railway in China, to ensure the safety of train operation, a stable, safe and reliable train control system is urgently needed. However, there is little research on the testing of Safety Critical Software designed for CTCS-3system. So, it is necessary to carry out some research on the testing method suitable for CTCS-3system.This thesis focuses on the testing method of Safety Critical Software and its application in the testing of CTCS-3on-board equipment. The testing model (including self-testing, static testing, unit testing, integration testing, function testing and safety testing) for Safety Critical Software is introduced, and the principle, method as well as techniques for each testing stage are analyzed.As a practical application of research, with the ATP software of CTCS-3train control system as example, the following works have been done:1) Based on the testing framework of CppUnit, designed the testing tools for developer and proposed some test cases for ATP software self-testing.2) With the application of TestBed testing tools, completed the static testing work and analyzed the testing results.3) Designed the test cases for unit testing as well as integration testing; excuted the testing in TestBed testing tools, and analyzed the results.4) Deigned the test cases for ATP software function testing, and excuted the ATP software function testing in laboratory simulation environment.5) With the the Fault Tree Analysis for ATP software, extracted the features, designed the test cases for each feature, excuted the safety function testing in the laboratory simulation environment and analyzed the testing results. |