论文部分内容阅读
Web应用测试是保证Web应用质量的重要手段。基于动态搜索的Web应用测试通过动态搜索Web应用的用户接口状态空间,实现Web应用的自动化测试。现有的基于动态搜索的Web应用测试具有较高的自动化程度,但在状态空间搜索方面,大多采用“穷尽搜索”的方式,易陷于局部或不相关的状态空间搜索,难以在有限的测试资源内进行有效的Web应用测试。本文提出了一种基于页面元素特征引导的Web应用状态空间搜索策略。该策略通过机器学习方法,分析Web应用可以触发主要功能状态的事件,并提取其位置、大小等空间特征和图片链接等内容特征进行训练,构造事件重要性的预测模型。给定搜索时间,该策略在搜索过程中,利用此预测模型对可点击事件进行重要性评估,优先寻找并搜索Web应用中的重要功能,并生成Web应用的用户接口状态流图(SFG)的一个子图作为测试模型,生成Web应用测试用例集。在上述工作的基础上,本文实现了基于页面元素特征引导的搜索策略开发了相应的Web应用自动化测试工具PefjaxTest,并对八个开源Web应用进行实验研究。实验结果表明,在给定时间内,PefjaxTest可对Web应用主要功能实现有效的覆盖,与深度优先、广度优先和Feedex工具相比,对主要功能状态的覆盖率分别提升了 10.1%、11.6%和10.6%,对主要功能边的覆盖率分别提升了 10.0%、16.6%和14.7%。与其他策略相比,PefjaxTest生成了更小的测试模型以及测试用例集。