三角形的等价划分啦
问题:根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。“一个程序读入3个整数,把这三个数值看做一个三角形的3条边的长度值。这个程序要打印出信息,说明这个三角形是不等边的、是等腰的、还是等边的。
我们都知道,组成三角形的条件是:三条边必须大于零,并且任意两边之和大于第三边。
我们来做一个假设,设三条边是:A、B、C。请看这是组成三角形的条件:A>0,B>0,C>0,A+B>C,A+C>B,B+C>A。来看看不能的吧:A<=0,
B<=0,C<=0, B+C<=A, A+B<=C,
A+C<=B。呵呵,完全相反的两个条件。
我们将能组成三角形的三个数分为一类,而不能的也分为一类。
现在回到测试用例上来了,到底这个等价划分和测试用例有什么关系呢?如果有关系又是怎么体现的呢?
我们说判断一个三角形是不等边的或者等腰的或者是等边的,首先要判断的是三条边能不能组成三角形——等价划分。我们这里的用例设计也是按等价划分来实现的。
组成三角形的三边,要满足:A>0,B>0,C>0,A+B>C,A+C>B,B+C>A;
以上的条件要同时满足,既与的关系,所以在用例设计的时候,要同时满足这几个条件,比如:A=3
B=4 C=5,A=4 B=5 C=6,A=5 B=6 C=7。
以上这几个用例因为同时都满足组成三角形的条件,所以我们说它是等价的。因此,我们在设计用例的时候,如果是等价条件的用例,我们可以只取其中一个就可以了。
TEST12 张德钊