Automated Testing of Web Applications Using Combinatorial Strategies

Automated Testing of Web Applications Using Combinatorial Strategies
复制标题

DOI:
10.1007/s11390-017-1699-x
复制
发表时间:
2017-01
影响因子:
0.7
通讯作者:
Xiaofang Qi;Ziyuan Wang;J. Mao;Peng Wang
Xiaofang Qi;Ziyuan Wang;J. Mao;Peng Wang
中科院分区:
--
文献类型:
--
作者:
Xiaofang Qi;Ziyuan Wang;J. Mao;Peng Wang

文献摘要

相似文献

最近,基于动态探索的测试技术被广泛用于促进对Web应用程序的全面测试,这些技术试图自动测试每一个可能的用户界面元素。然而,大多数这样的测试工具在访问由表单交互引起的动态页面方面并不有效,因为它们侧重于处理客户端脚本。在本文中,我们提出了一种组合策略来实现完整形式的测试,并建立了一个自动化的测试模型。我们提出了一种称为带约束的成对测试(PTC)的算法来实现该策略。我们的PTC算法使用成对覆盖,并处理了语义约束和非法值问题。我们已经实现了一个原型工具ComjaxTest,并对五个Web应用程序进行了实证研究。实验结果表明,与一般的成对测试算法相比,该算法生成的表单测试用例更少,动态页面覆盖率更高。此外,与其他基于动态探索的现有工具相比,我们的ComjaxTest生成了一个相对完整的测试模型,然后在合理的时间内检测到更多的故障。
Recently, testing techniques based on dynamic exploration, which try to automatically exercise every possible user interface element, have been extensively used to facilitate fully testing web applications. Most of such testing tools are however not effective in reaching dynamic pages induced by form interactions due to their emphasis on handling client-side scripting. In this paper, we present a combinatorial strategy to achieve a full form test and build an automated test model. We propose an algorithm called pairwise testing with constraints (PTC) to implement the strategy. Our PTC algorithm uses pairwise coverage and handles the issues of semantic constraints and illegal values. We have implemented a prototype tool ComjaxTest and conducted an empirical study on five web applications. Experimental results indicate that our PTC algorithm generates less form test cases while achieving a higher coverage of dynamic pages than the general pairwise testing algorithm. Additionally, our ComjaxTest generates a relatively complete test model and then detects more faults in a reasonable amount of time, as compared with other existing tools based on dynamic exploration.