集成测试装置和集成测试方法

文档序号:6377222阅读:184来源:国知局
专利名称:集成测试装置和集成测试方法
技术领域
本发明涉及集成测试技术领域,具体而言,涉及ー种集成测试装置和ー种集成测试方法。
背景技术
在基于OSGI (Open Service Gateway Initiative,开放服务网关协议)的应用开发中,当进行前后端分离开发吋,由于没有前端页面,所以很难进行业务测试。目前针对上述情况的测试技术有通过Spring (—种开源框架)和Junit (—种回归测试框架)的整合进行集成测试,但是在OSGI开发过程中,由于Spring采用的是读取配置再加载的方式,即在系统启动前就必须将所有配置全部写定,如图I所示,需要在系统启 动前写定配置文件,无法在系统运行中修改配置文件,在重启系统后,就只能读取固定的配置文件,这显得灵活性很差,而在大型企业应用开发中,重启系统的代价很高。因此,需要一种新的集成测试技木,能够在测试系统运行过程中设置测试插件的參数并进行测试,提高测试的灵活性,避免重启系统带来的损失。

发明内容
本发明正是基于上述问题,提出了ー种集成测试技术,能够在测试系统运行过程中设置测试插件的參数并进行测试,提高测试的灵活性,避免重启系统带来的损失。有鉴于此,本发明提出了ー种集成测试装置,包括创建单元,用于获取支持回归测试框架的服务并将所述服务注册至选定插件,以创建测试插件;加载单元,用于根据所述测试插件的测试类型,将属于所述测试类型的至少ー个测试用例加载至所述测试插件;测试单元,用于通过所述测试插件对所述至少一个测试用例进行测试。在该技术方案中,可以在测试系统启动前,和/或测试系统运行过程中创建测试插件进行测试,由于新创建的测试插件与系统中的插件可以有不同的测试类型,从而达到了在系统运行过程中修改测试类型的效果,使得不必重启系统即可对新类型的测试用例进行测试,提高了测试的灵活性,避免了重启系统带来的损失。其中,既可以创建ー个测试插件也可以创建多个测试插件,其中每个测试插件可以测试至少ー种测试类型的测试用例。在上述技术方案中,优选地,还包括更新単元,用于更新所述测试插件的测试类型;刷新単元,用于刷新所述测试插件;以及所述加载单元还用干,将属于更新后的测试类型的至少ー个测试用例加载至刷新后的测试插件;所述测试単元还用于,通过所述刷新后的测试插件对所述属于更新后的测试类型的至少ー个测试用例进行测试。在该技术方案中,可以在系统运行过程中直接更新测试插件的测试类型,然后刷新该测试插件,测试系统即可通过刷新后的测试插件对属于新的测试类型的测试用例进行测试,而不必重新创建测试插件再设置新的测试类型,从而进ー步提高了测试的灵活性。在上述技术方案中,优选地,所述创建単元具体包括定义单元,用于定义注解处理器;获取单元,用于通过所述注解处理器获取所述选定插件的名称和所述服务的接ロ,以获取所述服务并注入;添加単元,用于将回归测试框架的源文件包添加至所述测试插件,以及用于在所述源文件中的源码中添加注解处理方法,以调用所述注解处理器。在该技术方案中,用户可以根据需要定义注解处理器,以获取所需的服务并注入,具体地,可以在测试插件中引进回归测试框架,然后修改其中的源码以自定义注解处理方法,从而调用自定义的注解处理器。在上述技术方案中,优选地,还包括监听单元,用于读取所述测试类型和/或所述更新后的测试类型。在该技术方案中,通过在系统中设置插件监听单元,每当有插件启动时,都可以读取其中的测试类型,进而加载相应的测试用例。在上述任一技术方案中,优选地,还包括信息收发单元,用于将测试用例的地址请求发送至服务器,以及接收来自所述服务器的所述测试用例,则所述加载单元还用于,将 所述测试用例加载至所述测试插件。在该技术方案中,可以在服务器端设置ー个应用程序,通过该应用程序处理测试操作,具体地,测试用例存储于服务器端的数据库,而该应用程序定义了每个测试用例的地址链接,用户可以在客户端输入需要测试的测试用例的地址链接,以调用相应的测试用例。根据本发明的又一方面,还提出了ー种集成测试方法,包括步骤202,获取支持回归测试框架的服务并将所述服务注册至选定插件,以创建测试插件;步骤204,根据所述测试插件的测试类型,将属于所述测试类型的至少ー个测试用例加载至所述测试插件,通过所述测试插件对所述至少ー个测试用例进行测试。在该技术方案中,可以在测试系统启动前,和/或测试系统运行过程中创建测试插件进行测试,由于新创建的测试插件与系统中的插件可以有不同的测试类型,从而达到了在系统运行过程中修改测试类型的效果,使得不必重启系统即可对新类型的测试用例进行测试,提高了测试的灵活性,避免了重启系统带来的损失。其中,既可以创建ー个测试插件也可以创建多个测试插件,其中每个测试插件可以测试至少ー种测试类型的测试用例。在上述技术方案中,优选地,还包括更新所述测试插件的测试类型,并刷新所述测试插件,将属于更新后的测试类型的至少ー个测试用例加载至刷新后的测试插件,通过所述刷新后的测试插件对所述属于更新后的测试类型的至少ー个测试用例进行测试。在该技术方案中,可以在系统运行过程中直接更新测试插件的测试类型,然后刷新该测试插件,测试系统即可通过刷新后的测试插件对属于新的测试类型的测试用例进行测试,而不必重新创建测试插件再设置新的测试类型,从而进ー步提高了测试的灵活性。在上述技术方案中,优选地,所述步骤202具体包括定义注解处理器,通过所述注解处理器获取所述选定插件的名称和所述服务的接ロ,以获取所述服务并注入;以及将回归测试框架的源文件包添加至所述测试插件,在所述源文件中的源码中添加注解处理方法,以调用所述注解处理器。在该技术方案中,用户可以根据需要定义注解处理器,以获取所需的服务并注入,具体地,可以在测试插件中引进回归测试框架,然后修改其中的源码以自定义注解处理方法,从而调用自定义的注解处理器。
在上述技术方案中,优选地,还包括设置插件监听器,以读取所述测试类型以及所述更新后的测试类型。在该技术方案中,可以设置插件监听器,每当有插件启动时,都可以读取其中的测试类型,进而加载相应的测试用例。在上述任一技术方案中,优选地,将测试用例的地址请求发送至服务器,接收来自所述服务器的所述测试用例,并将所述测试用例加载至所述测试插件。在该技术方案中,可以在服务器端设置ー个应用程序,通过该应用程序处理测试操作,具体地,测试用例存储于服务器端的数据库,而该应用程序定义了每个测试用例的地址链接,用户可以在客户端输入需要测试的测试用例的地址链接,以调用相应的测试用例。通过以上技术方案,能够在测试系统运行过程中设置测试插件的參数并进行测试,提高测试的灵活性,避免重启系统带来的损失。


图I示出了相关技术中测试系统进行集成测试的流程图;图2示出了根据本发明的实施例的集成测试装置的框图;图3示出了根据本发明的实施例的集成测试方法的流程图;图4示出了根据本发明的实施例的集成测试方法的具体流程图。
具体实施例方式为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式
对本发明进行进一歩的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互組合。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。图2示出了根据本发明的实施例的集成测试装置的框图。如图2所示,根据本发明的实施例的集成测试装置100包括创建单元102,用于获取支持回归测试框架的服务并将服务注册至选定插件,以创建测试插件;加载单元104,用于根据测试插件的测试类型,将属于测试类型的至少ー个测试用例加载至测试插件;测试单元106,用于通过测试插件对至少一个测试用例进行测试。可以在测试系统启动前,和/或测试系统运行过程中创建测试插件进行测试,由于新创建的测试插件与系统中的插件可以有不同的测试类型,从而达到了在系统运行过程中修改测试类型的效果,使得不必重启系统即可对新类型的测试用例进行测试,提高了测试的灵活性,避免了重启系统带来的损失。其中,回归测试框架可以是Junit,而获取支持回归测试框架的服务并将所述服务注册■至选定插件则相当于自定义了 IOC (Inversion of Control,控制反转),IOC是ー种设计模式,其基本概念是,不创建对象,但是描述创建对象的方式,在代码中不直接与对象和服务连接,但在配置文件中描述哪ー个组件需要哪ー项服务,实现该模式的容器负责将这些联系在一起。
需要说明的是,既可以创建一个测试插件也可以创建多个测试插件,其中每个测试插件可以测试至少ー种测试类型的测试用例。优选地,根据本发明的实施例的集成测试装置100还包括更新単元108,用于更新测试插件的测试类型;刷新単元110,用于刷新测试插件;以及加载单元104还用于,将属于更新后的测试类型的至少ー个测试用例加载至刷新后的测试插件;测试单元106还用于,通过刷新后的测试插件对属于更新后的测试类型的至少ー个测试用例进行测试。可以在系统运行过程中直接更新测试插件的测试类型,然后刷新该测试插件,t匕如输入指令update xxx (xxx可以指测试插件的编号),测试系统即可通过刷新后的测试插件对属于新的测试类型的测试用例进行测试,而不必重新创建测试插件再设置新的测试类型,从而进ー步提高了测试的灵活性。优选地,创建单元102具体包括定义单元1022,用于定义注解处理器;获取单元1024,用于通过注解处理器获取选定插件的名称和服务的接ロ,以获取服务并注入;添加単元1026,用于将回归测试框架的源文件包添加至测试插件,以及用于在源文件中的源码中 添加注解处理方法,以调用注解处理器。用户可以根据需要定义注解处理器,以获取所需的服务并注入。其中,可以在测试插件中引进回归测试框架,然后修改其中的源码以自定义注解处理方法,例如引进的回归测试框架为Junit,修改其中的源码,在BlockJUnit4ClassRunner类的createTest方法中添加自己定义的注解处理,具体地,在Junit的源码中找到BlockJUnit4ClassRunner,然后根据同样的路径创建ー个同名类,再在createTest方法中对加载进来的测试注解添加TestService的逻辑判断,以调用自定义的注解处理器,而服务的可以根据选定插件的名称和/或服务的接ロ进行获取,因此,通过注解处理器获取选定插件的名称和服务的接ロ即可获取所需的服务并注入。优选地,根据本发明的实施例的集成测试装置100还包括监听单元112,用于读取测试类型和/或更新后的测试类型。通过在系统中设置插件监听单元112,每当有插件启动时,都可以读取其中的测试类型,进而加载相应的测试用例,例如可以在配置文件MANIFEST. MF中添加监听单元112所能读取的测试类型。优选地,根据本发明的实施例的集成测试装置100还包括信息收发单元114,用于将测试用例的地址请求发送至服务器,以及接收来自服务器的测试用例,则加载単元104还用于,将测试用例加载至测试插件。可以在服务器端设置ー个应用程序,通过该应用程序处理测试操作,其中,应用程序可以是servlet (—种服务器端的Java应用程序),测试用例存储于服务器端的数据库,而servlet定义了每个测试用例的地址链接,用户可以在客户端输入需要测试的测试用例的地址链接,例如http://localhost/test,以调用相应的测试用例,然后开始测试。图3示出了根据本发明的实施例的集成测试方法的流程图。如图3所示,根据本发明的实施例的集成测试方法包括步骤202,获取支持回归测试框架的服务并将服务注册至选定插件,以创建测试插件;步骤204,根据测试插件的测试类型,将属于测试类型的至少ー个测试用例加载至测试插件,通过测试插件对至少ー个测试用例进行测试。
可以在测试系统启动前,和/或测试系统运行过程中创建测试插件进行测试,由于新创建的测试插件与系统中的插件可以有不同的测试类型,从而达到了在系统运行过程中修改测试类型的效果,使得不必重启系统即可对新类型的测试用例进行测试,提高了测试的灵活性,避免了重启系统带来的损失。其中,回归测试框架可以是Junit,而获取支持回归测试框架的服务并将所述服务注册至选定插件则相当于自定义了 I0C。需要说明的是,既可以创建一个测试插件也可以创建多个测试插件,其中每个测试插件可以测试至少ー种测试类型的测试用例。优选地,根据本发明的实施例的集成测试方法还包括更新测试插件的测试类型,并刷新测试插件,将属于更新后的测试类型的至少ー个测试用例加载至刷新后的测试插件,通过刷新后的测试插件对属于更新后的测试类型的至少ー个测试用例进行测试。 可以在系统运行过程中直接更新测试插件的测试类型,然后刷新该测试插件,t匕如输入指令update xxx (xxx可以指测试插件的编号),测试系统即可通过刷新后的测试插件对属于新的测试类型的测试用例进行测试,而不必重新创建测试插件再设置新的测试类型,从而进ー步提高了测试的灵活性。优选地,步骤202具体包括定义注解处理器,通过注解处理器获取选定插件的名称和服务的接ロ,以获取服务并注入;以及将回归测试框架的源文件包添加至测试插件,在源文件中的源码中添加注解处理方法,以调用注解处理器。用户可以根据需要定义注解处理器,以获取所需的服务并注入。其中,可以在测试插件中引进回归测试框架,然后修改其中的源码以自定义注解处理方法,例如引进的回归测试框架为Junit,修改其中的源码,在BlockJUnit4ClassRunner类的createTest方法中添加自己定义的注解处理,具体地,在Junit的源码中找到BlockJUnit4ClassRunner,然后根据同样的路径创建ー个同名类,再在createTest方法中对加载进来的测试注解添加TestService的逻辑判断,以调用自定义的注解处理器,而服务的可以根据选定插件的名称和/或服务的接ロ进行获取,因此,通过注解处理器获取选定插件的名称和服务的接ロ即可获取所需的服务并注入。优选地,根据本发明的实施例的集成测试方法还包括设置插件监听器,以读取测试类型以及更新后的测试类型。通过在系统中设置插件监听器,每当有插件启动时,都可以读取其中的测试类型,进而加载相应的测试用例,例如可以在配置文件MANIFEST. MF中添加监听器所能读取的测试类型。优选地,将测试用例的地址请求发送至服务器,接收来自服务器的测试用例,并将测试用例加载至测试插件。可以在服务器端设置ー个应用程序,通过该应用程序处理测试操作,其中,应用程序可以是servlet (—种服务器端的Java应用程序),测试用例存储于服务器端的数据库,而servlet定义了每个测试用例的地址链接,用户可以在客户端输入需要测试的测试用例的地址链接,例如http://localhost/test,以调用相应的测试用例,然后开始测试。图4示出了根据本发明的实施例的集成测试方法的具体流程图。如图4所示,根据本发明的实施例的集成测试方法具体包括
步骤402,启动测试系统;步骤404,通过自动以IOC以创建测试插件,并设置监听器以读取测试插件的测试类型,设置servlet以处理测试操作;步骤406,读取测试插件的测试类型,通过在浏览器输入servlet中定义的地址选择相应的测试用例;步骤408,将测试用例加载至测试插件进行测试;步骤410,在客户端修改测试用例的类型;步骤412,执行刷新命令刷新测试插件,并返回步骤406。以上结合附图详细说明了本发明的技术方案,考虑到相关技术中,集成测试时,需 要在测试系统运行前写定配置文件,导致测试系统运行时只能测试固定的测试用例,灵活性很差,而重启系统重新设置配置文件对于大型企业的应用开发代价很高。本发明提出了ー种集成测试装置,能够在测试系统运行过程中设置测试插件的參数并进行测试,提高测试的灵活性,避免重启系统带来的损失。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种集成测试装置,其特征在于,包括 创建单元,用于获取支持回归测试框架的服务并将所述服务注册至选定插件,以创建测试插件; 加载单元,用于根据所述测试插件的测试类型,将属于所述测试类型的至少一个测试用例加载至所述测试插件; 测试单元,用于通过所述测试插件对所述至少一个测试用例进行测试。
2.根据权利要求I所述的集成测试装置,其特征在于,还包括 更新单元,用于更新所述测试插件的测试类型; 刷新单元,用于刷新所述测试插件;以及 所述加载单元还用于将属于更新后的测试类型的至少一个测试用例加载至刷新后的测试插件; 所述测试单元还用于通过所述刷新后的测试插件对所述属于更新后的测试类型的至少一个测试用例进行测试。
3.根据权利要求I所述的集成测试装置,其特征在于,所述创建单元具体包括 定义单元,用于定义注解处理器; 获取单元,用于通过所述注解处理器获取所述选定插件的名称和所述服务的接口,以获取所述服务并注入; 添加单元,用于将回归测试框架的源文件包添加至所述测试插件,以及用于在所述源文件中的源码中添加注解处理方法,以调用所述注解处理器。
4.根据权利要求I所述的集成测试装置,其特征在于,还包括 监听单元,用于读取所述测试类型和/或所述更新后的测试类型。
5.根据权利要求I至4中任一项所述的集成测试装置,其特征在于,还包括 信息收发单元,用于将所述测试用例的地址请求发送至服务器,以及接收来自所述服务器的所述测试用例,将所述测试用例的数据传送至所述加载单元。
6.一种集成测试方法,其特征在于,包括 步骤202,获取支持回归测试框架的服务并将所述服务注册至选定插件,以创建测试插件; 步骤204,根据所述测试插件的测试类型,将属于所述测试类型的至少一个测试用例加载至所述测试插件,通过所述测试插件对所述至少一个测试用例进行测试。
7.根据权利要求6所述的集成测试方法,其特征在于,还包括更新所述测试插件的测试类型,并刷新所述测试插件,将属于更新后的测试类型的至少一个测试用例加载至刷新后的测试插件,通过所述刷新后的测试插件对所述属于更新后的测试类型的至少一个测试用例进行测试。
8.根据权利要求6所述的集成测试方法,其特征在于,所述步骤202具体包括 定义注解处理器,通过所述注解处理器获取所述选定插件的名称和所述服务的接口,以获取所述服务并注入;以及 将回归测试框架的源文件包添加至所述测试插件,在所述源文件中的源码中添加注解处理方法,以调用所述注解处理器。
9.根据权利要求7所述的集成测试方法,其特征在于,还包括设置插件监听器,以读取所述测试类型以及所述更新后的测试类型。
10.根据权利要求6至9中任一项所述的集成测试方法,其特征在于,将所述测试用例的地址请求发送至服务器,接收来自所述服务器的所述测试用例,并将所述测试用例加载至所述测试插件。
全文摘要
本发明提供了一种集成测试装置,包括创建单元,用于获取支持回归测试框架的服务并将所述服务注册至选定插件,以创建测试插件;加载单元,用于根据所述测试插件的测试类型,将属于所述测试类型的至少一个测试用例加载至所述测试插件;测试单元,用于通过所述测试插件对所述至少一个测试用例进行测试。本发明还提出了一种集成测试的方法。通过本发明的技术方案,能够在测试系统运行过程中设置测试插件的参数并进行测试,提高测试的灵活性,避免重启系统带来的损失。
文档编号G06F11/36GK102831066SQ20121034928
公开日2012年12月19日 申请日期2012年9月19日 优先权日2012年9月19日
发明者仇大帅, 阳彪 申请人:深圳中兴网信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1