[发明专利]检查单元测试质量的方法和系统有效
申请号: | 201110427807.X | 申请日: | 2011-12-19 |
公开(公告)号: | CN103164335A | 公开(公告)日: | 2013-06-19 |
发明(设计)人: | 郭帅;毛锡凯 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 隆天国际知识产权代理有限公司 72003 | 代理人: | 张浴月;张志杰 |
地址: | 开曼群岛大开曼*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 检查 单元测试 质量 方法 系统 | ||
技术领域
本申请涉及计算机领域,特别涉及一种检查单元测试质量的方法和系统。
背景技术
单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。例如,可能需要把一个很大的值放入一个有序列表(list)中去,然后确认该值出现在list的尾部。
单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。单元测试不仅仅是作为无错编码的一种辅助手段在一次性的开发过程中使用,单元测试必须是可重复的,无论是在软件修改,或是移植到新的运行环境的过程中。
目前,单元测试的代码覆盖率虽然提高了,但由于单元测试的质量不能得到很好的保证,影响了单元测试的有效性。因此,急需一种有效的方案来检查单元测试的质量,以提升单元测试的有效性。
发明内容
为了提升单元测试的有效性,本申请提供了一种检查单元测试质量的方法和系统,技术方案如下:
一种单元测试质量的检查方法,包括:
利用面向切面编程方式,根据预设的用于描述测试元的元语获取所述测试元对应的测试元数据;
获取单元测试用例检查规则;
根据所述测试元数据和所述单元测试用例检查规则检查单元测试质量;
输出单元测试的质量检查结果。
一种单元测试质量的检查系统,包括:
测试元数据获取模块,用于利用面向切面编程方式,根据预设的用于描述测试元的元语获取所述测试元对应的测试元数据;
检查规则获取模块,用于获取单元测试用例检查规则;
规则检查模块,用于根据所述测试元数据和所述单元测试用例检查规则检查单元测试质量;
输出模块,用于输出单元测试的质量检查结果。
本申请的技术方案通过预设描述测试元的元语和单元测试用例检查规则,然后根据元语获取测试元对应的测试元数据,并利用测试元数据和单元测试用例检查规则,能够全面检查单元测试的质量,提高单元测试的有效性。
通过以下参照附图对本申请实施例的说明,本申请的上述以及其它目的、特征和优点将更加明显。
附图说明
下面将参照所附附图来描述本申请的实施例,其中:
图1是本申请实施例提供的检查单元测试质量的方法的流程图;
图2是本申请实施例提供的检查单元测试质量的系统的结构图;
图3是本申请实施例提供的检查单元测试质量的方法的详细流程图。
具体实施方式
下面结合附图详细描述本申请的具体实施例。应当注意,这里描述的实施例只用于举例说明,并不用于限制本申请。
影响单元测试的质量的因素包括但不限于以下几种:
第一、单元测试代码风格不规范,缺乏统一性。具体的表现形式包括但不限于以下几种:单元测试缺少断言;单元测试用例未包含预期结果;单元测试仅覆盖正常情况,对异常情况未考虑;测试方法的命名不统一;一些dao层的删除数据方法没有进行单元测试;单元测试数据繁多,有些方法参数/断言很多,所以会省略一些字段,可能会放过一些漏洞(bug)。
第二、单元测试用例设计不规范,系统测试功能覆盖面不全。具体的表现形式包括但不限于以下几种:不同的业务场景,靠人工修改参数来进行单元测试,而不是区分不同的测试用例来实现;dao层测试用例只有应用程序编程接口(Application Programming Interface,API)调用;集成测试用例只包含了业务场景的简单串联,没有走到所有的关键路径;单元测试没有按等价类划分测试用例,一般一个方法只会对应一个测试用例,例如空值(null)、边界值、极限值并没有被覆盖,会漏掉一些异常漏洞(bug)。
第三、单元测试依赖外部环境变量,外部环境的不稳定会导致单元测试的不稳定性。具体的表现形式包括但不限于以下几种:服务(Service)单元测试时需要屏蔽所有外部环境因素;私有方法应该独立测试;避免单元测试之间的依赖关系;有的类中变量是以注入的方式赋值,该赋值在方法中需要使用到,需要对这些变量也做一下覆盖测试,看赋值是否正确。
为了解决现有技术中存在的问题,本申请通过预设用于描述测试元的元语和单元测试用例检查规则,然后根据元语获取测试元对应的测试元数据,并利用测试元数据和单元测试用例检查规则能够全面检查单元测试的质量,提高单元测试的有效性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110427807.X/2.html,转载请声明来源钻瓜专利网。