2007-04-03
注重实效的单元测试总结
关键字: 单元测试一般的原则:
- 测试任何可能失败的地方。
- 测试任何已经失败的地方。
- 对于新加的代码,在被证明正确之前,都可能是有问题的。
- 至少编写和产品代码一样多的测试代码。
- 针对每次编译都做局部测试。
- 签入代码之前做全局测试。
要回答的问题:
- 我如何知道代码运行是否正确呢?
- 我要如何对它进行测试?
- 还有哪些方面可能会发生错误?
- 这个问题是否会在其他的地方出现呢?
测试哪些方面:使用你的RIGHT-BICEP
- 结果是否正确(Right)?
- 边界(boundary)条件是否正确?
- 是否可以检查反向(inverse)关联?
- 是否可以使用其他方法来交叉检查(cross-check)结果?
- 错误条件(error condition)是否可以重现?
- 性能方面是否满足条件?
好的测试是A TRIP
- Automatic(自动的)。
- Thorough(全面的)。
- Repeatable(可重复的)。
- Independent(独立的)。
- Professional(专业的)。
CORRECT边界条件
- 一致性(Conformance)--值是否符合预期的格式?
- 有序性(Ordering)--一组值是该有序的,还是该无序的?
- 区间性(Range)--值是否在一个合理的最大值和最小值的范围之内?
- 引用,耦合性(Reference)--代码是否引用了一些不受代码本身直接控制的外部因素?
- 存在性(Existence)--值是否存在(例如:非null,非零,包含于某个集合等)?
- 基数性(Cardinality)--是否恰好有足够的值?
- 时间性,绝对的或者相对的(Time)--所有事情是否都是按顺序发生的?是否在正确的时间?是否及时?
--摘自《单元测试之道》
发表评论
- 浏览: 17205 次
- 性别:

- 来自: 杭州

- 详细资料
搜索本博客
我的相册
myicon.png
共 7 张
共 7 张
最新评论
-
[摘]正确的创业者心态
ddd 写道》不过,如果这旧调本身不错,多弹几次,又有什么关系呢? 楼主看过古龙 ...
-- by spyker -
[摘]正确的创业者心态
》不过,如果这旧调本身不错,多弹几次,又有什么关系呢?楼主看过古龙的书,鉴定完毕 ...
-- by ddd -
无意中网上看到一篇关于ge ...
有很多必要的功能必须使用特定的插件,而这些插件又不是缺省安装必带的,所以用起来很 ...
-- by SteveGY -
无意中网上看到一篇关于ge ...
姜太公 写道可惜它的给关键字等加的颜色太难看。还有很多重复的gedit失败的地方 ...
-- by seen -
无意中网上看到一篇关于ge ...
可惜它的给关键字等加的颜色太难看。还有很多重复的
-- by 姜太公






评论排行榜