[发明专利]一种基于异步线程的测试方法和装置在审
| 申请号: | 201410670716.2 | 申请日: | 2014-11-20 |
| 公开(公告)号: | CN105607991A | 公开(公告)日: | 2016-05-25 |
| 发明(设计)人: | 倪军 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 赵娟 |
| 地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 异步 线程 测试 方法 装置 | ||
技术领域
本申请涉及测试技术领域,特别是涉及一种基于异步线程的测试方法和 一种基于异步线程的测试装置。
背景技术
程序测试就是利用测试工具按照测试方案和流程对产品进行功能和性 能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试 方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以 确保开发的产品适合需求。
Java(一种可以撰写跨平台应用软件的面向对象的程序设计语言)的多 线程/异步线程是在系统实现过程中使用的非常多的一种实现手段,常用的 servlet(服务端程序)或者C/S(Client/Server或客户/服务器模式)结构的窗 体工作于与后台处理是多线程的,以减少用户在前台等待的时间;再比如为 了提高系统或应用程序的性能,可以采用多线程提高系统或应用程序的并发 处理能力等。
这种异步多线程的实现方式给系统实现和性能提升上面带来了很大的 好处,但是也给系统的测试上面增加了难度。
目前涉及到异步线程的测试,尤其是UI(UserInterface,用户界面)自 动化和接口测试,都是调用某接口测试脚本,而该接口内部使用了异步线程 的实现方式,脚本功能是否正确需要对接口内部的处理结果进行校验。
但因为处理逻辑是异步线程执行的,如果在异步线程处理结束之前,调 用的接口就返回结果,这个时候就去校验结果,会因为内部异步线程还没有 处理结果使得校验结果出错。所以现在一般在调用接口之后使用sleep(n)函 数等待时间n,待内部异步线程处理结束后,再进行结果校验。
由于异步线程需要耗费多长时间不固定,受环境等因为影响较大,所以 等待的时间n,一般都是基于经验值,设置为所有环境下该异步线程执行需 要的最大时间,用以提高测试用例的成功率。
但正是由于等待的时间n是基于经验值,并不能保证在等待了时间n后, 对应的异步线程一定执行结束了,测试用例的成功率低。
并且,在大部分场景下可能不需要等待时间n那么久,就造成了虽然异 步线程已经处理结束了,但是系统还在等待,造成测试耗时过长,降低了测 试执行效率,尤其在自动化执行过程中,当涉及的测试用例数量比较多的时 候,尤其明显。
如果这里不采用等待时间n的方式,一般就需要手工断点(debug模式), 等异步线程执行完再执行测试脚本校验逻辑。这种方式只能进行手工测试覆 盖,成本很高,效率很低。
因此,目前需要本领域技术人员迫切解决的一个技术问题就是:如何提 出一种基于异步线程的测试机制,用以提高测试用例的成功率,减少测试耗 时,提高测试效率。
发明内容
本申请实施例所要解决的技术问题是提供一种基于异步线程的测试方 法,用以提高测试用例的成功率,减少测试耗时,提高测试效率。
相应的,本申请实施例还提供了一种基于异步线程的测试装置,用以保 证上述方法的实现及应用。
为了解决上述问题,本申请实施例公开了一种基于异步线程的测试方 法,包括:
检测目标线程的第一数量;所述目标线程为线程池类中执行测试对象的 异步线程;
调用所述目标线程执行所述测试对象;
检测所述目标线程的第二数量;
当所述第一数量与所述第二数量相等时,对所述目标线程执行测试对象 获得的执行结果进行校验。
优选地,所述线程池类具有获取活跃线程数量的方法;所述检测目标线 程的第一数量的步骤包括:
调用所述获取活跃线程数量的方法,获得目标线程的第一数量。
优选地,所述调用所述目标线程执行所述测试对象的步骤包括:
传入执行所述测试对象所需的参数;
在所述目标线程中按照所述参数执行所述测试对象。
优选地,所述检测所述目标线程的第二数量的步骤包括:
调用所述获取活跃线程数量的方法,获得所述目标线程的第二数量。
优选地,还包括:
当所述第一数量与所述第二数量相异时,返回执行所述检测所述目标线 程的第二数量的步骤。
优选地,所述线程池类包括ThreadPoolExecutor,所述获取活跃线程数 量的方法包括getActiveCount。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410670716.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种软件测试系统、方法及装置
- 下一篇:一种空指针崩溃的挖掘方法及装置





