基于BDD的单元测试系统技术方案

技术编号:23764103 阅读:14 留言:0更新日期:2020-04-11 18:55
本发明专利技术公开了一种基于BDD的单元测试系统,包括UTPJunit组件、UTP Idea插件、UTP单元测试平台;UTPJunit组件用于对测试用例进行管理以及测试信息的收集;UTP Idea插件用于生成UTPJUnit风格的单元测试用例模板;UTP单元测试平台用于管理、执行和分析单元测试用例本发明专利技术通过对现有多种技术的整合,使测试人员可以很方便的实现单元测试,集成测试的代码覆盖率的统计和结果查看。

Unit test system based on BDD

【技术实现步骤摘要】
基于BDD的单元测试系统
本专利技术属于单元测试
,尤其涉及一种基于BDD(行为驱动开发)的单元测试系统。
技术介绍
目前在软件开发过程中进行单元测试都是由开发人员编写并在本地执行验证。需求人员,测试人员以及项目相关人员对单元测试的编写质量以及执行结果一无所知,这样不利于团队协作,对开发质量进行查漏补缺,难以保证测试质量,效率较低。
技术实现思路
本专利技术要解决的技术问题是为了克服现有技术中单元测试的效率较低的缺陷,提供一种基于BDD的单元测试系统。本专利技术是通过下述技术方案来解决上述技术问题:本专利技术提供一种基于BDD的单元测试系统,包括UTPJunit组件、UTPIdea插件、UTP(UnitTestCaseSpecifications,单元测试用例描述)单元测试平台;UTPJunit组件用于对测试用例进行管理以及测试信息的收集;UTPIdea插件用于生成UTPJUnit风格的单元测试用例模板;UTP单元测试平台用于管理、执行和分析单元测试用例。较佳地,UTP单元测试平台通过BDD模块实现Markdown语法格式的需求文档,并将需求文档装换为单元测试用例。较佳地,UTP单元测试平台支持在线查看、编辑及生成测试用例。较佳地,UTP单元测试平台支持分布式执行。较佳地,UTP单元测试平台支持Junit、TestNg、UtpJunit中的至少一种单元测试框架的报告解析。较佳地,UTP单元测试平台包括服务器和若干个执行机。较佳地,UTPIdea插件用于生成普通的Junit的测试用例。较佳地,UTPIdea插件还用于生成SpringMVC项目的测试用例。较佳地,UTPIdea插件还用于生成基于Jmockit的测试用例。较佳地,UTPJunit组件还用于收集用例执行的结果,以生成Json以及Html格式的测试报告。本专利技术的积极进步效果在于:本专利技术通过对现有多种技术的整合,使测试人员可以很方便的实现单元测试,集成测试的代码覆盖率的统计和结果查看。通过与API,UI自动化结合,可以对测试用例查漏补缺,完善测试用例对功能的覆盖,提高被测系统的质量。附图说明图1为本专利技术的一较佳实施例的基于BDD的单元测试系统的结构示意图。图2为本专利技术的一较佳实施例的基于BDD的单元测试系统的UTP单元测试平台的结构示意图。具体实施方式下面通过一较佳实施例的方式进一步说明本专利技术,但并不因此将本专利技术限制在所述的实施例范围之中。本实施例提供一种基于BDD的单元测试系统,参照图1,该基于BDD的单元测试系统包括UTPJunit组件201、UTPIdea插件202、UTP单元测试平台203。UTPJunit组件201用于对测试用例进行管理以及测试信息的收集;UTPIdea插件202用于生成UTPJUnit风格的单元测试用例模板;UTP单元测试平台203用于管理、执行和分析单元测试用例。具体实施时,UTPJunit组件201是一个Java开发的Jar包,基于敏捷开发的情况对Junit进行了扩展,以方便对测试用例进行管理以及测试信息的收集。UTPJunit组件201用于UtpJunit的自定义注解。通过自定义注解,可以丰富单元测试用例的描述,进而为生成丰富的测试报告。自定义注解如下:@Author,该注解适用于类和方法,用于标记测试用例的编写者;@Module,该注解适用于类,用于标记测试用例所属的模块;@DisplayName,该注解适用于类和方法,用于定义类或方法的名称;@Direction,该注解适用于方法,用于标记测试用例对应的被测试的方法,需要使用方法的完全路径,比如:com.example.demo.test.count;@Feature,仅适用于方法,用于描述测试方法对应的功能(需求);@Scenario,仅适用于方法,用于描述测试方法对应的场景。UTPJunit组件201还用于UtpJunit的自定义Runner。为了配合自定义注解的使用,必须编写自定义的Runner,通过编写的Runner,可以收集用例执行的结果,生成Json以及Html格式的测试报告。IntelliJIDEA是一款比较流行的Java程序集成开发环境(IDE)。UTPIdea插件202使用于该IDE,可以辅助生成UTPJUnit风格的单元测试用例模板,提高编写单元测试的效率。UTPIdea插件202用于生成普通的Junit的测试用例,生成SpringMVC项目的测试用例,生成基于Jmockit的测试用例。UTP单元测试平台203集单元测试用例设计、编写、管理、执行以及分析于一体的持续集成平台。UTP单元测试平台203支持行为驱动开发(BDD)。行为驱动开发是一种敏捷软件开发的技术,侧重于设计,在需求定义伊始,就需要产品/开发/测试一起把需求转化为可驱动开发的测试用例。UTP单元测试平台203通过BDD模块,可以让需求或者测试人员通过在线编写Markdown语法格式的需求文档,然后通过平台提供的工具转换为单元测试用例,然后开发通过编写单元测试用例来驱动编写业务代码。参照图2,UTP单元测试平台203包括服务器231和若干执行机232。UTP单元测试平台203支持在线应用代码查看、编辑、生成用例。一般情况,开发或者测试人员都是通过本地的IDE来查看和编写单元测试用例。而本实施例的基于BDD的单元测试系统通过UTP单元测试平台203增强单元测试用例的编写和生成。为了进一步提高查看和编写单元测试的效率,UTP单元测试平台203也提供了在线查看、编辑及生成测试用例的功能。UTP单元测试平台203支持单元测试用例执行。UTP单元测试平台203触发用例执行的方式有多种方式。在平台中,可以选择应用点击执行主动触发。也可以与Gitlab,发布平台集成进行持续集成触发单元测试用例执行。UTP单元测试平台203支持分布式执行,当需要执行单元测试用例的应用过多时,可以配置多个执行机进行横向扩展。UTP单元测试平台203还用于输出测试报告。UTP单元测试平台203支持多种单元测试框架(Junit、TestNg、UtpJunit)的报告解析。UTP单元测试平台203是一个分布式的系统,其中主站点Web系统可以部署在一台Windows服务器上,而UTP单元测试执行客户端可以部署在多台服务器上。用户通过浏览器访问UTP单元测试平台203主站点来进行单元测试相关的各种操作。UTP单元测试平台203提供了BDD文档编写、测试用例生成、CI触发用例执行、代码浏览、应用代码分析、测试报告查看等功能。用户接入到UTP单元测试平台203,首选需要在创建应用,然后根据自己的需要配置应用参数。配置完毕后,用户可以在BDD中设计和编写测试用例描述,然后生成单元测试用例模板,用户根据具体的业务编写用例内容。当用例编写完成后,用户可以主动触发或者CI本文档来自技高网...

【技术保护点】
1.一种基于BDD的单元测试系统,其特征在于,包括UTPJunit组件、UTP Idea插件、UTP单元测试平台;/n所述UTPJunit组件用于对测试用例进行管理以及测试信息的收集;/n所述UTP Idea插件用于生成UTPJUnit风格的单元测试用例模板;/n所述UTP单元测试平台用于管理、执行和分析单元测试用例。/n

【技术特征摘要】
1.一种基于BDD的单元测试系统,其特征在于,包括UTPJunit组件、UTPIdea插件、UTP单元测试平台;
所述UTPJunit组件用于对测试用例进行管理以及测试信息的收集;
所述UTPIdea插件用于生成UTPJUnit风格的单元测试用例模板;
所述UTP单元测试平台用于管理、执行和分析单元测试用例。


2.如权利要求1所述的基于BDD的单元测试系统,其特征在于,所述UTP单元测试平台通过BDD模块实现Markdown语法格式的需求文档,并将所述需求文档装换为所述单元测试用例。


3.如权利要求1所述的基于BDD的单元测试系统,其特征在于,所述UTP单元测试平台支持在线查看、编辑及生成测试用例。


4.如权利要求1所述的基于BDD的单元测试系统,其特征在于,所述UTP单元测试平台支持分布式执行。


5.如权利要求1所述的基于BDD的单元测试系统,...

【专利技术属性】
技术研发人员:王幸福张秋会
申请(专利权)人:携程计算机技术上海有限公司
类型:发明
国别省市:上海;31

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

1