几款好用的自动化单元测试框架和工具

单元测试(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语言。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值