【技术实现步骤摘要】
自动化测试方法及系统
本专利技术属于软件测试
,涉及一种测试系统,尤其涉及一种自动化测试方法及系统。
技术介绍
在软件测试过程中,测试人员常常需要通过自动化测试工具来给软件系统做回归测试,以确保软件被修改过的部分不会影响到软件原来已有的功能。同时,故障注入测试作为高可用的测试手段在业界有广泛使用,例如阿里开源的混沌工程,主要目的是发现系统在各层级的故障情况下的可靠性及恢复能力。自动化测试工具研究与实现的主要方式是:在编写动态脚本、配置mock接口的基础上,预设好输入参数及预期结果,对软件接口定时做测试。测试的范围集中于在正常环境中,目标接口的业务功能是否正常。故障注入技术研究与实现的主要方式是:在目标机器上部署好故障注入服务端工具,手工编写注入命令并调用服务端工具。然后服务端工具会收到并解析命令,并将需要注入的故障注入到机器内的软件程序的代码中。在目标软件程序的接口被调用时,会与已注入的故障的触发规则相比较,比较通过则执行故障代码,反之跳过故障代码。自动化测试与故障注入测试各自独立适用于 ...
【技术保护点】
1.一种自动化测试方法,其特征在于,所述自动化测试方法包括:/n步骤S1、编写自动化测试用例的动态脚本指令集并保存到自动化测试系统中;/n步骤S2、自动化测试用例开始执行时,系统生成一个全链路业务标识;/n步骤S3、将全链路标识存储在执行测试用例的线程的上下文中;/n在全链路标识产生后,自动化测试系统将全链路标识存储在执行测试用例的线程的上下文中,后续线程需要使用到所述全链路标识时,从线程的上下文中获取所述全链路标识;/n在测试用例执行过程中,如果发生了接口调用、数据库操作、缓存操作、消息队列操作、文件系统操作,都在操作的请求中传递此全链路标识,服务端在接收到请求时,同样将 ...
【技术特征摘要】
1.一种自动化测试方法,其特征在于,所述自动化测试方法包括:
步骤S1、编写自动化测试用例的动态脚本指令集并保存到自动化测试系统中;
步骤S2、自动化测试用例开始执行时,系统生成一个全链路业务标识;
步骤S3、将全链路标识存储在执行测试用例的线程的上下文中;
在全链路标识产生后,自动化测试系统将全链路标识存储在执行测试用例的线程的上下文中,后续线程需要使用到所述全链路标识时,从线程的上下文中获取所述全链路标识;
在测试用例执行过程中,如果发生了接口调用、数据库操作、缓存操作、消息队列操作、文件系统操作,都在操作的请求中传递此全链路标识,服务端在接收到请求时,同样将标识存储在线程的上下文中,从线程的上下文中获取所述全链路标识;
步骤S4、自动化测试系统解析动态脚本;
步骤S5、自动化测试系统执行动态脚本;
如果动态脚本是故障注入指令,则将指令中的注入参数转换成故障注入命令,与全链路业务标识一并通过数据传输模块传送给故障注入工具,实现通过脚本指令注入故障;
如果动态脚本是远程调用指令,则将当前触发所属的用户、业务标识封装到请求中,再调用远程系统;远程系统收到请求后,采用动态匹配的方式,根据当前触发所属的用户、业务标识来决定是否插入故障。
2.一种自动化测试方法,其特征在于,所述自动化测试方法包括:
步骤S1、编写自动化测试用例的动态脚本指令集并保存;
步骤S2、自动化测试用例开始执行时,系统生成一个全链路业务标识;
步骤S3、将全链路标识存储在执行测试用例的线程的上下文中;
步骤S4、解析动态脚本;
步骤S5、执行动态脚本。
3.根据权利要求2所述的自动化测试方法,其特征在于:
步骤S5中,如果动态脚本是故障注入指令,则将指令中的注入参数转换成故障注入命令,与全链路业务标识一并通过数据传输模块传送给故障注入工具,实现通过脚本指令注入故障。
4.根据权利要求2所述的自动化测试方法,其特征在于:
步骤S5中,如果动态脚本是远程调用指令,则将当前触发所属的用户、业务标识封装到请求中,再调用远程系统;远程系统收到请求后,采用动态匹配的方式,根据当前触发所属的用户、业务标识来决定是否插入故障。
5.根据权利要求2所述的自动化测试方法,其特征在于:
步骤S3中,在全链路标识产生后,自动化测试系统将全链路标识存储在执行测试用例的线程的上下文中,后续线程需要使用到所述全链路标识时,从线程的上下文中获取所述全链路标识;
步骤S3中,在测试用例执行过程中,如果发生了接口调用、数据库操作、缓存操作、消息队列操作、文件系统操作,都在操作的请求中,传递所述全链路标识,服务端在接收到请求时,同样将标识存储在线程的上下文中,从线程的上下文中获取所述全链路标识。
6.一种自动化测试方法,其特征在于,所述自动化测试方法包括:
步骤1、用户端开始编写脚本,编写动态脚本指令集;
步骤2、保存指令集到自动化测试系统中;
步骤3、自动化测试系统定时开始执行测试用例;生成业务链路业务唯一标识;
步骤4、保存标识到线程上下文中;
步骤5、解析指令集;
步骤6、判断指令集是否存在下一指令;若不存在,完成;若存在执行步骤7;
步骤7、判断指令集是否是注入故障指令;若是,执行步骤8;若否,执行步骤11;
步骤8、将注入参数转换为注入命令;执行步骤9;
步骤9、调用故障注入服务;执行步骤10;
步骤10、调用具体业务系统将故障点注入到业务系统中,返回步骤6;
步骤1...
【专利技术属性】
技术研发人员:林建明,
申请(专利权)人:深圳无域科技技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。