因果图法测试用例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例题:程序规定:输入三个整数a、b和c分别作为三角形的3条边,通过程序判断由这3条边构成的三条边类型是:等边三角形、等腰三角形、一般三角形或非三角形(不能够成一个三角形)

黑盒测试(因果图法)

程序:

#include

#include

using namespace std;

void main(){

cout<<"输入三边边长:"<

double a,b,c;

cin>>a;

cin>>b;

cin>>c;

if(a+b>c&&a+c>b&&b+c>a&&fabs(a-b)

if(a==b&&b==c){

cout<<"等边三角形:"<

}

else if(a==b||a==c||b==c){

cout<<"等腰三角形"<

}

else

{

cout << "普通三角形" << endl;

}

}

else cout<<"不能构成三角形"<

}

(1)分析软件规格说明书,找出原因和结果。

原因:C1: 0≤a≤100

C2: 0≤b≤100

C3: 0≤c≤100

C4: a

C5:b

C6:c

C7: a=b

C8:b=c

C9: a=c

中间结果:10:边范围正确

11.可以构成三角形

12.任意两条边相等

13.三条边相等

结果:E1:边输入不正确

E2:普通三角形

E3:等腰三角形

E4:等边三角形

(2)找出原因与结果之间的因果关系、原因与原因之间的约束关系,画出因果图。

(3)将因果图转换成决策表。

测试用例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

输入C1: 0≤a≤100 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 C2: 0≤b≤100 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 C3: 0≤c≤100 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 C4: a>b+c 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 C5:b>a+c 1 0 0 0 1 0 1 1 1 1 1 1 1 1 1 C6:c>a+b 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1 C7: a=b 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 C8:b=c 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 C9: a=c 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1

中间结果10:边范围正

1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 11:可以构成

三角形

1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 12:任意两条

边相等

0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 13:三条边相

0 0 0 0 0 0 0 0 0 0 0 1 0 0 0

输出

E1:边输入不正

0 1 1 1 1 1 1 0 0 0 0 0 0 0 0

E2:普通三角形 1 0 0 0 0 0 0 0 0 0 1 0 1 1 1 E3:等腰三角形0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 E4:等边三角形0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 (4)根据决策表设计测试用例的输入数据和预期输出。

测试用例编号输入数据预期输出结果

1 3、4、5 普通三角形

2 0、1、2 边输入不正确

3 1、0、2 边输入不正确

4 1、2、0 边输入不正确

5 1、2、3 边输入不正确

6 1、3、2 边输入不正确

7 3、2、1 边输入不正确

8 3、3、4 等腰三角形

9 3、4、4 等腰三角形

10 3、4、3 等腰三角形

11 3、4、5 普通三角形

12 3、3、3 等边三角形

13 3、4、4 普通三角形

14 3、4、3 普通三角形

15 3、3、4 普通三角形

相关文档
最新文档