第六节: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度
引用、耦合性:
你的程序引用的哪些位于程序之外的事物?程序运行还需要存在哪些其他的条件
存在性:
对于你传入或者维护的值,假如不存在,那么方法的行为将会怎么样
基数性:
指的就是计数。你需要想办法来测试你得函数是否正确计数,并且检查最后的计数值
时间性:
包括相对时间(时间上的顺序),绝对时间(消耗的时间和钟表上的时间),并发问题。
热爱编程,热爱技术,热爱生活