We use cookies to improve your experience with our site.
戚晓芳, 王子元, 茆俊强, 汪鹏. 基于组合策略的Web应用自动化测试[J]. 计算机科学技术学报, 2017, 32(1): 199-210. DOI: 10.1007/s11390-017-1699-x
引用本文: 戚晓芳, 王子元, 茆俊强, 汪鹏. 基于组合策略的Web应用自动化测试[J]. 计算机科学技术学报, 2017, 32(1): 199-210. DOI: 10.1007/s11390-017-1699-x
Xiao-Fang Qi, Zi-Yuan Wang, Jun-Qiang Mao, Peng Wang. Automated Testing of Web Applications Using Combinatorial Strategies[J]. Journal of Computer Science and Technology, 2017, 32(1): 199-210. DOI: 10.1007/s11390-017-1699-x
Citation: Xiao-Fang Qi, Zi-Yuan Wang, Jun-Qiang Mao, Peng Wang. Automated Testing of Web Applications Using Combinatorial Strategies[J]. Journal of Computer Science and Technology, 2017, 32(1): 199-210. DOI: 10.1007/s11390-017-1699-x

基于组合策略的Web应用自动化测试

Automated Testing of Web Applications Using Combinatorial Strategies

  • 摘要: 基于动态扩展的Web应用测试技术可自动执行所有可能的用户接口元素,近年来,在对Web应用进行充分测试的过程中得到广泛应用。现有基于动态扩展的Web应用测试工具主要处理客户端脚本问题,不能有效地获取因表单交互产生的动态页面,致使其测试不够充分。为此,本文提出一种带约束的两两组合测试算法(PTC),使用组合策略对表单进行充分测试,进而构建一个较完整的Web应用自动测试模型。PTC算法实现了两两组合覆盖,并对语义约束和参数非法值进行了处理。在此基础上,我们实现了原型工具ComjaxTest,在五个Web应用上进行了实验研究。结果表明,与简单两两组合测试相比,PTC算法可生成较少的表单测试用例,同时获得更高的动态页面覆盖率。与现有的基于动态扩展的Web应用自动化测试工具相比,ComjaxTest在合理的时间内可构建更完整的Web应用测试模型,探测出更多的程序错误。

     

    Abstract: 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.

     

/

返回文章
返回