第六节:CORRECT边界条件

View Code
public int calculate(int a, int b)
{
return a/(a+b);
}

大多的时候,代码会返回你所期望的值,但是如果a+b为0 你就会得到一个DivdeByZeroExpection,而不是期望的值,这就是边界条件。

Conformance--一致性  值是否符合预期的格式

Ordering------有序性  一组值应该是有序的还是无序的

Range--------区间型 值是否存在一个最大值和最小值的区间范围内

Reference----引用,耦合性  代码是否引用了一些 不受代码本身直接控制的外部因素

Existence----存在性  值是否存在

Cardinality---基数性  是否恰好有足够的值

Time---------时间性  所有事情是否都是按顺序反生的?是否在正确的时间,是否及时。

一致性:

很多时候,你期望产生的数据符合特定的形式。但是如果数据不能像你期望的那样,你就需要测试来确保你的结果的一致性。

有序性:

有序性包括数据的顺序,或者数据在集合中的哪个位置,还有就是让元素位置有序。

区间性:

对于一个变量,他所属类型的取值范围可能比你需要或者想象的更加宽广,例如我们用整数来存储角度,但是在一个圆中 角度并不会大于360度

引用、耦合性:

你的程序引用的哪些位于程序之外的事物?程序运行还需要存在哪些其他的条件

存在性:

对于你传入或者维护的值,假如不存在,那么方法的行为将会怎么样

基数性:

指的就是计数。你需要想办法来测试你得函数是否正确计数,并且检查最后的计数值

时间性:

包括相对时间(时间上的顺序),绝对时间(消耗的时间和钟表上的时间),并发问题。

posted @ 2012-02-21 19:36  Jimmy-Lee  阅读(558)  评论(0编辑  收藏  举报