四.设计(10’+15’=25’)
1. 举例说明因果图方法的步骤。
答:利用因果图导出测试用例需要见过以下几个步骤:
1、分析程序规格说明中哪些是原因,哪些是结果。原因常常是输入条件或输入条件的等价类,结果则是输出条件。
2、分析程序规格说明中语义的内容,找出原因与结果之间,原因与原因之间的对应关系,并将其表示成连接各个原因与各个结果的“因果图”。
3、由于语法或环境的限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。为表明这些特定的情况,在因果图上使用一些记号表明约束或限制条件。
4、把因果图转换成决策表。
5、根据决策表中每一列设计测试用例。
某软件规格说明要求:第一个字符必须是#或*,第二个字符必须是一个数字,在此情况下进行文件的修改。如果第一个字符不是#或*,则给出信息N;如果第二个字符不是数字,则给出信息M。
分析:把原因和结果分开
原因:
c1—-第一个字符是#
c2—-第一个字符是*
c3—-第二个字符是一个数字
结果:
e1—-给出信息N
e2—-修改文件
e3—-给出信息M
将原因和结果用上述的逻辑符号连接起来,可以得到因果图,然后,根据因果图建立决策表。
得到的因果图如下:
得到的决策表如下:
2. 运用边界值分析法设计关于三角形问题的测试用例。
答:设三角形的三边长分别为a,b,c,且1<=a<=100, 1<=b<=100, 1<=c<=100,
设计的测试用例如下:
附加:
请结合等价类方法给出GetDay(int month,int year)方法的测试用例,该方法是根据给定的月份和年份返回该月份的天数。
解:由题意,可设Y1是平年,Y2是闰年,
M1(1,3,5,7,8,10,12)表示月份天数为31天的等价类,
M2(4,6,9,10) 表示月份天数为30天的等价类,
M3(2)表示2月份,则有下表:
测试用例如下:
因果图:
v 对于输入条件的约束有以下4种:
1、E约束:a和b中最多有一个可能为1,即a和b不能同时为1。
2、I约束:a、b和c中至少有一个必须是1,即abc不能同时为0。
3、O约束:a和b必须有一个且仅有一个为1。
4、R约束;a是1时,b必须是1,即当a是1时,b不能是0。
输出条件的约束只有M约束:若结果a是1,则结果b强制为0。
详情:
v 结合三角形问题给出构造决策表的5个步骤如下:
(1)确定规则的个数。例如,三角形问题的决策表有4个条件,每个条件可以取两个值,故应有2^4=16种规则。
(2)列出所有的条件桩和动作桩。
(3)填入条件项。
(4)填入动作项,这样便可得到初始决策表。
(5)简化。
Tags: Softtest
不错的文章!谢谢分享!
[回复]