Automated test execution scheduling is crucial in modern software development environments, where components are frequently updated with changes that impact their integration with hardware systems. Building test schedules, which focus on the right tests and make optimal use of the available resources, both time and hardware, under consideration of vast requirements on the selection of test cases and their assignment to certain test execution machines, is a complex optimization task. Manual solutions are time-consuming and often error-prone. Furthermore, when software and hardware components and test scripts are frequently added, removed or updated, static test execution scheduling is no longer feasible and the motivation for automation taking care of dynamic changes grows. Since 2012, our work has focused on transferring technology based on constraint programming for automating the testing of industrial robotic systems at ABB Robotics. After having successfully transferred constraint satisfaction models dedicated to test case generation, we present the results of a project called DynTest whose goal is to automate the scheduling of test execution from a large test repository, on distinct industrial robots. This paper reports on our experience and lessons learned for successfully transferring constraint-based optimization models for test execution scheduling at ABB Robotics. Our experience underlines the benefits of a close collaboration between industry and academia for both parties.
翻译:自动化测试执行调度在现代软件开发环境中至关重要,其中组件频繁更新,这些变更会影响其与硬件系统的集成。构建测试调度方案时,需聚焦于正确的测试,并在考虑测试用例选择及其分配到特定测试执行机器的广泛要求下,优化利用可用资源(包括时间和硬件),这是一项复杂的优化任务。人工解决方案既耗时又易出错。此外,当软件和硬件组件及测试脚本频繁添加、删除或更新时,静态测试执行调度不再可行,自动化处理动态变化的需求随之增强。自2012年起,我们的工作聚焦于基于约束规划技术的迁移,以实现ABB机器人公司工业机器人系统的自动化测试。在成功迁移专用于测试用例生成的约束满足模型后,我们介绍了名为DynTest的项目成果,其目标是从大型测试仓库中自动化调度在不同工业机器人上的测试执行。本文报告了我们在ABB机器人公司成功迁移基于约束的优化模型用于测试执行调度的经验与教训。我们的经验凸显了工业界与学术界紧密合作对双方的益处。