单元测试相关问题

转载 2012年04月26日 13:48:16

1、单元测试的单元选取

  单元测试,测试对象是单元,似乎很简单,但是单元选取不合理是很多人在做单元测试时候容易犯得到错误。

  比如C语言编程,很多人直接就把每个函数作为单元来对待,把函数作为单元并没有错,错的是并不是所有的C语言函数都是单元。

  我们在选取单元的时候要注意两点:单元应该高内聚、低耦合

  • 高内聚就是一个单元应该是一个实现一定逻辑功能的相对完整的单元,做单元测试我们经常要对一些函数作桩来代替依赖函数的功能,而高内聚保证我们一般不需要在单元的内部做桩;
  • 低耦合就是,单元逻辑边界应该比较清晰稳定,这样单元测试通过逻辑边界接口来驱动单元的时候,单元测试用例的稳定性相对比较好,不至于经常一点小小的变化就要对单元测试用例做大规模变更。

  2、单元测试的度

  到底单元测试应该做到什么度呢?当然不是那么简单,很多项目在没有正确答案的情况下都用白盒覆盖率来衡量,比如语句覆盖80%,分支覆盖60%等等,项目组以为达到覆盖率目标就可以了,殊不知这样恰恰是顾了指标忘了目标,特别白盒覆盖率指标,这些指标只是用来进行辅助判断的,根本的还是应该关注单元的逻辑功能的覆盖,通过代码覆盖率的不足来分析这些代码涉及的逻辑功能测试上的场景缺失。

  那么到底如何做单元测试呢?这里给大家推荐一个方法,那就是软件质量分级。因为不同的单元对于质量的要求不同,因此我们针对不同的单元可以采取不同的质量方法。对于低质量要求的单元,我们可以只进行基本的代码走读等基本代码质量保障活动就可以了;一般的交付质量要求的单元,我们除了基本的代码走读之外,一般要求至少100%的代码语句覆盖和基本代码静态检查;一些质量高的单元可能还需要增加更加深入的覆盖,比如80%的分支判定覆盖,增加动态检查等;对于最高质量要求的单元,除了上面的我们可能还得考虑其他办法,比如不同的编译器,多种不同的静态检查、动态检查等。通过分级的单元测试确保分级的单元质量。

  3、单元测试自动化

  不同公司单元测试的方法可能不一样,但是有一点一点必须保证,就是单元测试自动化。因为单元测试的目的是为了保证代码的质量防护,如果不能自动化运行必然不能频繁运行,这样也就谈不上对代码的看护了。


http://www.51testing.com/html/69/n-808269.html

JUnit单元测试课程PPT与相关文件

  • 2014年05月23日 13:00
  • 21.63MB
  • 下载

使用Junit4进行单元测试的相关配置

最近在进行框架搭建,就设计到单元测试,记录一下,备忘。 使用的框架是springmvc+spring4+hibernate4+junit4.使用junit的steps是: 引入相应的jar包 编写b...
  • Mimixin
  • Mimixin
  • 2015年08月17日 17:55
  • 395

Java单元测试相关的两个jar包

  • 2017年01月13日 15:42
  • 311KB
  • 下载

单元测试相关文档两则_wwt

  • 2009年11月26日 22:57
  • 156KB
  • 下载

这里收集了一些Android单元测试相关的文章

Android,UT,单元测试,相关文章 这里收集了一些Android单元测试相关的文章

EasyMock 单元测试过程中模拟相关类的实例

在单元测试的
  • ITMAOO
  • ITMAOO
  • 2014年10月09日 17:06
  • 1073

单元测试和白盒测试相关总结

单元测试和白盒测试相关总结!

Android学习:测试的相关概念及Android下的单元测试

测试相关的概念: 1. 好的应用都是被测出来的 2. 测试的分类: 1)根据是否知道源代码: 白盒测试: 知道源代码 根据源代码来进行测试 (程序员 高级测试人员) 黑盒测试: 不知道源代码...

使用Junit进行单元测试时遇到的问题记录[下]

10、  命名问题:source、target;upperBound、upperLimit、lowerBound;greaterThan即gt即大于、ge即greaterEquals即大于等于、low...
  • ywytom
  • ywytom
  • 2017年03月07日 16:07
  • 253
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:单元测试相关问题
举报原因:
原因补充:

(最多只允许输入30个字)