一种单元测试方法及系统的制作方法

文档序号:9631485阅读:193来源:国知局
一种单元测试方法及系统的制作方法
【技术领域】
[0001]本发明涉及软件测试技术领域,特别涉及一种单元测试方法及系统。
【背景技术】
[0002]目前,在软件项目的测试阶段中,很多测试问题都是在应用组装环节才能发现,测试问题暴露的越晚,项目测试的反复次数越多,周期也越长,效率越低,因此,需要对软件项目中最小可测试单元进行检验和验证,以尽快暴露各种测试问题。
[0003]现有技术中的单元测试方案中,通常是需要启动整个软件项目来构建服务运行环境,由此造成测试运行的时间较长,测试效率较低。

【发明内容】

[0004]有鉴于此,本发明的目的在于,提供一种单元测试方法及系统,用以解决现有技术中测试运行时间较长,效率较低的技术问题。
[0005]本发明还提供了一种单元测试方法,包括:
[0006]根据预设的测试需求数据,设置单元测试框架,所述单元测试框架独立于软件项目;
[0007]利用所述单元测试框架,构建测试运行环境;
[0008]基于所述测试运行环境,对目标测试单元进行测试,以得到所述目标测试单元的测试结果。
[0009]上述方法,优选的,所述利用所述单元测试框架,构建测试运行环境,包括:
[0010]建立Spring应用平台;
[0011]利用所述单元测试框架中的上下文管理组件,初始化所述Spring应用平台;
[0012]在所述Spring应用平台上加载所述单元测试框架的配置文件和功能组件,以建立以Spring应用平台为基础的测试运行环境;
[0013]其中,所述功能组件至少包括:规范校验组件、格式化报告组件、注解声明组件。
[0014]上述方法,优选的,所述基于所述测试运行环境,对目标测试单元进行测试,以得到所述目标测试单元的测试结果,包括:
[0015]在所述测试运行环境中,启动所述单元测试框架中的测试类,以启动对所述目标测试单元的测试方法对目标测试单元进行测试,得到所述目标测试单元的测试结果。
[0016]上述方法,优选的,所述方法还包括:
[0017]响应于对所述目标测试单元的测试过程中所产生的报文数据请求,调用所述单元测试框架中的挡板获取与所述报文数据请求对应的报文数据;
[0018]或
[0019]响应于对所述目标测试单元的测试过程中所产生的预埋数据请求,调用相应的sql语句获取预埋数据。
[0020]上述方法,优选的,在同一挡板被多次调用时,所述方法还包括:
[0021]利用所述单元测试框架中的mock构建队列,所述队列用于存放利用同一挡板被多次调用所获取到的报文数据。
[0022]本发明还提供了一种单元测试系统,包括:
[0023]框架设置单元,用于根据预设的测试需求数据,设置单元测试框架,所述单元测试框架独立于软件项目;
[0024]环境构建单元,用于利用所述单元测试框架,构建测试运行环境;
[0025]目标测试单元,用于基于所述测试运行环境,对目标测试单元进行测试,以得到所述目标测试单元的测试结果。
[0026]上述系统,优选的,所述环境构建单元包括:
[0027]平台建立子单元,用于建立Spring应用平台;
[0028]平台初始化子单元,用于利用所述单元测试框架中的上下文管理组件,初始化所述Spring应用平台;
[0029]环境建立子单元,用于在所述Spring应用平台上加载所述单元测试框架的配置文件和功能组件,以建立以Spring应用平台为基础的测试运行环境;
[0030]其中,所述功能组件至少包括:规范校验组件、格式化报告组件、注解声明组件。
[0031]上述系统,优选的,所述目标测试单元包括:
[0032]测试方法启动子单元,用于在所述测试运行环境中,启动所述单元测试框架中的测试类,以启动对所述目标测试单元的测试方法对所述目标测试单元进行测试,得到所述目标测试单元的测试结果。
[0033]上述系统,优选的,所述系统还包括:
[0034]挡板调用单元,用于响应于对所述目标测试单元的测试过程中所产生的报文数据请求,调用所述单元测试框架中的挡板获取与所述报文数据请求相对应的报文数据;
[0035]预埋获取单元,用于响应于对所述目标测试单元的测试过程中所产生的预埋数据请求,调用相应的sql语句获取预埋数据。
[0036]上述系统,优选的,所述系统还包括:
[0037]队列构建单元,用于在同一挡板被多次调用时,利用所述单元测试框架中的mock构建队列,所述队列用于存放利用同一挡板被多次调用所获取到的报文数据。
[0038]由上述方案可知,本发明所提供的一种单元测试方法及系统,通过设置独立于软件项目的单元测试框架来构建测试运行环境,进而再基于该测试运行环境对目标测试单元进行测试,最终得到测试结果,无需启动整个软件项目的服务来构建测试运行环境,减少测试运行时间,提高测试效率。
【附图说明】
[0039]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0040]图1为本发明实施例一提供的一种单元测试方法的流程图;
[0041 ] 图2a及图2b分别为本发明实施例的应用示例图;
[0042]图3为本发明实施例二提供的一种单元测试方法的部分流程图;
[0043]图4为本发明实施例三提供的一种单元测试方法的流程图;
[0044]图5a为本发明实施例的另一流程图;
[0045]图5b为本发明实施例的又一流程图;
[0046]图6为本发明实施例的另一流程图;
[0047]图7为本发明实施例四提供的一种单元测试系统的结构示意图;
[0048]图8为本发明实施例五提供的一种单元测试系统的部分结构示意图;
[0049]图9为本发明实施例六提供的一种单元测试系统的结构示意图;
[0050]图10为本发明实施例的另一结构示意图;
[0051]图11为本发明实施例的又一结构示意图;
[0052]图12为本发明实施例的另一结构示意图。
【具体实施方式】
[0053]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0054]参考图1,为本发明实施例一提供的一种单元测试方法的流程图,其中,所述方法适用于对软件项目的最小可测试单元的单元测试中,具体的,本实施例中可以通过以下步骤实现:
[0055]步骤101:根据预设的测试需求数据,设置单元测试框架。
[0056]其中,所述单元测试框架独立于软件项目,所述测试需求数据可以根据开发人员及测试人员的测试需求及所述软件项目的功能需求等生产,表征对所述软件项目对应的可测试单元的测试需求。
[0057]以某银行的应用系统软件项目为例,所述单元测试框架依赖于新一代Java技术框架openframework、软件项目的产品平台P8及产品框架app-core,可以采用JUnit和Spring作为技术雏形,如图2a中所示,为本实施例中单元测试框架的应用平台结构图:应用服务层、应用架构层、资源依赖层、集成环境层。在这个基础上为该银行应用系统提供一个完整的单元测试解决方案,用以实现针对测试对象进行效率分析、对运行时长和SQL语句的调用次数及覆盖率进行统计及以多种方式输出测试结果报告等功能。
[0058]步骤102:利用所述单元测试框架,构建测试运行环境。
[0059]其中,所述单元测试框架独立于所述软件项目,因此,所述测试运行环境的构建无需启动整个所述软件项目的项目服务,而是利用所述单元测试框架来构建测试运行环境,用以模拟对测试单元进行测试的测试环境。
[0060]步骤103:基于所述测试运行环境,对目标测试单元进行测试,以得到所述目标测试单元的测试结果。
[0061]其中,所述目标测试单元即为测试人员或开发人员所编写的测试用例,具体的,本实施例中将所述目标测试单元加载到所述测试运行环境中,进而开始对所述目标测试单元执行测试流程,进而得到所述目标测试单元的测试结果。
[0062]由上述方案可知,本发明实施例一所提供的一种单元测试方法,通过设置独立于软件项目的单元测试框架来构建测试运行环境,进而再基于该测试运行环境对目标测试单元进行测试,最终得到测试结果,无需启动整个软件项目的服务来构建测试运行环境,减少测试运行时间,提高测试效率。
[0063]参考图3,为本发明实施例二提供的一种单元测试方法中所述步骤102的实现流程图,其中,所述步骤102可以通过以下步骤实现:
[0064]步骤121:建立Spring应用平台。
[0065]其中,所述Spring应用平台可以理解为Spring容器。
[0066]步骤122:利用所述单元测试框架中的上下文管理组件,初始化所述Spring应用
λΤΖΖλI 口 ο
[0067]其中,所述上下文管理组件是所述单元测试框架中设置的一个核心组件,用于建立Spring容器环境,并建立被测试的目标测试单元的方法栈上下文。具
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1