[发明专利]一种应用测试方法、装置、代理服务器和系统有效
申请号: | 201910690397.4 | 申请日: | 2019-07-29 |
公开(公告)号: | CN110427323B | 公开(公告)日: | 2022-12-02 |
发明(设计)人: | 张慧吉;叶明登;施晓东;何宇 | 申请(专利权)人: | 天津车之家数据信息技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京思睿峰知识产权代理有限公司 11396 | 代理人: | 谢建云;赵爱军 |
地址: | 300467 天津市生态城动漫中路126号动漫*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用 测试 方法 装置 代理服务器 系统 | ||
本发明公开了一种应用测试方法,适于在代理服务器中执行,该方法包括步骤:接收客户端发送的对目标应用中某页面的页面启动请求,该页面启动请求包括本次启动的唯一任务标识和一个或多个接口请求;拦截各接口请求的响应内容,每个响应内容包括多个字段,且该多个字段具有层级关系;按照预定规则对每个响应内容中的同一层字段统一修改为某一类型的边界值,并将修改后的响应值返回给客户端进行运行;以及从客户端上报的故障信息中判断该唯一任务标识是否有对应的故障信息,若有,则将该故障信息和对应的响应值进行自动关联。本发明还一并公开了对应的应用测试装置和系统。
技术领域
本发明涉及自动化测试领域,尤其涉及一种应用测试方法、装置、代理服务器和系统。
背景技术
随着智能移动终端的日益普及,越来越多的开发者投入到移终端设备的应用开发中,而应用测试是应用开发过程中不可或缺的重要环节。通过应用测试可以了解应用是否存在错误,其运行过程或运行结果是否符合预期要求。健壮性测试作为一种应用测试,主要用于测试系统在出现故障时,是否能够自动恢复或者忽略故障继续运行。
应用的健壮性测试通常有两种方式。一种是编写单元测试,如安卓通过PowerMock等第三方开源框架对网络请求方法进行mock。但是单元测试只适合对于界面上下文依赖小的代码,对于强依赖上下文的如Activity,Service等组件中的方法,其特点是大部分为私有方法且与其生命周期相关,无法直接进行单元测试。而且这种方式的成本比较高,需要深入代码逻辑。另一种是通过如Charles、Fiddle等的抓包工具来实现抓包mock数据,需要人工对接口中的字段一一修改进行mock,成本很高,而且应用一般会同时请求多个接口,人工进行mock容易超过应用请求时长,一旦少一个多一个引号或逗号都会导致出错,而且当发现问题后需要人工将mock的值和场景记录下来,bug记录成本很高,不易归档。
发明内容
鉴于上述问题,本发明提出了一种应用测试方法、装置、代理服务器和系统,以力图解决或者至少解决上面存在的问题。
根据本发明的一个方面,提供了一种应用测试方法,适于在代理服务器中执行,该方法包括步骤:接收客户端发送的对目标应用中某页面的页面启动请求,该页面启动请求包括本次启动的唯一任务标识和一个或多个接口请求;拦截各接口请求的响应内容,每个响应内容包括多个字段,且所述多个字段具有层级关系;按照预定规则对每个响应内容中的同一层字段统一修改为某一类型的边界值,并将修改后的响应值返回给客户端进行运行;以及从客户端上报的故障信息中判断所述唯一任务标识是否有对应的故障信息,若有,则将该故障信息和对应的响应值进行自动关联。
可选地,在根据本发明的应用测试方法中,边界值的类型包括以下至少一种:随机字符串、超长字符串、特殊字符串、整型、单精度浮点型、双精度浮点型、时间、数组、布尔型、url、邮箱、IP、图片、表情、空数组、空对象、null、undefined。
可选地,在根据本发明的应用测试方法中,预定规则包括:逐层修改每个响应内容的字段,每次修改所有响应内容的同一层字段,且每次将该层字段修改为同一种类型的边界值;以及当将一层字段的所有类型的边界值遍历完毕后,再修改所有响应内容的下一层字段。
可选地,在根据本发明的应用测试方法中,将修改后的响应值返回给客户端后,还包括步骤:将本次启动的唯一任务标识、页面标识、所修改的层级和边界值类型、设备标识和运行开始时间发送到消息队列中,此时认为完成了一次页面测试任务。
可选地,在根据本发明的应用测试方法中,目标应用包括多个页面标识,该方法还包括步骤:每完成一次页面测试任务后,清理目标应用的测试环境,并进行其他页面标识或其他层级或其他边界值类型的页面测试任务,直至完成了所有页面标识下所有层级的所有边界值类型的页面测试任务。
可选地,在根据本发明的应用测试方法中,页面启动请求通过schema方式发送,且每个响应内容的字段最多被划分为十个层级。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津车之家数据信息技术有限公司,未经天津车之家数据信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910690397.4/2.html,转载请声明来源钻瓜专利网。