Skip to main content
QUICK REVIEW

[论文解读] Morphy: A Datamorphic Software Test Automation Tool

Hong Zhu, Ian Bayley|arXiv (Cornell University)|Dec 20, 2019
Software Testing and Debugging Techniques参考文献 24被引用 6
一句话总结

本文介绍了 Morphy,一种测试自动化工具,将软件测试形式化为测试实体与测试态射(test morphisms)的组合——即对这些实体的变换。通过支持通过数据态射组合实现的自动化测试生成、执行与策略组合,Morphy 为传统软件和人工智能应用提供了可重用、可组合且可脚本化的测试方法,如三个案例研究所示,包括人脸识别。

ABSTRACT

This paper presents an automated tool called Morphy for datamorphic testing. It classifies software test artefacts into test entities and test morphisms, which are mappings on testing entities. In addition to datamorphisms, metamorphisms and seed test case makers, Morphy also employs a set of other test morphisms including test case metrics and filters, test set metrics and filters, test result analysers and test executers to realise test automation. In particular, basic testing activities can be automated by invoking test morphisms. Test strategies can be realised as complex combinations of test morphisms. Test processes can be automated by recording, editing and playing test scripts that invoke test morphisms and strategies. Three types of test strategies have been implemented in Morphy: datamorphism combination strategies, cluster border exploration strategies and strategies for test set optimisation via genetic algorithms. This paper focuses on the datamorphism combination strategies by giving their definitions and implementation algorithms. The paper also illustrates their uses for testing both traditional software and AI applications with three case studies.

研究动机与目标

  • 为解决使用传统方法难以且昂贵地测试人工智能应用的挑战。
  • 实现测试组件(如种子测试用例生成器、数据态射、元态射)在不同软件项目间的可重用性与可组合性。
  • 通过记录、编辑与回放由态射调用构成的测试脚本,提供一种自动化完整测试流程的框架。
  • 通过结构化工具扩展数据态射测试范式,支持测试策略组合与多样化测试技术的集成。
  • 通过真实世界案例研究,证明该方法在传统软件与基于人工智能的系统中的适用性。

提出的方法

  • 该框架将测试工件分类为测试实体(如测试用例、测试套件、被测程序)与测试态射——在实体之间映射的函数。
  • 测试态射包括种子测试用例生成器、数据态射(数据变换)、元态射(正确性断言)以及过滤器、度量标准与执行器等辅助态射。
  • 测试策略通过态射的复合组合实现,包括数据态射组合策略、簇边界探索与基于遗传算法的测试集优化。
  • 测试流程通过脚本功能实现自动化,该功能通过图形用户界面记录并回放态射与策略调用的序列。
  • 通过将现有测试技术(如模糊测试、变异测试、组合测试与基于模型的生成)封装为态射,实现与工具的集成。
  • 该实现支持声明式测试规范,即通过图形用户界面或脚本声明并执行态射,实现高级别的测试流程自动化。

实验结果

研究问题

  • RQ1如何通过将测试工件抽象为可重用的实体与态射,实现对多样化软件系统(尤其是人工智能应用)的测试自动化?
  • RQ2测试态射以何种方式可被组合,以形成提升测试覆盖率与有效性的复杂测试策略?
  • RQ3如何通过记录与回放态射与策略调用的序列,实现测试流程的自动化?
  • RQ4现有测试技术在多大程度上可被封装为态射,并集成到统一的测试框架中?
  • RQ5数据态射组合策略在为传统软件与基于人工智能的软件生成有意义测试数据方面,效果如何?

主要发现

  • Morphy 通过图形用户界面驱动的态射调用,成功实现了基本测试活动的自动化,使非专家用户无需编写代码即可执行测试。
  • 该工具通过态射的模块化组合支持测试策略的创建与重用,显著提升了测试代码的可重用性与可组合性。
  • 从交互会话中记录的测试脚本可实现测试流程的完全自动化,包括测试集管理、执行与结果分析。
  • 数据态射组合策略在三个案例研究中得到有效应用:三角形分类、三角函数与人脸识别,证明其在多样化领域中的实用性。
  • 将现有测试技术(如随机测试、变异测试与组合测试)封装为 Morphy 中的态射,实现了统一且可扩展的测试环境。
  • 人脸识别案例研究显示,Morphy 能够有效利用现有测试数据与态射来验证人工智能模型行为,支持回归测试与质量保证。

更好的研究,从现在开始

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

无需绑定信用卡

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