软件测试技术PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
源程序
程序员:
我要让计算
3
机什么做?
理解正确性 设计正确性 表达正确性
设计说明书
设计员: 我要让软件
理解正确性 编码正确性
2021/3/7
做什么?CHENLI
10
17.1.2 测试原则
(2) 测试工作真正开始前较长时间就进行测试
计划
(3)pareto原则可应用于软件测试
(4)测试应从“小规模”开始,逐步转向“大规
19
(1)语句覆盖
使程序中每个语句至少执行一次
2021/3/7
CHENLI
20
语句覆盖 开始
a
F (A>1) AND (B=0) b
T
c
X=X/A
F (A=2) OR (X>1) T
e
d
X=X+1
2021/3/7
返回
CHENLI
21
只需设计一个测试用例: 输入数据:A=2,B=0,X=4 即达到了语句覆盖;
软件工程
第17章 软件测试技术
2021/3/7
CHENLI
1
第17章 软件测试技术
17.1 软件测试基础
17.1.1 测试目标
17.1.2 测试原则
17.1.3 可测试性
Fra Baidu bibliotek
17.2 测试用例设计
17.3 白盒测试
17.4 基本路径测试
17.4.1 流图符号
17.4.2 环复杂度
17.4.3 导出测试案例
24
例:可设计两组测试用例: A=3,B=0 ,X=3 可覆盖c、d分支 A=2,B=1 ,X=1 可覆盖b、e分支
两组测试用例可覆盖所有判定的真假分支
语句覆盖仍是弱的逻辑覆盖
2021/3/7
CHENLI
25
(3)条件覆盖
使每个判定的每个条件的可能取值 至少执行一次
2021/3/7
CHENLI
26
模”
(5)穷举测试是不可能的。
(6)应由独立的第三方来构造测试
2021/3/7
CHENLI
11
17.1.3 可测试性
可测试软件的特征:
▪可操作性 ▪可观察性
▪可控制性
▪可分解性
▪简单性
▪稳定性
▪易理解性
2021/3/7
CHENLI
12
“好”测试的属性:
▪ 发现错误的可能性高
▪ 不冗余
▪ 在目的相似的测试中,应使用最可能找到所
语句覆盖是最弱的逻辑覆盖
2021/3/7
CHENLI
22
(2) 判定覆盖(分支覆盖)
使每个判定的真假分支都至少执行一次
2021/3/7
CHENLI
23
判定覆盖 开始
a
F (A>1) AND (B=0) b
T
c
X=X/A
F (A=2) OR (X>1) d
T e
X=X+1
2021/3/7
返回
CHENLI
CHENLI
6
17.1.2 测试原则
(1)所有的测试都应追溯到用户需求, 程序中的问题根源可能在开发前期的 各阶段解决、纠正错误也必须追溯到 前期工作。
2021/3/7
CHENLI
7
测 决定软件与系统的配合关系
试
与
需求分析
开
概要设计
发
详细设计
前
期
编码
工
单元测试
作
的
集成测试
关
确认测试
系
2021/3/7
2021/3/7
CHENLI
3
第17章 软件测试技术
17.7 针对专门环境、体系结构和应用的测试 17.7.1 测试GUI 17.7.2 客户/服务器体系结构的测试 17.7.3 测试文档和帮助设施 17.7.4 实时系统测试
17.8 小结
2021/3/7
CHENLI
4
第17章 软件测试技术
软件开发过程必须伴有质量保证活动
有错误的测试
▪ 一个好测试不会太简单,也不会太复杂。每
一个测试应独立执行
2021/3/7
CHENLI
13
软件测试有关概念
测试组
*
测试用例
*
找出
使用
由……修改
1…n
组件
* 测试存根
* 测试驱动程序
*
故
障
*
*
由……引起
误差
*
*
由……引起
改正
*
修改
*
错误
测试中用到的模型元素(UML类图) 2021/3/7
2021/3/7
17.4.4 图矩阵 CHENLI
2
第17章 软件测试技术
17.5 控制结构测试 17.5.1 条件测试 17.5.2 数据流测试 17.5.3 循环测试
17.6 黑盒测试 17.6.1 基于图的测试方法 17.6.2 等价划分 17.6.3 边界值分析 17.6.4 比较测试 17.6.5 正交数组测试
2021/3/7
CHENLI
16
白盒测试的测试用例设计
逻辑覆盖法
(1)语句覆盖
(2)判定覆盖
(3)条件覆盖
(4)判定/条件覆盖
(5)条件组合覆盖
(6)路径覆盖
(7)点覆盖
(8)边覆盖
2021/3/7
CHENLI
17
例:PROCEDURE SAMPAL
(A,B:REAL; VAR X:REAL); BEGIN
第一判定表达式:
软件测试是软件质量保证的关键元素, 代表了规约、设计和编码的最终检查。
2021/3/7
CHENLI
5
17.1.1 测试目标
1.测试是为了寻找错误而运行程序的过程。 2.一个好的测试用例是指很可能找到迄今为
止尚未发现的错误的测试。 3.一个成功的测试是揭示了迄今为止尚未发
现的错误的测试。
2021/3/7
CHENLI
14
17.2 测试用例设计
选择测试用例是软件测试员最重要的一项工作。
测试用例的属性:
属性 name location input oracle log
描述
测试用例的名称 可执行的完全路径名 输入数据或命令 与测试输入相比较的期待测试结果
测试生产的输出
2021/3/7
CHENLI
15
17.3 白盒测试
IF (A>1) AND (B=0) THEN X:=X/A IF (A=2) OR (X>1) THEN X:=X+1 END;
2021/3/7
CHENLI
18
开始
a
F (A>1) AND (B=0) b
T
c
X=X/A
F (A=2) OR (X>1) T
e
d
X=X+1
2021/3/7
返回
CHENLI
又称:开盒测试、结构测试、玻璃盒测试、基于覆盖
的测试。根据被测程序的逻辑结构设计测试用
例,力求提高测试覆盖率。
使用白盒测试,产生的测试案例可以:
1) 保证一个模块中的所有独立路径至少被使用一次;
2) 对所有逻辑值均需测试真和假;
3) 在上下边界及可操作范围内运行所有循环;
4) 检查内部数据结构以确保其有效性。
系统测试
CHENLI
8
开发前期出现错误的扩展
测 编 设 需求 试 码 计 分析 计划
A B
2021/3/7
CHENLI
9
软件生存期各阶段间需保持的正确性
用户要求 用户:
相符吗?
运行结果
计算机:
我要什么?
程序运行得
理解正确性
5 到的结果
表达正确性
1
运行正确性
需求说明书
分析员:
我可以提
供什么?
2
4 输入正确性