并发测试方法及装置制造方法及图纸

技术编号:12670224 阅读:72 留言:0更新日期:2016-01-07 14:51
本发明专利技术提供一种并发测试方法及装置。方法包括:并发测试装置获取包括集合点标识和线程数量的测试功能参数,利用测试功能参数,对源文件进行处理,生成测试文件,该测试文件包含集合点标识所指示位置处的集合点和指示到达集合点的运行测试文件的线程的个数达到线程数量后释放线程,以使线程继续并发运行的指令;按照线程数量,对测试文件进行调用以使线程运行测试文件,并获取运行结果以供判断所述源文件是否存在并发处理风险。本发明专利技术技术方案降低了并发测试成本,提高了测试效率。

【技术实现步骤摘要】
【专利说明】
本专利技术涉及网络
,尤其涉及一种并发测试方法及装置。【
技术介绍
】目前很多应用系统,例如支付宝系统都是分布式部署,以多线程方式处理业务,因此业务并发的场景比较多。在线下测试过程中,发现业务代码是否存在并发处理风险一直是个难题。现有解决方案主要是使用下一代测试(Testing Next Generat1n, testNG)技术对java源代码进行并发测试,主要测试步骤包括:编写测试脚本;配置testNG参数,开启多线程并发运行;在java源代码中指定的代码行打上断点;多线程运行到断点后观察变量值;手工释放断点;在各线程运行结束后观察运行结果。该技术方案需要编写测试脚本,成本较高,用户需要手工释放断点,测试效率较低。【
技术实现思路
】本专利技术的多个方面提供一种并发测试方法及装置,用以降低测试成本,提高测试效率。本专利技术的一方面,提供一种并发测试方法,包括:并发测试装置获取测试功能参数,所述测试功能参数包括集合点标识和线程数量;所述并发测试装置利用所述测试功能参数,对待测试的源文件进行处理,生成测试文件,所述测试文件包含所述集合点标识所指示位置处的集合点和第一指令,所述第一指令用于指示到达所述集合点的运行所述测试文件的线程的个数达到所述线程数量后释放所述线程,以使所述线程并发运行所述集合点之后的部分;所述并发测试装置按照所述线程数量,对所述测试文件进行调用以使所述线程运行所述测试文件,并获取运行结果,以使用户根据所述运行结果判断所述源文件是否存在并发处理风险。本专利技术的另一方面,提供一种并发测试装置,包括:获取模块,用于获取测试功能参数,所述测试功能参数包括集合点标识和线程数量;生成模块,用于利用所述测试功能参数,对待测试的源文件进行处理,生成测试文件,所述测试文件包含所述集合点标识所指示位置处的集合点和第一指令,所述第一指令用于指示到达所述集合点的运行所述测试文件的线程的个数达到所述线程数量后释放所述线程,以使所述线程并发运行所述集合点之后的部分;调用模块,用于按照所述线程数量,对所述测试文件进行调用以使所述线程运行所述测试文件,并获取运行结果,以使用户根据所述运行结果判断所述源文件是否存在并发处理风险。在本专利技术技术方案中,并发测试装置获取测试功能参数,利用测试功能参数对待测试的源文件进行处理,生成测试文件,之后调用该测试文件以使线程运行该测试文件,并获取运行结果以使用户根据运行结果判断源文件是否存在并发处理风险,实现对源文件的并发测试。本专利技术的并发测试方法由并发测试装置自动完成,不需要编写测试脚本,有利于降低测试成本;另外,本专利技术的测试文件包含了集合点和指示到达集合点的线程的个数达到线程数量后释放线程以使线程继续并发运行的指令,这样并发测试装置调用测试文件之后,运行测试文件的线程会自动完成集合点等待和并发操作,不需要用户参与,提高测试效率。【【附图说明】】为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术一实施例提供的并发测试方法的流程示意图;图2为本专利技术一实施例提供的并发测试装置的结构示意图。【【具体实施方式】】为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1为本专利技术一实施例提供的并发测试方法的流程图。如图1所示,该方法包括:101、并发测试装置获取测试功能参数,该测试功能参数包括集合点标识和线程数量。本实施例涉及的并发测试装置又可以称为并发工具(Concurrenttool)等其他名称。本实施例对并发测试装置获取测试功能参数的实施方式不做限定。优选的,并发测试装置可以向用户提供交互界面,用户可以通过交互界面输入测试功能参数以及其他参数等。交互界面的实现方式可以多种多样,例如可以是web页面。则并发测试装置获取测试功能参数的优选实施方式为:并发测试装置接收用户通过并发测试装置提供的交互界面输入的测试功能参数。在本实施例中,测试功能参数至少包括集合点标识和线程数量。集合点标识用于指示在需要进行并发测试的代码中设置集合点的位置;线程数量用于指示需要并发运行的线程的个数。102、并发测试装置利用上述测试功能参数,对待测试的源文件进行处理,生成测试文件,该测试文件包含上述集合点标识所指示位置处得集合点和第一指令,第一指令用于指示到达集合点的运行该测试文件的线程的个数达到上述线程数量后释放线程,以使线程并发运行集合点之后的部分。本实施例中的源文件优选为采用java语言编写的文件,但并不限于此。例如,源文件还可以是采用C++、C等语言编写的文件。本实施例对源文件和并发测试装置的部署关系不做限定,例如在并发测试装置具备支持源文件运行所需的其他功能时,源文件可以部署在并发测试装置上;或者源文件和并发测试装置也可以部署在同一设备上;又或者源文件与并发测试装置独立部署。为了提高并发测试装置对各种源文件进行并发测试的灵活性,优选的应用场景是并发测试装置与源文件独立部署,即源文件部署在不同于并发测试装置的其他设备(例如服务器)上。针对上述优选应用场景,上述测试功能参数除了包括集合点标识和线程数量之夕卜,还可以包括:服务器域名和服务标识。服务器域名用于指示源文件所在的服务器,服务域名用于标识源文件所能实现的服务,实际上也是对源文件的标识。基于此,步骤102的一可选实施方式包括:并发测试装置根据上述服务器域名链接到服务器,获取该服务器上用于实现上述服务标识所标识的服务的文件作为源文件;然后,并发测试装置根据上述集合点标识和线程数量,对源文件进行插装处理,生成测试文件。在此说明,并发测试装置对源文件进行插装处理是一种优选生成测试文件的方式。插装形式可以多种多样,例如,并发测试装置可以采用修改待测源文件的方式对源文件进行插装处理,或者并发测试装置还可以采用java字节码注入等其他方式对待测源文件进行插装处理。本实施例生成的测试文件包含上述集合点标识所指示位置处当前第1页1 2 3 本文档来自技高网...
并发测试方法及装置

【技术保护点】
一种并发测试方法,其特征在于,包括:并发测试装置获取测试功能参数,所述测试功能参数包括集合点标识和线程数量;所述并发测试装置利用所述测试功能参数,对待测试的源文件进行处理,生成测试文件,所述测试文件包含所述集合点标识所指示位置处的集合点和第一指令,所述第一指令用于指示到达所述集合点的运行所述测试文件的线程的个数达到所述线程数量后释放所述线程,以使所述线程并发运行所述集合点之后的部分;所述并发测试装置按照所述线程数量,对所述测试文件进行调用以使所述线程运行所述测试文件,并获取运行结果,以使用户根据所述运行结果判断所述源文件是否存在并发处理风险。

【技术特征摘要】

【专利技术属性】
技术研发人员:李跃陆冰冰
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1