B17
B+c=a
B18
两边相等
A=b
A07
B=c
A08
A=c
A09
三边相等
A=b=c
A10
用例
编号
有效输入
覆盖有效等价类
编号
无效输入
覆盖无效等价类
1
345
A01、A02、A03
A04、A05、A06
1
.。
。
。
。
。
2
334
A01、A02、A03
A07
3
433
A01、A02、A03
A08
4
343
A01、A02、A03
A09
5
333
A01、A02、A03
A10
18
。
。
。
。
。
。
2.边界值
2.1.保险年龄
某保险网站的前台计算保费页面,其中有年龄字段的输入,不同的年龄段会使用不同的费率计算标准。
其中:
01-15岁,费率为:
10%
16-20岁,费率为:
15%
21-50岁,费率为:
20%
51-70岁,费率为:
25%
输入条件
有效等价类
边界值
编号
无效等价类
输入
编号
正整数
正整数[1,正无穷]
1
A01
小数
1.0
B01
负数
-1
B02
0
0
B03
字母
大写
上点:
A
Z
内点:
M
B04
B05
B06
小写
B0
B07
符号
@
[
B08
B09
空格
空格
B10
汉字
简体
B0
B11
繁体
B0
B12
1-70
[1,15]
上点:
1
15
A02
A03
A04
离点
0
B13
内点:
10
[16,20]
上点:
内点:
A05
A06
A07
[21,50]
[51-70]
上点:
51
70
内点:
69
离点:
71
B14
2.1.三角形
输入三角形三边应为正整数[100,200],分别构成非三角形、一般三角形、等腰三角形和等边三角形。
A:
上点:
100、200
内点:
150
离点:
99、201
其他:
101、199
前提:
1、单缺陷假设(不考虑边界的组合15个)
A
B
C
A
B
C
A
B
C
100
150
150
150
100
150
150
150
100
200
150
150
150
200
150
150
150
200
150
150
150
150
150
150
150
150
150
99
150
150
150
99
150
150
150
99
201
150
150
150
201
150
150
150
201
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
2、多缺陷(考虑边界值的组合53=125个)
A
B
C
100
150
150
200
150
150
150
150
150
99
150
150
201
150
150
100
100
150
100
100
100
。
。
。
。
。
。
。
。
。
3.判定表
3.1.读书选择
1、如果觉得疲倦并且对书的内容感兴趣,同时书中的内容让你糊涂的话,回到本章重读
2、如果觉得疲倦并且对书的内容感兴趣,同时书中的内容不让你糊涂,继续读下去
3、不觉得疲倦并且对书的内容感兴趣,但是书中的内容让你糊涂的话,回到本章重读
4、如果觉得疲倦并且对书中的内容不感兴趣,同时书中的内容不让你糊涂,停止阅读,请休息
5、如果觉得疲倦并且对书的内容不感兴趣,并且书中的内容让你糊涂,请停止阅读,休息
6、不疲倦,对书的内容感兴趣,书中的内容不糊涂,继续读下去
7、不疲倦,不感兴趣,书中内容糊涂,跳到下一章去读
8、不疲倦,不感兴趣,书中内容不糊涂,跳到下一章去读
1、需求分析
条件:
是否疲倦、是否感兴趣、是否糊涂
结果:
本章重读、继续读、停止阅读、跳到下一章
2、绘制判定表(条件的组合23=8个)
1
2
3
4
5
6
7
8
条件
是否疲倦
0
0
0
0
1
1
1
1
是否感兴趣
0
0
1
1
0
0
1
1
是否糊涂
0
1
0
1
0
1
0
1
结果
本章重读
X
X
继续读
X
X
停止阅读
X
X
跳到下一章
X
X
优点:
组合充分,没有遗漏
缺点:
用例数量随条件的递增而过多(2nn:
条件的个数)
条件的类型:
布尔
3、合并判定表
1
2
3
4
1、2
3、7
4、5
6、8
条件
是否疲倦
0
-
-
1
是否感兴趣
0
1
1
-
是否糊涂
-
0
1
1
结果
本章重读
X
继续读
X
停止阅读
X
跳到下一章
X
原则:
结果相同
条件有一个不同
风险:
产生分支或者路径的遗漏
3.2.密码修改
若需修改密码,系统验证旧密码正确,两个新密码相同,则更新密码,旧密码即失效,其他修改项也生效,并提示“用户信息修改成功”;若旧密码不正确,则提示“用户密码错”,系统将不修改个人信息;若两个新密码不同,则提示“新密码与验证新密码不同”,系统将不修改个人信息。
若只修改密码外其他信息,则不需输入两个新密码,系统只验证旧密码正确,就成功更改个人信息,并提示“用户信息修改成功”;如果系统验证旧密码输入不正确,则提示“用户密码错”。
1、需求分析:
条件:
旧密码是否正确、新密码是否为空、新密码是否相同、是否修改其他信息
结果:
信息修改成功、用户密码错、密码不同
2、界面原型:
2、实现的功能:
1、只修改密码
2、同时修改密码和其他信息
3、只修改其他信息(如果考虑密码为空的情况,改功能无法实现)
――解决办法:
密码不允许为空,如果密码输入为空,代表不修改密码
3、绘制判定表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
条件
旧密码是否正确
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
新密码是否为空
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
新密码是否相同
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
是否修改其他信息
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
结果
信息修改成功
用户密码错
密码不同
3.3.三角形
输入三角形三边应为正整数,分别构成非三角形、一般三角形、等腰三角形和等边三角形。
1、需求分析
条件:
两边之和大于第三边
A+B>CA+C>BB+C>A
两边相等
A=BB=CA=C
结果:
非三角形、一般三角形、等腰三角形、等边三角形
2、
1
2
3
4
5
6
7
8
9
10
11
条件
A+B>C
0
1
1
1
1
1
1
1
1
1
1
A+C>B
-
0
1
1
1
1
1
1
1
1
1
B+C>A
-
-
0
1
1
1
1
1
1
1
1
A=B
-
-
-
0
0
0
0
1
1
1
1
B=C
-
-
-
0
0
1
1
0
0
1
1
A=C
-
-
-
0
1
0
1
0
1
0
1
结果
非三角形
X
X
X
一般三角形
X
等腰三角形
X
X
X
等边三角形
X
无效
无效
无效
4.因果图
4.1.字母判定
第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下(只有这个时候才)进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。
1、需求分析:
条件:
第一列是A、第一列是B、第二列是数字
结果:
修改文件、提示L、提示M
2、绘制判定表
1
2
3
4
5
6
7
8
条件
第一列是A
0
0
0
0
1
1
1
1
第一列是B
0
0
1
1
0
0
1
1
第二列是数字
0
1
0
1
0
1
0
1
结果
修改文件
提示L
提示M
无效
无效
3、绘制判定表
4、去除无效列
4.2.自动售货机
有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。
其规格说明如下:
若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。
若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。
1、需求分析
条件:
有零钱、选橙汁、选啤酒、投5角、投1元
结果:
红灯亮、出橙汁、出啤酒、找5角、退1元
2、因果图
5.状态迁移
5.1.飞机售票系统
1、客户向航空公司打电话预定机票—>此时机票信息处于“完成”状态
2、顾客支付了机票费用后—>机票信息就变为“已支付”状态
3、旅行当天到达机场后,拿到机票后—>机票信息就变为“已出票”状态
4、登机检票后—>机票信息就变为“已使用”状态
5、在登上飞机之前任何时间可以取消自己的订票信息,如果已经支付了机票的费用,则还可以得到退款,取消后—>订票信息处于“已被取消”状态
1、绘制“状态迁移图”
2、绘制“状态迁移树”
2、生成测试用例
每个树枝形成一个测试用例(4个)
5.2.QC中缺陷跟踪流程
以缺陷管理跟踪流程为例,使用状态迁移方法设计测试用例。
1、状态迁移图
3、状态迁移树
4、用例(6个)
6.流程分析
6.1.嵌入式发送子流程
在某嵌入式系统中,将待发送的数据打包成符合CAN协议的帧格式后,便可写入发送缓站区,并自动发送。
该发送子程序的流程为:
1、首先进入发送子程序
2、系统判断是否有空闲发送缓冲区,如果没有则返回启动发送失败消息。
3、如果有空闲缓冲区,将数据包写入空闲发送缓冲区
4、系统判断是否写入成功,如果不成功则返回启动发送失败消息
5、如果写入成功,则启动发送命令
6、返回启动发送成功消息
1、绘制活动图(流程图):
2、生成测试用例(借鉴单元测试-分支覆盖、路径覆盖)
分支覆盖(100%):
A-C-E-F(基本流)
A-B(备选流)
A-C-D(备选流)
路径覆盖(100%):
A-C-E-F
A-B
A-C-D
6.2.登录流程
6.3.字母判定
第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下(只有这个时候才)进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。
用例1:
第一列是AorB-第二列是数字-修改文件
第一列是A-第二列是数字-修改文件1-5
第一列是B-第二列是数字-修改文件2-3
用例2:
第一列不是AorB-提示L3-1
用例3:
第一列是AorB-第二轮不是数字-提示M
第一列是A-第二轮不是数字-提示M4-4
第一列是B-第二轮不是数字-提示M5-2
1
2
3
4
5
6
7
8
条件
第一列是A
0
0
0
0
1
1
1
1
第一列是B
0
0
1
1
0
0
1
1
第二列是数字
0
1
0
1
0
1
0
1
结果
修改文件
X
X
提示L
X
X
提示M
X
X
无效
无效
1
2
3
4
5
1、2
3
4
5
6
条件
第一列是A
0
0
0
1
1
第一列是B
0
1
1
0
0
第二列是数字
-
0
1
0
1
结果
修改文件
X
X
提示L
X
提示M
X
X
6.4.三角形
输入三角形三边应为正整数,分别构成非三角形、一般三角形、等腰三角形和等边三角形。
7.正交试验
7.1.环境搭建
假设一个WEB站点,该站点有大量的服务器和操作系统,并且有许多具有各种插件的浏览器浏览:
Web浏览器
Netscape
IE
Firefox
插件
RealPlayer
Flash
PDFReader
服务器
IIS
Tomcat
Weblogic
操作系统
WinXP
Win2000
Win2003
L4-2-3:
4-实验次数(用例的个数)
2-水平(每个条件取值的个数)
3-因素(条件的个数)
L9-3-4:
所在列
1
2
3
4
因素
Web浏览器
插件
服务器
操作系统
实验结果
实验1
Netscape
RealPlayer
IIS
WinXP
实验2
Netscape
Flash
Tomcat
Win2000
实验3
Netscape
PDFReader
Weblogic
Win2003
实验4
IE
RealPlayer
Tomcat
Win2003
实验5
IE
Flash
Weblogic
WinXP
实验6
IE
PDFReader
IIS
Win2000
实验7
Firefox
RealPlayer
Weblogic
Win2000
实验8
Firefox
Flash
IIS
Win2003
实验9
Firefox
PDFReader
Tomcat
WinXP
特点:
1、任何一列:
每个值出现次数相同
2、任何两列:
每组值对出现次数相同
3、每个条件的每个值都和其他条件的所有值成对组合过(两两组合-充分+平均)
7.2.组合查询
方法2:
Web浏览器
Netscape
IE
Firefox
插件
RealPlayer
Flash
PDFReader
BaiDu
服务器
IIS
Tomcat
Weblogic
操作系统
WinXP
Win2003
case
WEB浏览器
插件
服务器
操作系统
1
IE6.5
AdobePDF
IIS
Windows2000
2
Firefox3.0
Falsh
Apche
Windows2000
3
IE6.5
AdobePDF
Apche
Windows2003
4
Firefox3.0
Falsh
IIS
Windows2003
5
Firefox3.0
AdobePDF
Tomcat
Linux
6
IE6.5
Falsh
Tomcat
Linux
7
IE6.5
RealPlayer
IIS
WindowsXP
8
Firefox3.0
Baidu
Apche
WindowsXP
9
Firefox3.0
RealPlayer
Apche
Windows98
10
IE6.5
Baidu
IIS
Windows98
11
IE6.5
RealPlayer
Tomcat
Windows2000
12
Firefox3.0
Baidu
Tomcat
Windows2003
13
Firefox3.0
RealPlayer
IIS
Linux
14
IE6.5
Baidu
Apche
Linux
15
Firefox3.0
AdobePDF
Tomcat
WindowsXP
16
IE6.5
Falsh
Tomcat
Windows98
17
Firefox3.0
Baidu
IIS
Windows2000
18
IE6.5
RealPlayer
Apche
Windows2003
19
IE6.5
Falsh
IIS
WindowsXP
20
Firefox3.0
AdobePDF
IIS
Windows98