注重实效的单元测试总结

发表于:2007-05-20来源:作者:点击数: 标签:单元测试测试单元注重实效关键字
关键字: 单元测试 一般的原则: 测试任何可能失败的地方。 测试任何已经失败的地方。 对于新加的代码,在被证明正确之前,都可能是有问题的。 至少编写和产品代码一样多的测试代码。 针对每次编译都做局部测试。 签入代码之前做全局测试。 要回答的问题: 我
关键字:   单元测试    

一般的原则:

测试任何可能失败的地方。 测试任何已经失败的地方。 对于新加的代码,在被证明正确之前,都可能是有问题的。 至少编写和产品代码一样多的测试代码。 针对每次编译都做局部测试。 签入代码之前做全局测试。

要回答的问题:

我如何知道代码运行是否正确呢? 我要如何对它进行测试? 还有哪些方面可能会发生错误? 这个问题是否会在其他的地方出现呢?

测试哪些方面:使用你的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)--所有事情是否都是按顺序发生的?是否在正确的时间?是否及时?

原文转自:http://www.ltesting.net