数据流测试
1 定义/使用测试
一些概念的定义
例题理解概念
例子1:
定义清除的理解:就是说,如果路径上又遇到了其他定义节点,那就不是。
例子2:
第一步:先画程序图:
第二步:再画DD路径图:
第三步:列出所有变量的定义节点和使用节点:
第四步:根据上表找出定义/使用路径,并判断它是否为定义清除路径
(注意下面17-17是定义清除路径,说明了定义清除的概念与定义节点有关,和使用节点是否在中途无关,大概意思理解即可!)
2 定义/使用路径覆盖指标
一些概念的定义
案例说明(重点,而且有点难!)
出度>=2就是谓词使用,<=1的就是计算使用
总结:
出度>=2就是谓词使用,<=1的就是计算使用
- 全定义准则:必须全部覆盖所有变量的所有定义节点
eg:必须包含x3, x5, y3, y5- 全谓词使用/部分计算使用准则:必须全部覆盖所有变量的所有定义节点 到 所有出度>=2的使用节点
eg:必须包含x3 -> 4, x5 -> 4, y3 -> 7, y5 ->7- 全计算使用/部分谓词使用准则:必须全部覆盖所有变量的所有定义节点 到 所有出度<=1的使用节点
eg:必须包含x3 -> 10, x5 -> 10, y3 -> 10, y5 ->10- 全定义-使用准则:包含所有列出来的定义清除路径
3 基于程序片的测试
定义
静态切片的举例:
eg2:如果对f变量做切片,那删掉:2, 5, 8即可
案例
4 指导方针和观察(总结)
结构性测试回顾
1 漏洞与冗余
以上就是在说明,基于黑盒测试的方法无法覆盖所有基路径,因此存在漏洞。
哪怕可以覆盖所有基路径,(最坏情况)但是冗余太多了
2 用于方法评估的指标
定义
实例
3 重温案例研究
第一步、程序图
第二步、基路径
第三步、依次设计边界值、最坏情况边界值、弱等价类、强等价类、决策表、决策表+健壮性的结合。测试用例
额外,可能不太重要
集成测试
1 集成测试概述
集成测试的分类(这里重要一点)
这里的概念很重要!
区分非增量和增量式集成:
-
大爆炸集成
-
增量式集成(后面着重讲)
2 集成测试的主要方法
基于分解
- 自顶向下
- 自底向上
- 三明治集成
案例分析,进一步理解基于分解的集成:(看看就好,不重要)
基于调用图
基于路径(难点)
MEP和MM路径的定义(重点)
案例说明1:
案例说明2:(但感觉很繁琐,非必要不用看这里)