Model-based testing (MBT) provides an automated approach for finding discrepancies between software models and their implementation. If we want to incorporate MBT into the fast and iterative software development process that is Continuous Integration Continuous Deployment, then MBT must be able to test the entire model in as little time as possible. However, current academic MBT tools either traverse models at random, which we show to be ineffective for this purpose, or use precalculated optimal paths which can not be efficiently calculated for large industrial models. We provide a new traversal strategy that provides an improvement in error-detection rate comparable to using recalculated paths. We show that the new strategy is able to be applied efficiently to large models. The benchmarks are performed on a mix of real-world and pseudo-randomly generated models. We observe no significant difference between these two types of models.
翻译:模型测试是一种自动化方法,用于发现软件模型与其实现之间的差异。如果我们希望将模型测试纳入快速迭代的软件开发流程(即持续集成与持续部署),则模型测试必须能够在尽可能短的时间内测试整个模型。然而,目前的学术模型测试工具要么以随机方式遍历模型,这被证明不适用于此目的,要么使用预先计算的最佳路径,这对于大型工业模型来说无法有效计算。我们提供了一种新的遍历策略,它提供了与使用重新计算路径相当的错误检测率的改进。我们展示了这种新策略能够在大型模型上高效地应用。基准测试是在现实世界和伪随机生成的模型的混合上执行的。我们观察到这两种类型的模型之间没有显着的差异。