赞
踩
单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证,可以快速验证代码是否准确地实现了设计目的,帮助提高代码设计的合理性(能进行单元测试的函数,一定是低耦合的)和健壮性(遍历函数的逻辑路径,函数不发生意料之外的问题),还能发现代码中的缺陷和bug。
相比后续复杂的集成测试和系统测试,单元测试的创建和维护比较简单,发现的代码问题也容易定位和修复,具有高效率低成本的优势。
用自动化单元测试的方式,研发人员(通常建议单元测试由开发人员完成最为高效,但是开发人员通常项目任务紧,时间和精力不够)在用例设计、执行和数据管理上不需要再花费巨量的时间,就可能有足够的精力来真正进行和完成单元测试内容。
今天,介绍几款好用的自动化单元测试框架的工具。
unittes —— 基于python语言
unittest 单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果。
unittest为python内置库,通常不需要单独安装。
Junit —— 基于Java语言
JUnit 是一个编写可重复测试的开源框架。它是单元测试框架的 xUnit 架构的一个实例。JUnit提供断言测试预期结果、测试功能共享通用的测试数据、测试套件轻松地组织和运行测试、图形和文本测试运行。
Junit在业界有广泛应用,网上信息很多很全,也方便学习和集成。
iUnit、Visual Unit —— 基于C\C++语言
C\C++语言,尤其是C语言,多用于可靠性要求较高的领域,如汽车电子、航空航天、轨道交通方向的核心控制程序,因此相关行业对单元测试也都有严格的标准要求,多采用较为成熟的商业工具。
iUnit和Visual Unit都是国内厂商研发的单元测试工具,都具有较好的语言特性支持和友好的交互界面。两款工具都是支持用户全表格化操作,不需要再去编写任何测试代码,工具具有较好的用例管理、数据分析展示、报告生成功能。
此外,iUnit相比而言功能会更加全面一些,主要如下:
1)提供测试用例自动生成功能,自动生成测试用例集的语句覆盖率通常在80%-90%左右,这样大部分的用例设计工作可以由工具自己完成,用户可以在此基础上进行用例补充和优化,提高覆盖率情况或者对关注的核心函数增加测试深度。这一点对经常性项目周期紧(唉,经常性加班的程序猿举个手)加人员缺少的团队很有意义。
2)可以适配和部署国产环境,比如银河麒麟+飞腾,这个是一些国家秘密安全相关行业很关心的问题,也是一些国外工具的致命短板。
3)支持的开发环境很多,像用的比较多的CCS、tornado、Qt、Keil,甚至于国内自己开发的一些开发环境,翼辉、海迅、天脉等等
NUnit —— 基于C#语言
NUnit是一个专门针对于.NET来写的单元测试框架,它是xUnit体系中的一员,在开始的时候NUnit和xUnit体系中的大多数的做法一样,仅仅是将Smalltalk或者Java版本转换而来,但是在.NET2.0之后它加入了一些特有的做法。
NUnit完全用C#编写,并且编写时充分利用了许多 .NET 的特性,比如反射,客户属性等等。重要的一点是它适合于所有.NET语言。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。