DevOps Testing for Cyber-Physical Systems
摘要
DevOps is driven by feedback signals that help developers identify issues and potential improvements. One of these signals comes from automated testing activities that stress the CPS under test at various levels during development and, potentially, at runtime, to verify its functional correctness and non-functional properties (e.g., timing and safety). After introducing the phases and levels of CPS testing, this chapter presents the unique challenges of applying automated testing to CPS within the DevOps lifecycle. Next, the chapter presents current automated testing solutions to address the most pressing issues of CPS Testing for DevOps, including addressing the reality gap via domain augmentation and simulation ensembles, improving automated test generation by generating valid and adequate test input and correct test oracles, and increasing testing efficiency by prioritizing and selecting test cases. The chapter concludes by presenting the path to achieve the DevOps vision of continuously evaluating CPS systems grounded in operational reliability and evolving environments. The proposed path forward includes defining effective methods for improving existing test suites using production data, as well as further enhancing testing efficiency through the optimized setup of the testing environment and reducing system tests.