[发明专利]一种基于采集回放的软件测试方法和系统在审
申请号: | 202010807081.1 | 申请日: | 2020-08-12 |
公开(公告)号: | CN112115042A | 公开(公告)日: | 2020-12-22 |
发明(设计)人: | 陈琴;赵红艳;邓水光 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 邱启旺 |
地址: | 310058 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 采集 回放 软件 测试 方法 系统 | ||
本发明公开了一种基于采集回放的软件测试方法和系统,该测试方法包括:采集客户端对用户请求进行数据采集、脱敏和上传;数据处理器对采集的数据进行接收、解析、建模和存储;推荐引擎将采集的海量数据,根据业务模型和数据特征转化为精简的测试用例;回放触发器向测试系统发送批量测试任务,并回收用例运行结果。采集客户端采集的数据包,包含入口请求的入参、返回值和全部对外依赖的出入参;回放客户端可以直接使用采集的数据包,不需要人工干预和外部依赖即可自动执行测试。通过使用这种软件测试方法,大幅降低了测试用例的构造成本,提高了测试有效性和确定性,提升了软件的质量和稳定性,加速了软件开发周期。
技术领域
本发明属于软件测试领域,尤其涉及一种基于采集回放的软件测试方法和系统。
背景技术
随着互联网的快速发展,用户对软件系统的质量要求越来越高,系统需要时刻提供稳定的服务。软件正式发布之前,软件开发商必须通过完整的回归测试,保证新发布的软件版本,不对提供的现有服务造成不良影响。
但是随着软件系统规模越来越大,需要回归的业务场景范围也越来越大,回归的场景达到了几万甚至更多。手工测试不能满足执行效率的要求;常规的自动化手段在用例构造成本较高,其执行的稳定性也不能满足高频回归高频发布的需要,从而影响软件的开发效率和发布质量。在现有的软件测试过程中,具体存在以下缺陷:
(1)测试人员必须通过编写测试用例从而进行自动化验证。虽然当测试用例编写完成后,即可进行自动化执行,但是为每种测试场景单独编写用例,其测试设计成本和编码成本,都需要专业测试人员耗费大量人工时间和精力。现有代码织入方案需要在业务代码内增加代码或配置,对业务系统代码有侵入。
(2)由于测试用例的编写成本和编写门槛比较高,因此测试用例常出现的问题是覆盖场景不够丰富,容易出现测试遗漏。
(3)测试用例的执行是单任务单线程的,执行效率较低,测试人员需要等待较长时间才能获取到用例的执行结果。另外由于测试环境比较复杂,测试用例不一定能准确地在部署了测试代码的机器上运行,测试人员需要反复检查,同样也耗费大量的时间成本。
(4)自动化测试用例执行,会发生中间件调用,这样就会对外部数据和外部系统造成依赖,使测试用例的执行不够稳定,经常会因为外部数据的状态变化或外部系统的变化,导致用例运行不符合预期或不能及时发现问题。
发明内容
本发明的目的在于针对现有技术的不足,提供一种基于采集回放的软件测试方法和系统。
本发明的目的是通过以下技术方案来实现的:一种基于采集回放的软件测试系统,所述系统包括:
采集客户端:对用户请求进行数据采集、脱敏和上传;
数据处理器:对采集的数据进行接收、解析、建模和存储;
推荐引擎:将采集的海量数据,根据业务模型和数据特征转化为精简的测试用例;
回放执行引擎:向测试系统发送批量测试任务,并回收用例运行结果,生成测试报告。
进一步地,采集客户端随应用生产阶段部署,通过接口读取应用采集配置信息,在入口、指定方法和中间件方法接口处,使用字节码增强技术进行动态代码插桩,在用户请求中,同步记录请求的出入参、外部系统调用的入参和返回值,组装成数据包;异步地对数据包的数据进行脱敏和加密处理,脱敏处理去除业务敏感或用户隐私信息,加密处理对采集的数据包进行数据保护;对脱敏和加密后的数据,异步通过websocket或消息中间件,将数据包上传至系统服务端。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010807081.1/2.html,转载请声明来源钻瓜专利网。