一种单元测试方法及装置制造方法及图纸

技术编号:13621006 阅读:95 留言:0更新日期:2016-08-31 14:01
本发明专利技术实施例公开了一种单元测试方法,包括获取整体项目中各子项目开发计划表,按照预定模型生成归一化项目表格;根据上述归一化项目表格,识别出符合预定标准的单元;根据预定规则生成该单元测试环境,完成测试。本发明专利技术实施例可以提高单元测试效率,降低单元测试的成本。

【技术实现步骤摘要】

本专利技术涉及软件测试技术,尤其提出了一种单元测试方法及装置
技术介绍
单元测试是大型程序开发中必经的环节,是对整体程序的各个组成单元进行测试,用以检测各单元是否正确实现了其预定的功能。目前单元测试主要是根据各单元要实现的功能,为被测单元编写测试用例并搭建测试环境的方法实现。这种方法最大的问题在于,测试代码工作量大,每一个单元都要单独编写大量的测试用例并搭建测试环境,耗费大量的人力及时间。尤其对于大型软件,测试代码的工作量甚至超过功能代码的代码量,并且搭建测试环境的时间占到整个开发时间的40%甚至更多。
技术实现思路
为了克服现有技术的不足,本专利技术为要解决的技术问题,提供一种单元测试方法及装置,有效的提高了单元测试的综合效率,降低了编写测试代码的工作量,节省了单元测试的时间。为解决上述问题,本专利技术所采用的技术方案如下:一种单元测试方法,包括以下步骤:获取整体项目中各子项目信息表;根据所述整体项目中各子项目信息表生成归一化项目信息表;根据所述归一化项目信息表,识别出符合预定标准的单元;按预定规则生成所述符合预定标准的单元的测试环境;调用所述测试环境,完成所述符合预定标准的单元的单元测试。所述归一化项目信息表包括各子项目的归一化项目信息,其中所述各子项目的归一化项目信息包括,项目进度阶段信息、逻辑上游单元信息、逻辑下游单元信息、项目进度阶段中各阶段的时间点信息。所述项目进度阶段包括新建阶段、需求阶段、排期阶段、开发阶段、测试阶段及已上线阶段。所述归一化项目信息表支持迭代式开发或瀑布式开发或迭代式与瀑布式混合开发的子项目信息表。所述符合预定标准的单元是指在归一化项目信息表中,所述单元的逻辑功能上的上游单元及逻辑功能上的下游单元在所述单元预期的测试阶段开始时间之前已完成各自单元的单元测试。所述按预定规则生成测试环境,包括执行以下步骤:根据所述符合预定标准的单元的归一化项目信息,读取其逻辑功能上的上游单元及下游单元代码;根据所述读取的上游单元及下游单元代码,生成各自的测试模块连接代码;调用所述上游单元及其激励测试模块代码,生成单元激励模块;调用所述下游单元及其结果检测模块代码,生成单元结果检测模块;根据所述测试模块连接代码、单元激励模块、单元结果检测模块生成单元测试环境。一种单元测试装置,其特征在于,包括:检索单元,用于获取整体项目中各子项目开发计划表;项目表格生成单元,用于生成上述归一化项目表格;检测单元,用于识别出符合预定标准的单元;测试环境生成单元,用于生成上述单元测试环境;测试执行单元,用于调用所述测试环境,完成单元测试。所述测试环境生成单元还包括,测试代码生成单元,用于根据上述选定的上游及下游单元生成接口代码。相比现有技术,本专利技术的有益效果在于:1、通过借用符合预定标准的单元的上游及下游单元的测试环境,有效降低了单元测试环境搭建的工作量。2、通过利用归一化项目表格,同时支持瀑布式软件开发和迭代式软件开发模式,提高了符合预定标准的单元识别率,有效减少了单元测试环境搭建的工作量。3、通过测试代码复用,有效提高了测试效率。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。附图说明图1是一般单元测试环境的结构图。图2是利用上、下游单元搭建测试环境原理图。图3是本专利技术实施例单元测试方法流程图。图4是本专利技术实施例瀑布式开发与迭代式开发对齐原理如图。图5是本专利技术实施例生成单元测试环境的流程图。图6是单元测试环境结构图。图7是本专利技术实施例提供的一种单元测试装置的结构示意图。具体实施方式下面结合附图详细描述本专利技术的具体实施方式。一般大型软件开发项目中,整体软件会根据功能划分成若干个功能模块,每个功能模块又会根据要完成的功能划分成若干个单元模块。通常所述的单元测试就是针对这些单元模块的测试。整体软件会由多个项目团队共同开发完成,不同单元之间开发进度不一致,有的先完成有的后完成。所以存在某些软件单元,这些单元在其代码开发完毕后,进行单元测试前,其逻辑功能上的上、下游单元已经开发完毕并完成了各自的单元测试。此时可以利用该单元逻辑上的上、下游单元及其测试环境搭建出适合该单元的单元测试环境,从而减少单元测试环境搭建的工作量,提高单元测试效率。图1是一般单元测试环境的结构图,其中激励模块根据测试用例产生激励 数据发送给被测单元;结果检测模块检测被测单元输出的结果的正确与否。激励单元模拟该被测单元的所有可能的输入数据情况;检测模块检测在激励模块各种输入数据情况下,被测单元的输出数据是否符合期望中的输出数据,从而判断被测模块是否有设计错误。图2是利用上、下游单元搭建测试环境原理图,通过借用上下游单元的测试环境完成单元测试环境的搭建。图3是本专利技术实施例单元测试方法流程图。该流程起始于步骤301。然后在步骤302获取整体项目中各子项目信息表。子项目信息表和项目的开发方式相关,一般项目的开发方式分为瀑布式软件开发方式和迭代式软件开发方式两种。不同项目根据各自需求选择合适自己的开发方式进行工作,其中瀑布式开发方式在时间进度节点上较迭代式更为清晰,所以一般选用瀑布式开发方式为基准,将迭代式开发方式通过一定的技术手段转化为具有和瀑布式开发方式一样的时间进度节点,从而统一整体项目的开发计划,实现归一化表格记录项目状态。在步骤303生成归一化项目信息表,在此对归一化项目信息表做简要的说明,生成归一化表格是因为不同的开发方式,项目开发模式不同,时间规划方式也不同,在不同的开发模式下,很难统一明确功能需求及各功能模块的开发进度,所以需要通过统一的归一化表格实现不同模式开发下的项目功能及进度记录。下面具体举例说明如何将瀑布式开发模式和迭代式开发模式的开发进度通过归一化表格统一,此处举例只是介绍了实现归一化表格的一种实现方法,并不对其他方法形成限制。此处介绍一种把迭代式项目的阶段向瀑布式项目阶段靠齐的方法,瀑布式项目的阶段主要有:新建阶段、需求阶段、排期阶段、开发阶段、测试阶段、已上线阶段;为了对齐,迭代式开发的需求也设置了新建阶段、需求阶段、排期阶段、开发阶段、测试阶段、已上线阶段这几个阶段,它们的对齐关系如图4所示。通过上述将迭代式开发分段的方法,将迭代式开发与瀑布式开发在项目阶段上对齐。归一化表格根据对齐的各子项目阶段,记录下各单元的状态、进度、和周边单元的逻辑关系及时间安排计划,生成所述 表格。在步骤304识别出符合预定标准的单元。所述预定标准是指满足预先设定的构建测试环境的标准,即所述符合预定标准的单元是指在归一化项目信息表中,该单元的逻辑功能上的上游单元及逻辑功能上的下游单元完成各自独立的单元测试时间在该单元进入测试阶段的时间节点之前。在步骤305根据上述识别出的单元,生成该单元测试环境,完成测试。流程结束于步骤306。图5示出步骤305中根据预定规则生成单元测试环境的流程图。该流程起始于步骤501。然后在步骤502根据所述符合预定标准的单元的归一化项目信息,读取符合预定标准的单元的逻辑功能上的上游单元及下游单元代码。在步骤503,扫描读取的上游及下游单元代码,读取模块输入输出接口定本文档来自技高网...

【技术保护点】
一种单元测试方法,其特征在于,包括以下步骤:获取整体项目中各子项目信息表;根据所述整体项目中各子项目信息表生成归一化项目信息表;根据所述归一化项目信息表,识别出符合预定标准的单元;按预定规则生成所述符合预定标准的单元的测试环境;调用所述测试环境,完成所述符合预定标准的单元的单元测试。

【技术特征摘要】
1.一种单元测试方法,其特征在于,包括以下步骤:获取整体项目中各子项目信息表;根据所述整体项目中各子项目信息表生成归一化项目信息表;根据所述归一化项目信息表,识别出符合预定标准的单元;按预定规则生成所述符合预定标准的单元的测试环境;调用所述测试环境,完成所述符合预定标准的单元的单元测试。2.如权利要1所述单元测试方法,其特征在于:所述归一化项目信息表包括各子项目的归一化项目信息,其中所述各子项目的归一化项目信息包括,项目进度阶段信息、逻辑上游单元信息、逻辑下游单元信息、项目进度阶段中各阶段的时间点信息。3.如权利要2所述单元测试方法,其特征在于:所述项目进度阶段包括新建阶段、需求阶段、排期阶段、开发阶段、测试阶段及已上线阶段。4.如权利要1所述单元测试方法,其特征在于:所述归一化项目信息表支持迭代式开发或瀑布式开发或迭代式与瀑布式混合开发的子项目信息表。5.如权利要1所述单元测试方法,其特征在于:所述符合预定标准的单元是指在归一化项目信息表中,所述单元的逻辑功能上的上游及下游单元完成...

【专利技术属性】
技术研发人员:蔡安原郭建伍智亮鹿海波
申请(专利权)人:广州唯品会网络技术有限公司
类型:发明
国别省市:广东;44

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

1