路径测试ppt课件.pptx

上传人:资****亨 文档编号:124723602 上传时间:2020-03-13 格式:PPTX 页数:62 大小:668.94KB
返回 下载 相关 举报
路径测试ppt课件.pptx_第1页
第1页 / 共62页
路径测试ppt课件.pptx_第2页
第2页 / 共62页
路径测试ppt课件.pptx_第3页
第3页 / 共62页
路径测试ppt课件.pptx_第4页
第4页 / 共62页
路径测试ppt课件.pptx_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《路径测试ppt课件.pptx》由会员分享,可在线阅读,更多相关《路径测试ppt课件.pptx(62页珍藏版)》请在金锄头文库上搜索。

1、第八章 路径测试 8 1 8 1 程序图程序图 8 2 DD8 2 DD路径路径 8 3 8 3 测试覆盖标准测试覆盖标准 8 4 8 4 基路径测试基路径测试 8 5 8 5 原则与注意事项原则与注意事项 Path testing 1 第八章 路径测试 结构性测试 回顾 v白盒测试 White box testing 白盒的 实现是已知的 并被用来标识测试用例 程序的结构和处理过程象白盒子一样透明 允许测试人员利用 程序内部的逻辑结构及有关信息 设计或选择测试用例 对程 序所有逻辑路径进行测试 输输入输输出 2 第八章 路径测试 结构性测试 回顾 v结结构性测试测试 基于被测测程序的源代码码

2、 它涉及到的是 软软件设计设计 的细节细节 v结结构性测试测试 方法支持严严格定义义 数学分析和精确度 量 v结结构性测试测试 力求提高测试测试 覆盖率 3 第八章 路径测试 结构性测试 回顾 v结构性测试主要是想对程序模块进行如下检查 q 对程序模块的所有独立的执行路径至少测试一次 q 所有的逻辑判定 取 真 与取 假 的两种情况都至 少测试一次 q 在循环的边界和运行界限内执行循环体 q 测试内部数据结构的有效性等 测试测试 方法 路径测试测试 数据流测试测试 4 第八章 路径测试 结构性测试 回顾 v结构性测试用例标识方法的比较 S 规格说明 预期的 P 程序 观察的 测试用例集合完全局

3、限在已编程实现的行为集合中 测试用例 方法A SP T 测试用例 方法B SP T 5 第八章 路径测试 结构性测试 回顾 v什么时候测试可以停止 q 时间用光 q 继续测试未产生新的失效 q 继续测试未发现新的缺陷 q 无法考虑新的测试用例 q 回报很小 q 达到所要求的覆盖 q 所有缺陷都已经清除 太常见 无法保证 软件可靠性模型 支持该选择 若已遵循测试规则和指导方针 则 该选择是很好的 否则类似选择1 好的选择 非常好的选择 6 第八章 路径测试 逻辑覆盖 逻辑覆盖是以程序内部的逻辑结构为基础的设计测试用 例的技术 v路径约约定 a b c d e 如下图图所示 v判断条件约约定 T1

4、 A 1 T2 B 0 T3 A 2 T4 X 1 7 第八章 路径测试 逻辑覆盖 A 1 and B 0 A 2 or X 1 X X A X X 1 T T T T F F F F a a b b d d c c e e L1 a c e A 1 and B 0 and A 2 or X A 1 A 1 and B 0 and A 2 or A 1 and B 0 and X A 1 A 2 and B 0 or A 1 and B 0 and X A 1 8 第八章 路径测试 逻辑覆盖 A 1 and B 0 A 2 or X 1 X X A X X 1 T T T T F F F F

5、a a b b d d c c e e L2 a b d not A 1 and B 0 and not A 2 or X 1 not A 1 or not B 0 and not A 2 and not X 1 not A 1 and not A 2 and not X 1 or not B 0 and not A 2 and not X 1 L1 a c e 9 第八章 路径测试 逻辑覆盖 10 A 1 and B 0 A 2 or X 1 X X A X X 1 T T T T F F F F a a b b d d c c e e L3 a b e not A 1 and B 0 an

6、d A 2 or X 1 not A 1 or not B 0 and A 2 or X 1 not A 1 and A 2 or not A 1 and X 1 or not B 0 and A 2 or not B 0 and X 1 L1 a c e L2 a b d 10 第八章 路径测试 逻辑覆盖 A 1 and B 0 A 2 or X 1 X X A X X 1 T T T T F F F F a a b b d d c c e e L4 a c d A 1 and B 0 and not A 2 or X A 1 A 1 and B 0 and not A 2 and not

7、X A 1 L1 a c e L2 a b d L3 a b e 11 第八章 路径测试 逻辑覆盖 v逻辑覆盖是以程序内部的逻辑结构为基础的设计测 试用例的技术 v根据覆盖测试的目的不同 逻辑覆盖分为 v 语句覆盖 v 判定覆盖 v 条件覆盖 v 判定 条件覆盖 v 条件组合覆盖 v 路径覆盖 测试覆盖准则 12 第八章 路径测试 逻辑覆盖 语句覆盖 v选择路径 L1 A 1 and B 0 A 2 or X 1 X X A X X 1 T T T T F F F F a a b b d d c c e e 问题 若AND错写为OR 或OR 错写为AND 仍可覆盖所有4条 语句 无法发现判断中

8、逻辑运算的错 误 语句覆盖是最弱的逻辑覆盖准则 每一可执行语句至少执行一次 A 1 or B 0 A 2 and X 1 当前测试用例 A 2 B 0 X 4 13 第八章 路径测试 逻辑覆盖 判定覆盖 v选择路径L4和L3 问题 若X 1错写为X1 and B 0 A 2 or X 1 X X A X X 1 T T T T F F F F a a b b d d c c e e 在 的基础上 每个判定的真 假分支至少执行一次 当前测试用例 A 3 B 0 X 3 满足A 1 B 0 A 2 X 1 A 2 B 1 X 1 满足A 1 B 0 A 2 X 1 14 第八章 路径测试 逻辑覆盖

9、 条件覆盖 15 A 1 and B 0 A 2 or X 1 X X A X X 1 T T T T F F F F a a b b d d c c e e 在 的基础上 每个判定的每个条件的可能取值至少 执行一次 A 1 取真值为 T1 取假值为 B 0 取真值为T2 取假值为 A 2 取真值为 T3 取假值为 X 1 取真值为T4 取假值为 T1 and T2 T3 or T4 15 第八章 路径测试 逻辑覆盖 条件覆盖 问 条件覆盖 判定覆盖 答 不一定 A 1 and B 0 A 2 or X 1 X X A X X 1 T T T T F F F F a a b b d d c c

10、 e e 测试用例通过路径条件取值覆盖分支 2 0 4L1T1 T2 T3 T4c e 1 0 1L2T1 T2 T3 T4b d 2 1 1L3T1 T2 T3 T4b e 16 第八章 路径测试 逻辑覆盖 判定 条件覆盖 不一定能发现逻辑表达式中的错 误 A 1 and B 0 A 2 or X 1 X X A X X 1 T T T T F F F F a a b b d d c c e e 即判定覆盖 条件覆盖 即同时考虑条件的组合值及判定 结果的检验 测试用例通过路径条件取值 2 0 4L1 ace T1 T2 T3 T4 1 1 1L2 abd T1 T2 T3 T4 如何彻底检查

11、 所有条件的取 值 17 第八章 路径测试 逻辑覆盖 条件组合覆盖 全部可能的条件组合为 A 1 B 0 T1 T2 A 1 B 0 T1 T2 A 1 B 0 T1 T2 A 1 B 0 T1 T2 A 2 X 1 T3 T4 A 2 X 1 T3 T4 A 2 X 1 T3 T4 A 2 X 1 T3 T4 问题 没有测试到L4 acd 的情形 每个判定表达式中条件的各种可能组合都至少执行 一次 测试用例 通过路径覆盖条件覆盖组合号 2 0 4L1 ace T1 T2 T3 T4 2 1 1L3 abe T1 T2 T3 T4 1 0 4L3 abe T1 T2 T3 T4 1 1 1L2

12、 abd T1 T2 T3 T4 在条件组组合覆盖中 对对某被测测程序 若实现实现了条件组组合覆盖 则则一定实现实现 了判定覆盖 条件 覆盖及判定 条件覆盖 但条件组组合覆盖不一定能覆盖程序中的每条路径 上述4组测试用例就没 有覆盖到路径acd A 1 and B 0 A 2 or X 1 X X A X X 1 T T T T F F F F a a d d c c e e b b 18 第八章 路径测试 逻辑覆盖 路径覆盖 A 1 and B 0 A 2 or X 1 X X A X X 1 T T T T F F F F a a b b d d c c e e 程序中每条可能的路径都至少

13、执行一次 若图中有 环 则每个环至少执行一次 测试用例 通过路径覆盖条件 2 0 4L1 ace T1 T2 T3 T4 1 1 1L2 abd T1 T2 T3 T4 1 1 2L3 abe T1 T2 T3 T4 3 0 3L4 acd T1 T2 T3 T4 19 第八章 路径测试 逻辑覆盖 v逻辑覆盖是以程序内部的逻辑结构为基础的设计测 试用例的技术 v根据覆盖测试的目的不同 逻辑覆盖分为 v 语句覆盖 v 判定覆盖 v 条件覆盖 v 判定 条件覆盖 v 条件组合覆盖 v 路径覆盖 测试覆盖准则 无论哪种测试覆盖 即使覆 盖率达100 都不能保证 找出所有隐藏的缺陷 指的是测试覆盖的标

14、准 20 第八章 路径测试 覆盖率概念 v覆盖率是用来度量测试测试 完整性的一个手段 分为为逻辑逻辑 覆盖 和功能覆盖两大类类 v覆盖率可以通过过一个比率公式来表示 覆盖率 至少被执执行一次的item数 item的总总数 u通过过覆盖率数据 可以知道测试测试 的是否充分 测试测试 的弱点 在哪些方面 进进而指导设计导设计 能够够增加覆盖率的测试测试 用例 l结结构化覆盖率可以作为测试为测试 完整性的一个标标准 l某些覆盖率很难难达到 例如条件覆盖是一个NP hard 问题问题 l即使达到100 的结结构化覆盖率也不能保证证程序的正确 21 第八章 路径测试 路径测试 v路径测试 从程序入口开始

15、 执行过程中经历各个语 句 直至程序出口 v是结构性测试最为典型的一种方法 v理想情况 实现路径覆盖 问题 对于简单的小程序可实现路径覆盖 对于程序中出现多个判定和多个循环 路径 数目将急剧增长 22 第八章 路径测试 路径测试 v路径从图的构造中得来 v当执行测试用例时 将 通过路径 不同执行路径数达不同执行路径数达5 520 20条 条 所有路径测试完需所有路径测试完需31703170 年 年 庞大的执行路径暗示着 需要简化 v 在单单元测试测试 中 路径是指函数代码码的某 个分支 而实际实际 上如果我们们将软软件系统统 的某个流程也看成路径的话话 我们们将可 以尝试尝试 着用路径分析的方

16、法来简简化测试测试 用例的设计设计 23 第八章 路径测试 路径测试 v路径测试测试 的好处处 v降低了测试用例设计的难度 只要搞清了各种流程 就可以设计出 高质量的测试用例来 而不用太多测试方面的经验 v在测试时间较紧的情况下 可以有的放矢的选择测试用例 而不用 完全根据经验来取舍 v便于自动化 24 第八章 路径测试 程序结构图 v程序图 给定采用命令式程序设计语言编 写的一段程序 其程序图是一种 有向图 其中 传统定义 如果i和j是程序图中的节点 从节点i到j 存在一条边 当且仅当对应节点j的语句可以立即在节 点i对应的语句之后执行 改进的定义 节点要么是整个语句 要么是语句的一 部分 边表示控制流 从节点i到j有一条边 当且仅 当对应节点j的语句或语句的一部分 可以立即在对应 节点i的语句或语句的一部分之后执行 程序图的重要性在于 程序的执行对应于从 源节点到汇节点的路径 A B CDE F G first last 25 第八章 路径测试 程序结构图 v测试用例要完成某条程序路径的执 行 所以 程序图明确描述了测试用例和测试用 例所执行的程序部分之间的关系 程序图能很好地以理

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号