等价类-因果图习题及答案汇总

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

}

测试用例设计习题课:

1、使用逻辑覆盖测试方法测试以下程序段

void DOWork(int x,int y,int z)

{

1 int k=0,j=0;

2 if((x>3)&&(z<10))

3 {

4 k=x*y-1;

·

5 j=sqrt(k);

6 }

7 if((x==4)||(y>5))

8 j=x*y+10;

9 j=j%3;

}

要求(1)画出程序段的控制流图

(2)分别以条件覆盖,路径覆盖方法设计测试用例

{

2、使用逻辑覆盖测试方法测试以下程序段

void Do(int X,int A,int B)

{

1 if((A>1)&&(B==0))

2 X=X/A;

3 if((A==2)||(X>1))

4 X=X+1;

5 }

~

要求(1)画出程序段的控制流图

(2)分别以条件覆盖,路径覆盖方法设计测试用例

3、以此为例根据业务流程设计用户登录的流程图,然后依据流程图设计手动测试用例(假如密码只允许试三次)。

业务流程图如下:单击登录按钮开始进入如下界面,然后输入账号或者邮件地址、密码、验证码。

账号或邮箱:

密码:

验证码:

下次登录(按钮)

登录按钮

用户登录的流程图:

{

4、某省高考招生,规定考生的年龄在16周岁至25周岁之间,即出生年月从1978年7月至1987年6月。高考报名程序具有自动检测输入程序的功能。若年龄不在此范围内,则显

示拒绝报名的信息。试用等价类划分法为该程序设计测试用例。

设计方法:假定年龄用6位整数表示,前4位表示年份,后2位表示月份。

(1)划分有效等价类和无效等价类。

输入数据有出生年月、数值本身、月份3个等价类,并为此划分有效等价类和无效等

(2

(3)为每一个无效等价类至少设计一个测试用例:

~

5、有一程序,其规格说明书规定:输入两个字符,当第一个字符是A或B,且第二个字符是数字时修改文件;若第一个字符不是A,也不是B时,输出错误信息M1;若第二个字符不是数字时,输出错误信息M2。试用因果图法设计测试用例。

设计方法:

(1)分析规格说明书中,并确定“因”与“果”。

(2)画出因果图。

6、在某应用系统中,系统登录界面如图所示。

该输入界面中包含“服务器”、“端口”、“用户名”、“密码”4个多选输入框和“确定”、“取消”2个按钮。这里只考虑多选项。

(1)确定因素。本例中的因素一目了然,分别是“服务器”、“端口”、“用户名”、“密码”。

(2)确定因素的取值范围或集合。本例中的“服务器”和“端口”是采用下拉框式来选择的,根据软件规格说明书,其取值集合分别为:

①“服务器”——北京、上海、广州、沈阳、兰州。

②“端口”——1258、2368、4588、6677、7788。

③“用户名”是字符型字段,其长度为[4,20],张三是一个合法用户;“密码”也是字符型字段,其长度为[6,20],886644是该用户的初始密码。

(3)确定每个因素的水平。本例中的“服务器”和“端口”的取值是离散的,对于这种类型的因素,其水平值原则上与因素的取值集合一致。“用户名”和“密码”2个字段是用户通过键盘输入的,其水平值不像前2个因素那样简单、直观。对于这种类型的因素,要采用不同的软件测试技术(如等价类划分)来确定因素的水平。本例所确定的“用户名”和“密码”2个因素的水平如表所示。

}

(4)选择正交表。本例中确定的因素和水平如表所示。根据表,选择正交表,如表所示。

表确定的因素和水平对照表

7、三角形问题:输入三个整数a,b,c,分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型为等边三角形,等腰三角形,一般三角形(特殊的还有直角三角形)以及构不成三角形.

现要求输入三个整数a,b,c必须满足以下条件:

条件1 1<= a <=100

$

条件2 1<= b <=100

条件3 1<= c <=100

条件4 a

条件5 b

条件6 c

如果输入的值不满足这些条件的任何一个,程序给出相应的信息,如“a 的取值不在允许的范围内”等;

如果a,b,c满足条件1、条件2、条件3。则输出下列四种情况之一:

(1)如果不满足条件4、条件5、条件6中的一个,则程序输出为“非三角形”

(2)》

(3)如果三条件边相等,则程序输出为“等边三角形”;

(4)如果恰好有两条边相等,则程序输出为“等腰三角形”;

(5)如果三条边都不相等,则程序输出为“一般三角形”

这四种情况是相互排斥的。

要求:写出标准等价类表,健壮等价类表,边界值测试用例表

*

|

~

/

答案:

1、使用逻辑覆盖测试方法测试以下程序段

void DOWork(int x,int y,int z)

{

1 int k=0,j=0;

2 if((x>3)&&(z<10))

3 {

4 k=x*y-1;

]

5 j=sqrt(k);

6 }

7 if((x==4)||(y>5))

8 j=x*y+10;

相关文档
最新文档