摘要:
Web应用具有动态性、运行的复杂性和用户使用的多样性等特点,迫切需要自动化测试方法和工具的支持,以满足其充分和频繁测试的需求,提高Web应用的质量和生产率。现有的Web应用自动化测试工具未对表单数据以及Web应用状态进行有效地处理,存在测试不够充分和效率不高等问题。本文将基于约束的表单数据生成方法应用到Web应用表单测试中,提高了Web应用导航图的覆盖率。为此,本文提出一种基于约束的表单二维组合测试算法。另外,本文提出一种基于AJAX技术的Web应用程序的自动化测试方法框架。该框架通过深度优先搜索方法逐步构建Web应用导航图。根据导航图,指导自动化测试过程,并生成测试用例集。为了避免Web应用状态空间爆炸,本文提出一种Web应用状态相似性算法。同时,本文对Web应用状态中的噪声信息和相似元素进行分析和处理,减少不必要的路径搜索。在已有的工作基础上,本文实现了基于AJAX技术的Web应用自动化测试工具ComjaxTest,并对八个Web应用对象进行实验研究。实验结果表明,ComjaxTest对Web应用导航图的节点和边的覆盖率分别可以达到79.68%和70.29%,高于现有工具Crawljax的66.31%和64.16%。在表单提交结果覆盖方面,ComjaxTest考虑了基于约束的二维组合方法,覆盖率达100%,远高于Crawljax的57.89%。该方法不仅提高了Web应用导航图的覆盖率,也提高了ComjaxTest的探测错误能力。
展开