Skip to main content
QUICK REVIEW

[论文解读] Practical Model-driven Data Generation for System Testing.

Ghanem Soltana, Mehrdad Sabetzadeh|arXiv (Cornell University)|Feb 1, 2019
Software Testing and Debugging Techniques被引用 8
一句话总结

本文提出了一种混合模型驱动方法,结合元启发式搜索与满足逻辑模理论(SMT)技术,以生成适用于系统级测试的复杂、满足约束条件的测试数据。通过利用UML/OCL模型,并将任务委派以发挥两种技术的互补优势,该方法在工业案例研究中相比现有方法展现出更优的可扩展性和适用性。

ABSTRACT

The ability to generate test data is often a necessary prerequisite for automated software testing. For the generated data to be fit for its intended purpose, the data usually has to satisfy various logical constraints. When testing is performed at a system level, these constraints tend to be complex and are typically captured in expressive formalisms based on first-order logic. Motivated by improving the feasibility and scalability of data generation for system testing, we present a novel approach, whereby we employ a combination of metaheuristic search and Satisfiability Modulo Theories (SMT) for constraint solving. Our approach delegates constraint solving tasks to metaheuristic search and SMT in such a way as to take advantage of the complementary strengths of the two techniques. We ground our work on test data models specified in UML, with OCL used as the constraint language. We present tool support and an evaluation of our approach over three industrial case studies. The results indicate that, for complex system test data generation problems, our approach presents substantial benefits over the state of the art in terms of applicability and scalability.

研究动机与目标

  • 解决为系统级软件测试生成复杂、满足约束条件的测试数据的挑战。
  • 提升在具有复杂逻辑约束的工业规模系统中测试数据生成的可行性与可扩展性。
  • 以互补方式整合元启发式搜索与SMT求解,以克服单一技术的局限性。
  • 支持基于UML类图与OCL不变式来生成测试数据,以实现对现实系统建模的支撑。
  • 在真实工业案例研究中评估该方法,以证明其实际适用性与性能提升。

提出的方法

  • 该方法使用UML类图作为结构模型,OCL作为约束语言以指定逻辑不变式。
  • 根据问题特征与计算效率,将约束求解任务在元启发式搜索与SMT求解器之间动态委派。
  • 元启发式搜索用于探索搜索空间,以寻找可行的测试数据配置,尤其适用于非线性或复杂约束。
  • SMT求解器用于高效验证与求解以一阶逻辑与理论表达的可判定逻辑约束。
  • 系统通过将易处理的约束委派给SMT,将复杂且组合性高的部分交由元启发式方法,实现工作负载的动态平衡。
  • 已实现工具支持,以自动化从UML/OCL模型到具体测试数据实例的生成流程。

实验结果

研究问题

  • RQ1结合元启发式搜索与SMT求解的混合方法是否能有效生成用于系统级测试的复杂测试数据?
  • RQ2与现有方法相比,该方法在可扩展性与约束满足覆盖率方面表现如何?
  • RQ3元启发式搜索与SMT的互补优势在多大程度上提升了复杂现实测试数据生成的可行性?
  • RQ4该方法在工业环境中处理UML模型上以OCL表达的复杂约束时,效果如何?
  • RQ5该方法在多种工业案例研究中的性能与适用性如何?

主要发现

  • 所提方法在复杂系统测试数据生成的可扩展性方面优于现有最先进技术。
  • 元启发式搜索与SMT的混合使用有效应对了组合搜索与可判定逻辑约束的双重挑战。
  • 该方法在全部三个工业案例研究中均实现了高约束满足率,证明了其实际适用性。
  • 将UML与OCL模型与自动化测试数据生成相结合,在真实、大规模系统测试场景中被证明是有效的。
  • 评估结果表明,与纯SMT或纯元启发式方法相比,该方法在测试数据生成时间和成功率方面均有显著提升。
  • 该方法在涉及复杂对象间约束的场景中尤为有效,这些约束难以通过单一技术表达或求解。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。