中国科学院机构知识库网格
Chinese Academy of Sciences Institutional Repositories Grid
面向Web应用的回归测试选择工具设计与实现

文献类型:学位论文

作者敖泽柳
学位类别硕士
答辩日期2021-05
授予单位中国科学院研究生院
授予地点北京
导师窦文生
关键词软件测试 回归测试 回归测试选择 Web测试
学位专业计算机软件与理论
中文摘要

回归测试是保障软件质量的关键环节。随着软件的不断迭代,积累的测试用例越来越多,进行回归测试的成本不断增加,这对软件研发效率产生了极大影响。回归测试选择通过分析代码变动,只运行被代码变动影响的测试,减少需要执行的测试,从而提高回归测试的效率。当前的回归测试选择技术主要是面向单元测试,在应用于端到端Web应用测试上时,主要面临以下两方面的问题。首先,多个Web测试用例的执行往往使用相同的服务器实例,当测试人员同时执行多个Web测试用例时,现有的技术无法为这些同时运行的Web测试收集依赖信息。其次,在Web应用中存在一些延迟加载的单例对象,这使测试用例可能使用已初始化的对象实例,导致依赖信息收集不完整,进而使回归测试遗漏需要重新执行的测试用例。

为了解决上述问题,本文提出了一种面向Web应用的动态回归测试选择技术。首先,基于分布式链路追踪技术,收集Web服务器在处理Web测试发送的HTTP请求过程中的依赖信息,为并行执行的Web测试依赖收集提供支持。其次,为避免回归测试遗漏需要重新执行的测试用例,进一步提出了对象构造追踪算法,通过记录每个对象构造过程的依赖信息,并为Web测试添加其使用对象构造过程的依赖信息,保障测试用例选择的完备性。实验结果表明,该技术能够在保障用例选择完备性的同时,显著减少Web应用回归测试过程中测试用例的数量,从而大大降低了Web应用回归测试的执行时间,提高Web应用回归测试的效率。

基于上述回归测试选择技术,本文设计并实现了一个面向Web应用的动态回归测试选择工具——WebRTS,提供了测试任务管理,测试选择等功能,能够帮助测试人员进行高效的Web应用回归测试,从而提高Web应用软件的研发效率。

 

英文摘要

Regression testing is a key step to ensure software quality. With the continuous iteration of software, the number of test cases is increasing, and the cost of regression testing will be increasing, which has a great impact on the efficiency of software development. Regression test selection improves the efficiency of regression testing by analyzing code changes and only running tests that are affected by code changes, reducing the number of tests that need to be executed. The current regression test selection technology is mainly applied to unit testing. When it is applied to Web testing, it mainly faces the following two problems. First, multiple Web tests often use the same server instance, and when testers execute multiple Web tests at the same time, existing technologies cannot collect dependencies for each Web test. Second, there are some delayed loaded singletons in Web applications, which make it possible for test cases to use initialized object instances, resulting in the collection of incomplete dependencies, and causing regression test selection to omit test cases that need to be re-executed.

In order to solve the above problems, we propose a dynamic regression test selection technology for Web application. First, based on distributed system tracing technology, it collects the dependencies in the process of Web server processing the HTTP request sent by a Web test, so as to support the dependency collection of parallel Web testing. Second, in order to avoid missing test cases that need to be re-executed in regression tests, we proposes an object construction tracking algorithm to record the dependency information of each object construction process, it then adds the dependencies needed by the used objects for Web tests to ensure the completeness of test case selection. Experiments have shown that this technique can not only guarantee the completeness of use case selection, but also significantly reduce the number of test cases in the regression testing of Web application, thus greatly reducing the execution time of regression testing of Web application and improving the efficiency of regression testing of Web application.

Based on the above regression test selection technology, we design and implement a dynamic regression test selection tool for Web applications, WebRTS, which provides test task management, test selection and other functions, to help testers to conduct convenient and efficient end-to-end regression testing of Web applications, and improve the R&D efficiency of Web application software.

学科主题软件开发环境与开发技术 ; 软件工程
语种中文
源URL[http://ir.iscas.ac.cn/handle/311060/19332]  
专题软件研究所_软件工程技术研究开发中心 _学位论文
作者单位中国科学院软件研究所
推荐引用方式
GB/T 7714
敖泽柳. 面向Web应用的回归测试选择工具设计与实现[D]. 北京. 中国科学院研究生院. 2021.

入库方式: OAI收割

来源:软件研究所

浏览0
下载0
收藏0
其他版本

除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。