Web应用前后端融合的遗传算法并行化测试用例生成
作者:
作者简介:

王微微(1990-),女,河北沧州人,博士生,CCF学生会员,主要研究领域为软件测试,Web应用测试,基于搜索的测试用例生成;李奕超(1997-),男,学士,主要研究领域为软件测试;赵瑞莲(1964-),女,博士,教授,博士生导师,CCF高级会员,主要研究领域为软件测试,软件可靠性;李征(1974-),男,博士,教授,博士生导师,CCF高级会员,主要研究领域为基于搜索的软件工程,软件测试,源代码分析.

通讯作者:

赵瑞莲,E-mail:rlzhao@mail.buct.edu.cn

基金项目:

国家自然科学基金(61672085,61702029,61872026)


Parallel Test Case Generation Based on Front and Back End of Web Applications with Genetic Algorithm
Author:
Fund Project:

National Natural Science Foundation of China (61672085, 61702029, 61872026)

  • 摘要
  • | |
  • 访问统计
  • |
  • 参考文献 [35]
  • |
  • 相似文献 [20]
  • | | |
  • 文章评论
    摘要:

    Web应用测试用例生成并行化是提升Web应用测试生成效率的一个有效手段.Web应用的前后端分离、事件驱动等特性,导致传统的并行化技术难以直接应用于Web应用的测试用例自动生成中.因此,如何针对Web应用进行并行化测试用例生成,是一项具有挑战性的工作.将种群并行化计算引入到基于遗传算法的Web应用前后端融合的测试用例生成中,通过线程池及调度逻辑设计、多浏览器进程管理及后端覆盖路径获取,实现种群个体在多浏览器上的并行化执行及基于后端路径覆盖的适应度值并行化计算,以更高效地生成Web应用的测试用例.实验结果表明:相对于Web应用的GA串行化测试用例生成方法,所提的并行化测试生成方法能够更充分地利用系统资源,极大地提升Web应用测试用例的生成效率.

    Abstract:

    Parallelization of test case generation for Web applications is an effective way to improve the efficiency of test generation. Due to the characteristics of front-back end separation and event-driven of Web applications, the traditional parallelization technology is difficult to be applied to automatic test case generation of Web applications. Therefore, it becomes a challenging task to parallelize test case generation for Web applications. In this study, parallelized computing is introduced into the test case generation for Web applications based on GA. By means of the design of thread pool and scheduling logic, the management of the multi-browser process and the acquisition of the path coverage of back end code, the parallel execution of individuals on multiple browsers and the parallel computation of fitness values based on the back end path coverage are realized, making test case generation more efficiently. The experiment results show that compared with GA serialization test case generation, the proposed parallelization method can make full use of system resources and greatly improve the efficiency of test case generation for Web applications.

    参考文献
    [1] CNNVD. Information Security Vulnerability Report. Vol.473, Beijing: China Information Technology Security Evaluation Center, 2019(in Chinese with English abstract).
    [2] Doğan S, Betin-Can A, Garousi V. Web application testing: A systematic literature review. Journal of Systems and Software, 2014, 91:174-201.
    [3] Lee TK, Wei KT, Ghani AAA. Systematic literature review on effort estimation for open sources (OSS) Web application development. In: Proc. of the 2016 Future Technologies Conf. (FTC). San Francisco: IEEE, 2016. 1158-1167.
    [4] Schur M, Roth A, Zeller A. Mining workflow models from Web applications. IEEE Trans. on Software Engineering, 2015,41(12): 1-1.
    [5] Alimadadi S, Sequeira S, Mesbah A, Pattabiraman K. Understanding JavaScript event-based interactions. In: Proc. of the Int’l Conf. on Software Engineering. Hyderabad: ACM, 2014. 367-377.
    [6] Avancini A, Ceccato M. Security testing of Web applications: A search-based approach for cross-site scripting vulnerabilities. In: Proc. of the 2011 IEEE 11th Int’l Working Conf. on Source Code Analysis and Manipulation. Williamsburg: IEEE, 2011. 85-94.
    [7] Zhao RL, Lyu MR, Min YH. Automatic string test data generation for detecting domain errors. Software Testing, Verification and Reliability, 2010,20(3):209-236.
    [8] Li YF, Das PK, Dowe DL. Two decades of Web application testing—A survey of recent advances. Information Systems, 2014,43: 20-54.
    [9] Alshahwan N, Harman M. Automated Web application testing using search based software engineering. In: Proc. of the 26th IEEE/ ACM Int’l Conf. on Automated Software Engineering. Lawrence: IEEE, 2011. 3-12.
    [10] Ahmed MA, Ali F. Multiple-path testing for cross site scripting using genetic algorithms. Journal of Systems Architecture, 2016,64: 50-62.
    [11] Marashdih AW, Zaaba ZF, Omer HK. Web security: Detection of cross site scripting in PHP Web application using genetic algorithm. Int’l Journal of Advanced Computer Science and Applications (IJACSA), 2017,8(5):64-75.
    [12] Wang WW, Guo XH, Li Z, Zhao RL. Test case generation based on client-server of Web applications by memetic algorithm. In: Proc. of the 2019 IEEE 29th Int’l Symp. on Software Reliability Engineering (ISSRE). Berlin: IEEE, 2019. 206-217.
    [13] Guo XH. Sensitive paths oriented automatic test cases generation for Web applications based on client EFSM [MS. Thesis]. Beijing: Beijing University of Chemical Technology, 2018(in Chinese with English abstract).
    [14] Wang WW, Guo JX, Li Z, Zhao RL. EFSM-oriented minimal traces set generation approach for Web applications. In: Proc. of the 2018 IEEE 42nd Annual Computer Software and Applications Conf. (COMPSAC). Tokyo: IEEE, 2018. 12-21.
    [15] Ahmad SG, Liew CS, Munir EU, Ang TF, Khan SU. A hybrid genetic algorithm for optimization of scheduling workflow applications in heterogeneous computing systems. Journal of Parallel and Distributed Computing, 2016,87:80-90.
    [16] Roberge V, Tarbouchi M, Labonté G. Comparison of parallel genetic algorithm and particle swarm optimization for real-time UAV path planning. IEEE Trans. on Industrial Informatics, 2012,9(1):132-141.
    [17] Di Geronimo L, Ferrucci F, Murolo A, Sarro F. A parallel genetic algorithm based on Hadoop MapReduce for the automatic generation of JUnit test suites. In: Proc. of the 5th IEEE Int’l Conf. on Software Testing, Verification and Validation. Montreal: IEEE, 2012. 785-793.
    [18] Chen JC, Xue YZ, Zhao C. Approach for GUI testing based on event handler function. Ruan Jian Xue Bao/Journal of Software, 2013,24(12):2830-2842(in Chinese with English abstract). http://www.jos.org.cn/1000-9825/4399.htm [doi: 10.3724/SP.J.1001. 2013.04399]
    [19] Medeiros I, Neves N, Correia M. Detecting and removing Web application vulnerabilities with static analysis and data mining. IEEE Trans. on Reliability, 2015,65(1):1-16.
    [20] Lebeau F, Legeard B, Peureux F, Vernotte A. Model-based vulnerability testing for Web applications. In: Proc. of the 6th Int’l Conf. on Software Testing, Verification and Validation Workshops (ICSTW). Luxembourg: IEEE, 2013. 446-452.
    [21] Marchetto A, Tonella P, Ricca F. State-based testing of Ajax Web applications. In: Proc. of the 20081st Int’l Conf. on Software Testing, Verification, and Validation. Lillehammer: IEEE, 2008. 121-130.
    [22] Alimadadi S, Sequeira S, Mesbah A, et al. Understanding JavaScript event-based interactions with clematis. ACM Trans. on Software Engineering and Methodology, 2016,25(2):12.1-12.38.
    [23] Alimadadi S. Understanding behavioural patterns in JavaScript. In: Proc. of the ACM Sigsoft Int’l Symp. on Foundations of Software Engineering. Seattle: ACM, 2016. 1076-1078.
    [24] Xue YX, Wang JJ, Liu Y, Xiao H, Sun J, Chandramohan M. Detection and classification of malicious JavaScript via attack behavior modelling. In: Proc. of the 2015 Int’l Symp. on Software Testing and Analysis. Baltimore: ACM, 2015. 48-59.
    [25] Jan S, Nguyen CD, Arcuri A, Briand L. A search-based testing approach for XML injection vulnerabilities in Web applications. In: Proc. of the 2017 IEEE Int’l Conf. on Software Testing, Verification and Validation (ICST). Tokyo: IEEE, 2017. 356-366.
    [26] Elyasov A, Prasetya I, Hage J. Search-based test data generation for JavaScript functions that interact with the DOM. In: Proc. of the 2018 IEEE 29th Int’l Symp. on Software Reliability Engineering (ISSRE). Memphis: IEEE, 2018. 88-99.
    [27] Mirshokraie S, Mesbah A, Pattabiraman K. JSEFT: Automated Javascript unit test generation. In: Proc. of the IEEE Int’l Conf. on Software Testing. Graz: IEEE, 2015. 1-10.
    [28] Thomé J, Gorla A, Zeller A. Search-based security testing of Web applications. In: Proc. of the 7th Int’l Workshop on Search- based Software Testing. Hyderabad: ACM, 2014. 5-14.
    [29] Nugroho ED, Wibowo ME, Pulungan R. Parallel implementation of genetic algorithm for searching optimal parameters of artificial neural networks. In: Proc. of the Int’l Conf. on Science & Technology-Computer. Yogyakarta: IEEE, 2017. 136-141.
    [30] Qi RZ, Wang ZJ, Li SY. A parallel genetic algorithm based on spark for pairwise test suite generation. Journal of Computer Science and Technology, 2016,31(2):417-427.
    [31] Gong DW, Tian T, Yao XJ. Grouping target paths for evolutionary generation of test data in parallel. Journal of Systems and Software, 2012,85(11):2531-2540.
    附中文参考文献:
    [1] 国家信息安全漏洞库.信息安全漏洞周报.Vol.473,北京:中国信息安全测评中心,2019.
    [13] 郭小红.面向Web服务器端敏感路径的客户端EFSM测试生成[硕士学位论文].北京:北京化工大学,2018.
    [18] 陈军成,薛云志,赵琛.一种基于事件处理函数的GUI测试方法.软件学报,2013,24(12):2830-2842. http://www.jos.org.cn/1000-9825/4399.htm [doi: 10.3724/SP.J.1001.2013.04399]
    引证文献
    网友评论
    网友评论
    分享到微博
    发 布
引用本文

王微微,李奕超,赵瑞莲,李征. Web应用前后端融合的遗传算法并行化测试用例生成.软件学报,2020,31(5):1314-1331

复制
分享
文章指标
  • 点击次数:3076
  • 下载次数: 6801
  • HTML阅读次数: 3478
  • 引用次数: 0
历史
  • 收稿日期:2019-09-01
  • 最后修改日期:2019-10-24
  • 在线发布日期: 2020-04-09
  • 出版日期: 2020-05-06
文章二维码
您是第19831126位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京市海淀区中关村南四街4号,邮政编码:100190
电话:010-62562563 传真:010-62562533 Email:jos@iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号