软件测试PPT课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
显然,满足条件组合覆盖标准的测试用例一 定也满足断定覆盖、条件覆盖、断定/条件覆盖、 语句覆盖标准。
断定a中条件结果的所有可能组合: ①A>1,B=0 ; ② A>1,B ≠ 0; ③A≤ 1,B=0 ; ④ A ≤ 1,B ≠ 0 断定c中条件结果的所有可能组合: ⑤ A=2, x>1; ⑥ A=2,x ≤ 1 ; ⑦ A ≠ 2 ,x>1; ⑧ A ≠ 2 ,x ≤ 1
• 黑盒测试可用于各种测试,它试图发现以下类型 的错误:
• 不正确或遗漏的功能
• 接口错误,如输入/输出参数的个数、类型等
• 数据构造错误或外部信息访问错误
• 性能错误
• 初始化和终止错误
10.2 白盒测试
常用的白盒测试方法有: 逻辑覆盖测试 根本途径覆盖测试 数据流测试 循环测试
逻辑覆盖测试
逻辑覆盖主要考察使用测试数据运行被测 程序时对程序逻辑的覆盖程度。通常希望选择 最少的测试用例来满足所需的覆盖标准。主要 的覆盖标准有:
10.1 软件测试根底
一、软件测试的目的
➢ 测试是一个为了发现错误而执行程序的过程 ➢ 一个好的测试用例是指很可能找到迄今为至尚未发
现的错误的测试用例 ➢ 一个成功的测试是指提醒了迄今为至尚未发现的错
误的测试 ➢ 根据这个测试目的,应该排除对测试的错误观
点,设计适宜的测试用例,用尽可能少的测试用例, 来发现尽可能多的软件错误。
测试数据 x=4,A=2,B=0
预期结果 x=3
s
at
f
b
ct
f
d
e
a: (A>1) and (B=0)
c: (A=2) or
(x>1)
断定覆盖
断定覆盖〔也称分支覆盖〕是指选择足够的 测试用例,使得运行这些测试用例时,被测程序 的每个断定的所有可能结果都至少执行一次〔即 断定的每个分支至少经过一次〕
s
at
f
b
ctgt;1) and (z=0)
c: (y=2) or
(x>1)
测试数据
x=4,A=2,B=0 x=1,A=2,B=1 x=2,A=1,B=0 x=1,A=1,B=1
预期 结果 x=3 x=2 x=3
x=1
路径 a
sabcde t sacde f sacde f sace f
断定/条件覆盖
断定/条件覆盖是指选择足够的测试用例, 使得运行这些测试用例时,被测程序的每个断定 的所有可能结果都至少执行一次,并且,每个断 定中的每个条件的所有可能结果都至少出现一次。
显然,满足断定/条件覆盖标准的测试用例一 定也满足断定覆盖、条件覆盖、语句覆盖标准。
a: (A>1) and (B=0)
at
f
b
ct
f
d
e
测试数据 预期结果 路径 a c x=1,A=2,B=1 x=2 sacde f t x=3,A=3,B=0 x=1 sabce t f
a: (A>1)
and (B=0) c: (A=2) or (x>1)
条件覆盖
条件覆盖是指选择足够的测试用例,使 得运行这些测试用例时,被测程序的每个断 定中的每个条件的所有可能结果都至少出现 一次。
三、软件测试方法
静态分析
软件测试方法
动态测试
指以人工的、非形式化的方法对程序进展分析 和测试。
主要形式:审查、评审和走查。
评审〔Review〕
评审是由假设干开发人员、工程经理、测试人员、 用户或领域专家等组成一个会审小组,通过阅读、讨论和 争议,对工作制品进展静态分析的过程。
类型:需求评审、设计评审和代码评审。
断定覆盖将每个断定的所有可能结果都至少 执行一次,所以,程序中的所有语句也必定都至 少执行一次。因此,满足断定覆盖标准的测试用 例也一定满足语句覆盖标准。
欲使每个分支都执行一次,只需 执行途径L3〔sacde〕和L4〔sabce〕 即可。 或者,执行途径L1〔sabcde〕 和L2〔sace〕.
s
试等测试策略; 4.理解面向对象测试的根本内容; ⒌理解测试完成标准 ; ⒍掌握调试的概念及调试方法。
教学重点 ⒈软件测试的目的、根本原那么; ⒉白盒测试、黑盒测试及测试用例的设计; ⒊测试策略。 教学难点 ⒈白盒测试、黑盒测试及测试用例的设计; ⒉面向对象测试的根本内容。
教学学时
5学时
教学参考文献 ⒈教?学软方件法工程导论(第五版)?,张海藩,清华大学出 版采社用多媒体课件+讲授法+启发式相结合教学 ⒉?软件工程 (第二版)?,齐治昌,高等教育出版 社 ⒊?软件测试教程?,宫云战,机械工业出版社 ⒋?软件测试技术概论?,古乐,清华大学出版社 ⒌?软件性能测试与LoadRunner实战?,于涌, 人民邮电出版社
d — 定义 r — 引用 u — 未引用 R:duuuuu 只定义不用 S:uruuur 未定义引用 Y:uuddru 连续定义
审查〔Inspection〕
检查是由一些经过严格训练的人员根据评估标准, 对于开发过程中的产品或中间制品进展检查,发现其中 存在的错误。
–检查一般是按规定程序和时间方案进展的,参与 者来自开发人员、测试人员、质量保证人员或用户,以3 -7人组成小组。
A>1, B=0, A=2, x=1
A≤ 1,B ≠ 0, B≠ 2 ,x>1
e
a: (A>1) and (B=0)
c: (A=2) or
(x>1)
条件覆盖通常比断定覆盖强,但有时虽然 每个条件的所有可能结果都出现过,但断定 表达式的某些可能结果并未出现。上面的二 个测试用例满足了条件覆盖标准,但断定c为 “假〞的结果并未出现。
• 程序模块中的所有独立途径至少执行一次
• 对所有逻辑断定的取值〔“真〞与“假〞〕都至少测 试一次
• 在上下边界及可操作范围内运行所有循环
• 测试内部数据构造的有效性等
• 黑盒测试〔又称功能测试〕把测试对象看做一个 黑盒子,测试人员完全不考虑程序内部的逻辑构 造和内部特性,只根据程序的需求规格说明书, 检查程序的功能是否符合它的功能需求。
4.测试应从“小规模〞开场,逐步转向“大规 模〞
6.为到达最有效的测试,应由独立的第三方来
其他的测试原那么: 1.在设计测试用例时,应包括合理的输入条
件和不合理的输入条件 2.严格执行测试方案,排除测试的随意性
4.妥善保存测试方案、测试用例、出错统计 和最终分析报告,为维护提供方便
5.检查程序是否做了应做的事仅是成功的一 半,另一半是检查程序是否做了不该做的 事
c
覆盖的条件
t ①A>1,B=0 ⑤A=2,x=4 t ②A>1,B ≠0⑥A=2,x ≤1 t ③A≤1,B=0 ⑦A≠2,x>1 f ④A≤1,B≠0⑧A≠ 2,x≤1
s at fb
ct fd
a: (A>1) and (B=0) c: (A=2) or (x>1)
e
条件组合覆盖是上述五种覆盖标准中 最强的一种,然而,条件组合覆盖仍不能 保证程序中所有可能的途径都被覆盖。本 例中,满足条件组合覆盖标准的测试用例 就没有经过sabce途径。
途径覆盖
途径覆盖是指选择足够的测试用例,使得 运行这些测试用例时,被测程序的每条可能执 行到的途径都至少经过一次〔假如程序中包含 环路,那么要求每条环路至少经过一次〕。
s
本例中所有可能执行的途径有:
at
L1 ( sabcde , a为“t〞且c为“t〞) f b
L2 ( sace , a为“f〞且c为“f〞) c t L3 ( sacde , a为“f〞且c为“t〞) f d
•评审过程
–小组负责人先把需求规格说明、设计说明或程序代 码及有关要求、标准等分发给小组成员,作评审根据;
–在充分阅读有关材料后召开评审会议,主要开发人 员进展讲解,其他成员提出问题并展开讨论,审查是否存 在错误;
–评审小组形成产品评审的书面报告。
走查〔Walkthrough〕
走查是由设计人员或编程人员组成一个走查小组, 通过阅读一段文档或代码,并进展提问和讨论,从而发 现可能存在的缺陷、遗漏和矛盾的地方。
–类型:设计走查、代码走查。
•走查过程
–与评审过程类似,即先把材料先发给走查小组每 个成员,让他们认真研究程序,然后再开会;
–与评审的区别:评审通常是简单地读程序或对照 错误检查表进展检查;走查那么是按照所提交的测试用 例,人工模拟计算机运行一遍,并记录跟踪情况。
走查时,还常使用以下分析方法: ①调用图:从语义的角度考察程序的控制道路。
▪ 语句覆盖 ▪ 断定覆盖 ▪ 条件覆盖
▪ 断定-条件覆盖 ▪ 条件组合覆盖 ▪ 途径覆盖
例:对以下子程序进展测试 Procedure〔var A,B,X:real〕; begin if 〔A>1) and (B=0) then X:=X/A ; if (A=2) or (X>1) then X:=X+1 end; 该子程序承受A、B、X的值,并将计算结果x的
次,共需5亿年。
X
P
Z
Y
“程序测试是证明程序正确地执行了预期的 功能〞。实际上,一个程序不仅要完成它所需完 成的功能,而且不应完成它不该做的事。如不能 把边长为0、0、0的三条边判断为等边三角形。
二、软件测试的原那么
Davis提出了一组指导软件测试的根本原那么:
3. Pareto原那么:测试中发现的80%的错误可 能来自于20%的程序代码
值返回给调用程序。 与该子程序对应的流程图如下:
s
入口
a
(A>1) and
t
(B=0)
f
x=x/A
b
c
(A=2) or (x >1)
t
f
x=x+1
d
e
返回
语句覆盖
语句覆盖是指选择足够的测试用 例,使得运行这些测试用例时,被测 程序的每个可执行语句都至少执行一 次。
欲使每个语句都执行一次,只需 执行途径L1〔sabcde〕即可。 测试用例如下:
A READY
N
B
Y>0
Y
C
X:=Y
Y
X<0 D
E
N
调用子程序
无论Y 为 何值,都不可 以调用子程序。
即执行ABC 后,是不可能执 行途径CDE的。
② 数据流分析图:检查分析变量的定义和引用情况。
1
2
W=1/S
3 Y=A**W
4 Y=E*W
5 Z=X+Y
6 C=Z*S
节点 —表示单个语句。 有向边 —表示控制构造。
•检查过程
–检查遵循一个严格的过程,人员经过培训,检查 过程有评估标准;
–检查过程包括方案、会议准备、会议召开、修改 错误、问题跟踪等环节,目的是获得工程管理和质量评 估的数据,并改进检查过程本身。
通过选择适当的测试用例,执行程序。
• 测试用例的设计是软件测试的关键所在 • 设计尽可能少的测试用例来发现尽可能多的错误 • 设计最有可能发现软件错误的测试用例,同时防
软件测试PPT课件
第10章 软件测试
10.1 软件测试根底 10.2 白盒测试 10.3 黑盒测试 10.4 测试策略 10.5 面向对象测试 10.6 测试完成的标准 10.7 调试
教学目的与要求
⒈掌握软件测试的目的、根本原那么、测试方法; ⒉纯熟掌握白盒测试、黑盒测试及测试用例的设
计; ⒊掌握单元测试、集成测试、确认测试、系统测
有关软件测试的错误观点
“软件测试是为了证明程序是正确的,即测 试能发现程序中所有的错误〞。事实上这是不可 能的。要通过测试发现程序中的所有错误,就要 穷举所有可能的输入数据。
例:程序P有两个整型输入量 X、Y,输出量
为Z,在32位机上运行。所有的测试数据组〔Xi,
Yi〕的数目为:232×232= 264,1毫秒执行1
止使用发现错误效果一样的测试用例 • 测试用例的设计方法大体可分为两类: • 白盒测试和黑盒测试。
• 白盒测试〔又称构造测试〕把测试对象看作一个透 明的盒子,测试人员根据程序内部的逻辑构造及有 关信息设计测试用例,检查程序中所有逻辑途径是 否都按预定的要求正确地工作。
• 白盒测试主要用于对模块的测试,包括:
c: (A=2) or
(x>1)
测试数据 预期结 路径 果
x=4,A=2,B=0 x=3 sabcde
x=1,A=1,B=1 x=1 sace
s
at
f
b
ct
f
d
e
a c 覆盖的条件
t t A>1,B=0, A=2,x=4
f f A≤ 1,B ≠ 0, A ≠ 2 ,x ≤1
条件组合覆盖
条件组合覆盖是指选择足够的测试用例,使 得运行这些测试用例时,被测程序的每个断定中 条件结果的所有可能组合都至少出现一次
s
断定a中各种条件的所有可能结果:A>1, a t
A≤ 1 ,B=0, B ≠ 0。
f
b
断定c中各种条件的所有可能结果:A=2, c t
A ≠ 2 ,x>1, x ≤ 1 。
f
d
测试数据 预期 结果
x=1,A=2,B=0 x=1.5
x=2,A=1,B=1 x=3
路径 覆盖的条件
sabcde sacde
相关文档
最新文档