Robotic systems are complex and safety-critical software systems. As such, they need to be tested thoroughly. Unfortunately, robot software is intrinsically hard to test compared to traditional software, mainly since the software needs to closely interact with hardware, account for uncertainty in its operational environment, handle disturbances, and act highly autonomously. However, given the large space in which robots operate, anticipating possible failures when designing tests is challenging. This paper presents a mapping study by considering robotics testing papers and relating them to the software testing theory. We consider 247 robotics testing papers and map them to software testing, discussing the state-of-the-art software testing in robotics with an illustrated example, and discuss current challenges. Forming the basis to introduce both the robotics and software engineering communities to software testing challenges. Finally, we identify open questions and lessons learned.
翻译:机器人系统是复杂且对安全性要求极高的软件系统。因此,它们需要进行彻底的测试。然而,与传统软件相比,机器人软件本质上难以测试,这主要是因为软件需要与硬件紧密交互、考虑操作环境的不确定性、处理干扰并实现高度自主运行。鉴于机器人运行环境的广阔性,在设计测试时预测可能的故障具有挑战性。本文通过梳理机器人测试相关文献并将其与软件测试理论相关联,开展了一项系统性映射研究。我们分析了247篇机器人测试论文,将其映射至软件测试领域,通过示例阐述了机器人学中软件测试的最新进展,并探讨了当前面临的挑战。本研究旨在为机器人学与软件工程学界介绍软件测试的核心挑战奠定基础。最后,我们提出了若干开放性问题并总结了经验教训。