EN 50128 gives a general guidance for testing railway safety-critical software. However, it does not specify how to test safety-critical software in an agile development environment. Based on our observation, agile software development has not been applied to the development of the Chinese Train Control System (CTCS). Previous research focused on agile methods for managing and planning safety-critical software development. There exists little research about agile testing for developing railway safety-critical software in the literature.   In this paper, we identify several major shortcomings of the existing practice of testing railway safety-critical software in China. In particular, we find out, that Continuous Integration (CI) and Continuous Delivery (CD) are missing from the current practice of agile testing. Furthermore, effective techniques and tools are lacking for CTCS. To address these shortcomings, we propose an agile testing framework for developing railway safety-critical software. In this framework, a build automation tool manages source code, unit tests, integration tests, resources and other tools. This test framework supports CI and CD, making agile testing possible. In addition, it includes effective unit and integration testing tools that allow rigorous tests to be generated. We believe this test framework will not only be applied to railway software, but also used for other safety-critical software.
['Nan Li', 'Jin Guo', 'Jeff Lei', 'Yao Li', 'Chang Rao', 'Yaxin Cao']
Towards Agile Testing for Railway Safety-critical Software