软件测试打印

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1)(8)(10)(12) (2)(9)(11)(13) (3)(8)(10)(14)
2、设计测试用俐,使得每一个新设计的测试用例只包含一个无效等价类, 其他的选择有效等价类。(弱健壮性等价类测试)
(4)(8)(10)(12) (5)(9)(11)(13) (6)(8)(10)(14) (7)(8)(10)(14) (1)(8)(10)(15) (2)(9)(11)(16) (3)(8)(10)(17)
Software Testing
2.设计这样的测试用例,来实现一个对所有实数进行开平方运算 ( y = sqrt(x) )的程序的测试。 由于开平方运算只对非负实数有效,这时需要将所有的实数(输入域x进 行划分,可以分成:正实数、0 和 负实数。假设我们选定+1.4444代 表正实数,-2.345代表负实数,则为该程序设计的测试用例的输入为 +1.4444、 0 和 -2.345。 。 3.输入学生成绩,范围是0到100;(有效等价类:成绩0-100,无效等价类: 成绩<0,成绩>100 ) 4.学生选课允许2门至4门;(有效等价类:选课2至4门;无效等价类:只 选1门或未选课,选课超过4门)
无效等价类:不能构成三角形
B+C<A A+C<B
用户的输入可能是非法 的,因此无效等价类还 需要再细分,怎么细 分?
分析,此时,若按照输入域来划分,则难以覆盖所有的情况,且输出域较为清晰, 因此,按照输出域划分等价类。 注意,按输出域划分等价类最终还是需要对输入域划分,因为,最终要导出测试用 例需要的测试数据。
3~4 (2点) >4 (3点) 空白(未知)
输入 抚养人数
无效等价类
<1 (未知) 包含非数字字符(未知) >=10点(0.6%) <10点(0.1%)
输出 保险费率
有效等价类
第三步:设计测试用例
按照输入域划分等价类的例子。 1、设计测试用例,尽可能的覆盖尚未覆盖的有效等价类。(弱一般等价 类测试)
如果规定了三边长的输入范围,非法 输入中可根据范围来划分等价类
合法输入但不能构成三角形 负数 无效等价类: 非法输入 输入非正数 0 小数 非数值型数据
字母 特殊符号 空格
空白
通过上面划分 确定输入、输出,设计测试用例, 请同学们自己练习。
案例3
等价类划分:归类
常见的边界值 举例
对16-bit 的整数而言 32767 和 -32768 是边界
屏幕上光标在最左上、最右下位置 报表的第一行和最后一行 数组元素的第一个和最后一个
C++ 语言中,int A[10]: A[0]…A[9]
循环的第 0 次、第 1 次和倒数第 2 次、最后一次
边界值分析测试用例
边界值分析获得测试用例的方法: 使所有变量取正常值,只使一个变量取极值; 对于一个n变量函数,边界值分析会产生4n+1个测试用例。
③ A≤1, B == 0
④ A≤1, B≠0
F1 T2
F1 F2
判定一为假
⑤ A == 2,X > 1 T3 T4
⑥ A == 2,X≤1 T3 F4
⑦ A≠2,X>1 ⑧ A≠2,X≤1 F3 T4 F3 F4
判定二为真
判定二为假
A B X Case1 Case8 Case9 Case10
6.路径覆盖
• 数学含义
A<=x<=B C<=y<=D
问题:例子中共有多少个等价类?有效的几个,无效的几个?
X: 有效等价类为: A<=x<=B ; 无效等价类为:x<A和B<x两个无效等价类 Y: 有效等价类为:C<=y<=D ; 无效等价类为:y<C和D<y两个无效等价类
案例1(保险费率计算)
按照输入域划分等价类的例子。 • 某保险公司承担人寿保险,该公司保费计算方式为:保费=投保 额*保险率,保险率依点数不同而有别,10点以上(含10点)费 率为0.6%,10点以下费率为0.1% • 点数的计算是年龄、性别、婚姻、抚养人数所得的点数的总和 • 输入:年龄、性别、婚姻、抚养人数 • 输出:保险率
X 3 1 1 1
执行路径 ace abd abe acd
最少测试用例数计算
在循环简化的思路 下,循环与判定分支的 效果是一样的,即:循 环要么执行、要么跳过。
对于第一个N-S图: 由于图中并不存在并列的层次, 最少测试用例数由并列的操作数 决定,即为1+1+1=3。

对于第二个N-S图: 由于图中没有包含并列的层次, 最少测试用例数仍由并列的操作 数决定,即为1+1+1+1+1=5。
(2)
(3) (4) (5) (6)
年龄 输入 性别 婚姻
无效等价类
(7)
(8) (9) (10) (11)
有效等价类 有效等价类
已婚(3点)
未婚(5点)
是否可以有更多无效等价类?
第二步:等价类划分
1~2 (1点) (12) (13) (14) (15) (16) (17) (18) (19)
有效等价类
(A>1) AND (B==0) T c
b
X=X/A
F T e X=X+1
(A==2) ORA=2, B=0, X=3 执行路径 ace Case3:A=1, B=0, X=1 或者Case4:A=3, B=0, X=1 Case5:A=2, B=1, X=1 abd acd abe
4n+1怎么来的?
两个变量函数边界值分析测试用例
X1取值:x1min,x1min+,x1nom,x1max-,x1max X2取值:x2min,x2min+ ,x2nom,x2max-,x2max 两个变量函数的边界值分析测试用例
{ <x1nom,x2min>, <x1nom,x2min+>, <x1nom,x2nom>, <x1nom,x2max->, <x1nom,x2max>, <x1min,x2nom>, <x1min+, x2nom>, <x1max-, x2nom>, <x1max, x2nom> }
100
100 100 100 1 2 100 199 200
2
100 199 200 100 100 100 100 100
100
100 100 100 100 100 100 100 100
等腰三角形
等边三角形 等腰三角形 非三角形 等腰三角形 等腰三角形 等边三角形 等腰三角形 非三角形
三角形问题的最坏情况测试用例
• 三个变量:a,b,c • 产生5^3=125个测试用例 • 存在大量冗余
练习:NextDate函数
输入条件
1≤月份≤12 1≤日期≤31 1912 ≤年≤2050
请用边界值分析设计测试用例
注意,边界值分析也假设输入变量之间是独立的,因此,采用 边界值分析对NextDate问题设计测试用例,是不合适的。
等价类划分案例
1.设计测试用例,对两个1~100之间的整数进行求和运算 (s=a+b)的程序的测试。
等价类划分
用例编号 1 2 3 4 5 6 7 8 a 1 0 101 1.5 A % 空格 空白 b 10 0 101 1.5 B # 空格 空白 预期结果 实际结果 11 提示“...” 提示“...” 提示“...” 提示“...” 提示“...” 提示“...” 提示“...”
举例:三角形问题
三角形问题描述
三条边a,b,c取整数值,且各边的取值范围是:[1,
200]
边界值分析设计测试用例
每条边的取值:
1, 2, 100, 199, 200
测试用例数目:4n+1
三角形问题(n=3) :用例数为13
注意:这是非健壮性测试,健壮性测试还需添加哪些测试用 例?另外,未覆盖一般三角形,测试用例是不完备的。
备注
(1)(8)(10)(12)(18)
13点 8点 7点
(2)(9)(11)(13)(19) (3)(8)(10)(14)(19)
(4)
5
6 7 8 9
-1
122 “tt1 ” 22 22

男 女 女 女
未婚
未婚 已婚 已婚 已婚
2
8 1 空白 -1
错误
错误 错误 错误 错误
(5)
(6) (7) (15) (16)
2. 判定覆盖(分支覆盖)Case1:A=2, B=0, X=3 执行路径 ace
3.条件覆盖
上例中设条件:
A>1 B==0 A==2 X>1 取真表为 T1 T2 T3 T4 假表为 F1 F2 F3 F4
ABX 6 7 2 1 1 1 0 3
路径 abe abe
覆盖分支 be be
覆盖条件 T1 F2 T3 F4 F1 T2 F3 T4
三角形问题的测试用例-边界值分析
用例 1 2 3 4 5 6 a 100 100 100 100 100 100 b 100 100 100 100 100 1 c 1 2 100 199 200 100 预期输出 等腰三角形 等腰三角形 等边三角形 非三角形 等腰三角形 等腰三角形
7
8 9 10 11 12 13 14 15
说明:在设计无效部分的测试用例的时候,有效等价类部分,可 以任意选择。
第四步:选取测试用例
用例 编号 1 2 3 4 输入 年龄 22 45 65 空白 性别 男 女 男 男 输出 婚姻 抚养人数 保险率 已婚 未婚 已婚 未婚 1 4 8 1 0.6% 0.1% 0.1% 错误
检验是否覆盖了输出 等价类,若没有,还 需追加测试用例
4.判定-条件覆盖 A B X Case1 Case8
5.条件组合覆盖

路径 ace abd
覆盖分支 ce bd
覆盖条件 T1 T2 T3 T4 F1 F2 F3 F4
2 0 3 1 1 1
上例中需考虑4个条件的8种组合 ① A > 1, B == 0 T1 T2 ② A > 1, B≠0 T1 F2 判定一为真
10
22

未婚
“ ct2 ”
错误
(17)
Software Testing
案例2
三角形问题 (按输出域划分等价类的例子)
输入三边长a、b、c(1-100的整数),判断三角
形的类型
有效等价类:能构成三角形
等边三角形:A=B=C 等腰三角形
A=B!=C A=C!=B B=C!=A
一般三形:A!=B!=C A+B<C
组合:正交试验法
对于3因子两水平的组合测试,如果不用正交 试验法需要测试多少种组合?
案例一(正交试验法)
正交表
多因子两状 态的正交表
4因子三状 态的正交表
案例二(正交试验法)
选择合适的正交表
(1)确定水平数;
出现次数最多的水平数(尽可能大)。如,存在
两个因子有两状态,两个因子有三个状态,则选择水平数 为3。
NextDate问题的测试用例-边界值分析
组合:正交试验法
(1)确定因子和水平数;
因子:即变量,或输入条件
水平数:各个因子的取值数
(2)选择一个合适的正交表;
(3)利用正交表构造测试数据集。
适用场合:当输入条件的因素很多,且每个因素有多个取值 时,此时用正交试验法可缩减测试组合,减少工作量。

最少测试用例数计算

两个顺序执行的分支结构。
显然,要测试这个小程序,需要 至少提供4个测试用例才能作到逻辑 覆盖,使得ac、ad、bc及bd操作均 得到检验。其实,这里的4是图中的 第1个分支谓词引出的两个操作,及 第2个分支谓词引出的两个操作组合 起来而得到的,即 2×2=4。并且, 这里的2是由于两个并列的操作,即 1+1=2 而得到的。
输入数据说明
20~39 年龄 40~59 99以下59以上、20以下1以上 性别 婚姻 抚养人数 男 女 已婚 未婚 1人扣0.5点最多扣3点(四舍五入) 6点 4点 2点 5点 3点 3点 5点
第二步:等价类划分
20~39(6点) (1)
有效等价类
40~59 (4点)
60~99、1~19 (2点) 空白(未知) <1 (未知) >99 (未知) 包含非数字字符(未知) 男(5点) 女(3点)
路径 ace abe abe abd
覆盖组号 ①⑤ ②⑥ ③⑦ ④⑧
覆盖条件 T1 T2 T3 T4 T1 F2 T3 F4 F1 T2 F3 T4 F1 F2 F3 F4
2 0 3 2 1 1 1 0 3 1 1 1
用例 Case1 Case7 Case8 Case11
A 2 1 2 3
B 0 0 1 0
(2)确定因子数;
若根据因子数水平数没有找到相应的正交表,可 选大一些的正交表,然后将多余的列删除。
正交试验法关键
0 0 1组合虽然没测, 但出错的可能性很小
例子程序:
if( (A>1) && (B==0)) X=X/A; if ((A==2) || (X>1)) X=X+1;
程序框图
a F
相关文档
最新文档