软件工程-82_软件测试和维护1
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
➢ S :uruuur 未定义引用 ➢ Y:uuddru 连续定义
软件测试与维护
电子科大生命学院 王玲
P‹#›
白盒法
白盒法又称为逻辑覆盖法,分析程序的内部逻辑结 构,注意选择适当的覆盖标准,设计测试用例,对 主要路径进行尽可能多的测试。
其测试用例选择,是按照不同覆盖标准确定的。
弱
强
判
条
语
判
条
定
电子科大生命学院 王玲
P‹#›
软件测试阶段的重点
目的:发现和改正错误 名词:测试用例 重要的方法
静态测试 动态测试(白盒测试、黑盒测试)
软件测试的步骤和每步的任务 应用
白盒测试,黑盒测试
软件测试与维护
电子科大生命学院 王玲
P‹#›
5.2 软件测试的特点
1、软件测试的开销大
统计->软件测试的开销大约占总成本的30%50%,工作量占开发过程的40%-50%。
满足条件覆盖,但不满足判断 覆盖。
电子科大生命学院 王玲
P‹#›
4、判定/条件覆盖
• 同时满足判断覆盖和条 件覆盖。
A
a>1 AND b=0
N
B
C
Y
x=x/a
a=2 OR x>1
DN
E
Y
X++
应满足以下覆盖情况: 条件: a>1, a≤1, b=0, b≠0
a=2, a≠2, x>1, x≤1
应执行路径 ACE ∧ ABD 或 ACD ∧ ABE 选择用例:
满足以下覆盖情况:
① a>1, b =0 ② a>1, b≠0 ③ a≤1, b=0 ④ a≤1, b≠0 ⑤ a=2, x>1 ⑥ a=2, x≤1 ⑦ a≠2, x>1 ⑧ a≠2, x≤1
选择用例: [(2,0,4),(2,0,3)] ① ⑤ [(2,1,1),(2,1,2)] ② ⑥ [(1,0,3),(1,0,4)] ③ ⑦ [(1,1,1),(1,1,1)] ④ ⑧
该完成的任务。 长期保存测试用例。
3、充分注意测试中的群集现象。
软件测试与维护
电子科大生命学院 王玲
P‹#›
测试 项目
学生 个人 基本 信息 管理 测试
测试目的 输入
测试操 预期测试结果 作
全为空 105001,张晓,… 105001,张晓,…
添加、更 必填项不能为空 新
添加、更 操作成功 新
没有此记录
105001/软件工程/2019/ 空
单击“相应查看”按钮
查询 查询
返回学生列表 显示学生基本信息
实际测试 结果
同预期测试 结果
同预期测试 结果
同预期测试 结果
同预期测试 结果
同预期测试 结果
同预期测试 结果
同预期测试 结果
同预期测试 结果
同预期测试 结果
同预期测试 结果
软件测试与维护
电子科大生命学院 王玲
D
N
E
Y
x++
软件测试与维护
• 使得判定中的每个条件 获得各种可能的结果。
应满足以下覆盖情况: 判定一: a>1, a≤1, b=0, b≠0 判定二: a=2, a≠2, x>1, x≤1 选择用例:
[(2,0,4),(2,0,3)] [(1,1,1),(1,1,1)]
注意:[(1,0,3),(1,0,4)] [(2,1,1),(2,1,2)]
软件测试与维护
电子科大生命学院 王玲
P‹#›
黑盒法
不考虑程序的内部结构与特性,只 根据程序功能或程序的外部特性设 计测试用例。
等
边
错
因
价
值
误
果
分 类
分 析
推 测
图
法
法
法
法
软件测试与维护
ຫໍສະໝຸດ Baidu
电子科大生命学院 王玲
P‹#›
P‹#›
5.4 生存周 期软件开发 V模型
软件测试与维护
电子科大生命学院 王玲
P‹#›
5.5 软件测试方法
软件测 试方法
软件测试与维护
静态分 析方法
桌前检查
代码会审 步行检查 调用图
数据流分析图
以人工的、非 形式化的方法 对程序进行分 析和测试
动态分 析方法
白盒法 黑盒法
语句覆盖 条件覆盖 判定覆盖 组合覆盖
电子科大生命学院 王玲
通过选择适当 的测试用例, 等价分类执法 行程序
边值分析法 错误推测法
因果图法
P‹#›
一、静态分析方法
① 调用图:从语义的角度考察程序的控制路线。
A READY
N
B
Y>0
Y
C
X=Y
Y
X<0 D
E
N
调用子程序
无论Y 为何值, 都不能够调用子
程序。
即执行ABC后, 是不可能执行路 径CDE的。
选择用例(其一): ⑴ [(2,0,4),(2,0,3)] ACE
[(1,1,1),(1,1,1)] ABD ⑵ [(2,1,1),(2,1,2)] ABE
[(3,0,3),(3,1,1)] ACD
软件测试与维护
电子科大生命学院 王玲
P‹#›
3、条件覆盖
A
a>1 AND b=0
N
B
C
Y
x=x/a
a=2 OR x>1
件
句
定
件
条
组
覆
覆
覆
件
合
盖
盖
盖
覆 盖
覆 盖
软件测试与维护
电子科大生命学院 王玲
P‹#›
白盒法步骤
逻辑结构
1)选择逻辑覆盖标准。 2)按照覆盖标准列出所有情况。 3)选择确定测试用例。 4)验证分析运行结果与预期结果。
软件测试与维护
电子科大生命学院 王玲
P‹#›
案例1:白盒法测试
if(a>1 && b==0) x=x/a;
软件测试与维护
电子科大生命学院 王玲
P‹#›
一、静态分析方法
② 数据流分析图:检查分析变量的定义和引用情况。
1
R=0.5
2
W=1/S
3 Y=A**W
4 Y=E*W
5 Z=X+Y
6 C=Z*S
节点 —表示单个语句。 有向边 —表示控制结构。 d — 定义 r — 引用 u — 未引用
➢ R:duuuuu 只定义不用
[(2,0,4),(2,0,3)](ACE) [(1,1,1),(1,1,1)] (ABD)
软件测试与维护
电子科大生命学院 王玲
P‹#›
5、条件组合覆盖
• 使得每个判定中条件的各种 可能组合都至少出现一次。
A
x>1
N
B
Y cb=0
N
Y
a=x/a
a=2 Y
N Y
x>1
N
D
E
x++
编译系统下的执行情况: 部分路径未被执行。
软件测试与维护
电子科大生命学院 王玲
P‹#›
5.1 软件测试的目的和重要性
1963年美国飞往火星的火
箭爆炸,原因是
FORTRAN程序:DO 5
I=1,3
误写为:DO 5 I=1. 3
损失1000万美元。
1967年苏联“联盟一 号”宇宙飞船返回时
因忽略一个小数点,
在进入大气层时打不
开降落伞而烧毁。
软件测试与维护
2、不能进行“穷举”测试
程序P有两个整型输入量 X、Y,输出量为Z, 在32位机上运行
3、软件测试难度大
“高效的测试用例”
软件测试与维护
电子科大生命学院 王玲
P‹#›
5.3 软件测试的基本原则
1、尽量不由程序设计者进行测试。
2、关键是注重测试用例的选择。
输入数据的组成(输入数据、预期的输出结果) 既有合理输入数据,也有不合理的输入数据。 用例既能检查应完成的任务,也能够检查不应
用例格式: [输入(a,b,x),输出(a,b,x)]
选择用例: [(2,0,4),(2,0,3)]
软件测试与维护
电子科大生命学院 王玲
P‹#›
2、判定覆盖
A
a>1 AND b=0
N
B
C
Y
x=x/a
a=2 OR x>1
DN
E
Y
x++
• 使得程序中每个判定至少 为TRUE 或FALSE各一次。
覆盖情况:应执行路径 ACE ∧ ABD 或 ACD ∧ ABE
if(a==2 || x>1) x++;
a>1 AND b=0
N
Y
x=x/a
a=2
Y
OR
x>1
N
x++
软件测试与维护
电子科大生命学院 王玲
P‹#›
1、语句覆盖
A
a>1
Y
AND
b=0
N
B
C
x=x/a
a=2
YE
OR
x>1
DN
x++
• 使得程序中每个语句至 少都能被执行一次。
满足语句覆盖的情况: 执行路径:ACE
添加、更 此记录已经存在 新
学生个人 选择学生列表前的选框, 删除 基本信息 单击“删除”按钮
显示,学 确认删除单击“确定” 删除
生查询, 按钮
添加学生, 选择学生列表前的选框, 备份 编辑学生 单击“备份”按钮
个人基本 确认备份单击”确认
备份
信息
“按钮
105008
查询
是否要删除XX
返回学生列表,删除成 功 是否要备份XX,备份后 将删除相关记录 操作成功
软件测试与维护
电子科大生命学院 王玲
P‹#›
白盒法
白盒法又称为逻辑覆盖法,分析程序的内部逻辑结 构,注意选择适当的覆盖标准,设计测试用例,对 主要路径进行尽可能多的测试。
其测试用例选择,是按照不同覆盖标准确定的。
弱
强
判
条
语
判
条
定
电子科大生命学院 王玲
P‹#›
软件测试阶段的重点
目的:发现和改正错误 名词:测试用例 重要的方法
静态测试 动态测试(白盒测试、黑盒测试)
软件测试的步骤和每步的任务 应用
白盒测试,黑盒测试
软件测试与维护
电子科大生命学院 王玲
P‹#›
5.2 软件测试的特点
1、软件测试的开销大
统计->软件测试的开销大约占总成本的30%50%,工作量占开发过程的40%-50%。
满足条件覆盖,但不满足判断 覆盖。
电子科大生命学院 王玲
P‹#›
4、判定/条件覆盖
• 同时满足判断覆盖和条 件覆盖。
A
a>1 AND b=0
N
B
C
Y
x=x/a
a=2 OR x>1
DN
E
Y
X++
应满足以下覆盖情况: 条件: a>1, a≤1, b=0, b≠0
a=2, a≠2, x>1, x≤1
应执行路径 ACE ∧ ABD 或 ACD ∧ ABE 选择用例:
满足以下覆盖情况:
① a>1, b =0 ② a>1, b≠0 ③ a≤1, b=0 ④ a≤1, b≠0 ⑤ a=2, x>1 ⑥ a=2, x≤1 ⑦ a≠2, x>1 ⑧ a≠2, x≤1
选择用例: [(2,0,4),(2,0,3)] ① ⑤ [(2,1,1),(2,1,2)] ② ⑥ [(1,0,3),(1,0,4)] ③ ⑦ [(1,1,1),(1,1,1)] ④ ⑧
该完成的任务。 长期保存测试用例。
3、充分注意测试中的群集现象。
软件测试与维护
电子科大生命学院 王玲
P‹#›
测试 项目
学生 个人 基本 信息 管理 测试
测试目的 输入
测试操 预期测试结果 作
全为空 105001,张晓,… 105001,张晓,…
添加、更 必填项不能为空 新
添加、更 操作成功 新
没有此记录
105001/软件工程/2019/ 空
单击“相应查看”按钮
查询 查询
返回学生列表 显示学生基本信息
实际测试 结果
同预期测试 结果
同预期测试 结果
同预期测试 结果
同预期测试 结果
同预期测试 结果
同预期测试 结果
同预期测试 结果
同预期测试 结果
同预期测试 结果
同预期测试 结果
软件测试与维护
电子科大生命学院 王玲
D
N
E
Y
x++
软件测试与维护
• 使得判定中的每个条件 获得各种可能的结果。
应满足以下覆盖情况: 判定一: a>1, a≤1, b=0, b≠0 判定二: a=2, a≠2, x>1, x≤1 选择用例:
[(2,0,4),(2,0,3)] [(1,1,1),(1,1,1)]
注意:[(1,0,3),(1,0,4)] [(2,1,1),(2,1,2)]
软件测试与维护
电子科大生命学院 王玲
P‹#›
黑盒法
不考虑程序的内部结构与特性,只 根据程序功能或程序的外部特性设 计测试用例。
等
边
错
因
价
值
误
果
分 类
分 析
推 测
图
法
法
法
法
软件测试与维护
ຫໍສະໝຸດ Baidu
电子科大生命学院 王玲
P‹#›
P‹#›
5.4 生存周 期软件开发 V模型
软件测试与维护
电子科大生命学院 王玲
P‹#›
5.5 软件测试方法
软件测 试方法
软件测试与维护
静态分 析方法
桌前检查
代码会审 步行检查 调用图
数据流分析图
以人工的、非 形式化的方法 对程序进行分 析和测试
动态分 析方法
白盒法 黑盒法
语句覆盖 条件覆盖 判定覆盖 组合覆盖
电子科大生命学院 王玲
通过选择适当 的测试用例, 等价分类执法 行程序
边值分析法 错误推测法
因果图法
P‹#›
一、静态分析方法
① 调用图:从语义的角度考察程序的控制路线。
A READY
N
B
Y>0
Y
C
X=Y
Y
X<0 D
E
N
调用子程序
无论Y 为何值, 都不能够调用子
程序。
即执行ABC后, 是不可能执行路 径CDE的。
选择用例(其一): ⑴ [(2,0,4),(2,0,3)] ACE
[(1,1,1),(1,1,1)] ABD ⑵ [(2,1,1),(2,1,2)] ABE
[(3,0,3),(3,1,1)] ACD
软件测试与维护
电子科大生命学院 王玲
P‹#›
3、条件覆盖
A
a>1 AND b=0
N
B
C
Y
x=x/a
a=2 OR x>1
件
句
定
件
条
组
覆
覆
覆
件
合
盖
盖
盖
覆 盖
覆 盖
软件测试与维护
电子科大生命学院 王玲
P‹#›
白盒法步骤
逻辑结构
1)选择逻辑覆盖标准。 2)按照覆盖标准列出所有情况。 3)选择确定测试用例。 4)验证分析运行结果与预期结果。
软件测试与维护
电子科大生命学院 王玲
P‹#›
案例1:白盒法测试
if(a>1 && b==0) x=x/a;
软件测试与维护
电子科大生命学院 王玲
P‹#›
一、静态分析方法
② 数据流分析图:检查分析变量的定义和引用情况。
1
R=0.5
2
W=1/S
3 Y=A**W
4 Y=E*W
5 Z=X+Y
6 C=Z*S
节点 —表示单个语句。 有向边 —表示控制结构。 d — 定义 r — 引用 u — 未引用
➢ R:duuuuu 只定义不用
[(2,0,4),(2,0,3)](ACE) [(1,1,1),(1,1,1)] (ABD)
软件测试与维护
电子科大生命学院 王玲
P‹#›
5、条件组合覆盖
• 使得每个判定中条件的各种 可能组合都至少出现一次。
A
x>1
N
B
Y cb=0
N
Y
a=x/a
a=2 Y
N Y
x>1
N
D
E
x++
编译系统下的执行情况: 部分路径未被执行。
软件测试与维护
电子科大生命学院 王玲
P‹#›
5.1 软件测试的目的和重要性
1963年美国飞往火星的火
箭爆炸,原因是
FORTRAN程序:DO 5
I=1,3
误写为:DO 5 I=1. 3
损失1000万美元。
1967年苏联“联盟一 号”宇宙飞船返回时
因忽略一个小数点,
在进入大气层时打不
开降落伞而烧毁。
软件测试与维护
2、不能进行“穷举”测试
程序P有两个整型输入量 X、Y,输出量为Z, 在32位机上运行
3、软件测试难度大
“高效的测试用例”
软件测试与维护
电子科大生命学院 王玲
P‹#›
5.3 软件测试的基本原则
1、尽量不由程序设计者进行测试。
2、关键是注重测试用例的选择。
输入数据的组成(输入数据、预期的输出结果) 既有合理输入数据,也有不合理的输入数据。 用例既能检查应完成的任务,也能够检查不应
用例格式: [输入(a,b,x),输出(a,b,x)]
选择用例: [(2,0,4),(2,0,3)]
软件测试与维护
电子科大生命学院 王玲
P‹#›
2、判定覆盖
A
a>1 AND b=0
N
B
C
Y
x=x/a
a=2 OR x>1
DN
E
Y
x++
• 使得程序中每个判定至少 为TRUE 或FALSE各一次。
覆盖情况:应执行路径 ACE ∧ ABD 或 ACD ∧ ABE
if(a==2 || x>1) x++;
a>1 AND b=0
N
Y
x=x/a
a=2
Y
OR
x>1
N
x++
软件测试与维护
电子科大生命学院 王玲
P‹#›
1、语句覆盖
A
a>1
Y
AND
b=0
N
B
C
x=x/a
a=2
YE
OR
x>1
DN
x++
• 使得程序中每个语句至 少都能被执行一次。
满足语句覆盖的情况: 执行路径:ACE
添加、更 此记录已经存在 新
学生个人 选择学生列表前的选框, 删除 基本信息 单击“删除”按钮
显示,学 确认删除单击“确定” 删除
生查询, 按钮
添加学生, 选择学生列表前的选框, 备份 编辑学生 单击“备份”按钮
个人基本 确认备份单击”确认
备份
信息
“按钮
105008
查询
是否要删除XX
返回学生列表,删除成 功 是否要备份XX,备份后 将删除相关记录 操作成功