数据流测试结构性测试回顾
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全路径 全边 全节点 全定义准则 全使用准则 全谓词使用/部分计算使用准则 全计算使用/部分谓词使用准则 全定义-使用路径准则
基于程序片的测试
假设片S(V,n)是一个变量上的片,即集合 V由单一变量v组成。
如果语句片段n是v的一个定义节点,则n包含在该 片中。
如果语句片段n是v的使用节点,则n不包含在该片 中。
第11章 结构性测试回顾
结构性测试用做对功能性测试的交叉检查, 如何能够产生强有力的结果。
功能性测试用例的漏洞和冗余问题 测试效率指标(由结构覆盖来表述) 使用哪些覆盖指标对漏洞和冗余问题进行指导
测试效率指标
将功能性测试技术有效性与结构性测试 进展指标相关联。
功能性测试技术——产生一组测试用例 结构性测试指标——以可计算的内容表示
其他变量的谓词使用和计算使用(不是片集合V中 的v),要包含其执行会影响变量v取值的扩展。
如果不管是否包含语句片段,v的值都保持不变, 那么排除该语句片段。
输出使用节点、定位使用节点、迭代使用节点,都 不在片中。
程序片风格
不出现在语句片段n里的变量v(v属于V), 永远不建立S(V,n); 在一个变量上建立片; 对所以赋值定义节点都建立片; 对谓词使用节点建立片; 非谓词使用节点上的片无意义; 使片可编译;
基本定义 定义节点、使用节点、谓词使用、计算使用、 定义-使用路径、定义清除路径
定义/使用测试
例子 佣金问题
程序图——DD路径图 找出所有变量,每个变量的定义节点、使用
节点; 找出各变量的定义-使用路径和定义清除路
径;
定义/使用路径测试覆盖指标
Rapps-Weyuker数据流指标
覆盖测试:覆盖率分析对所涉及的程序结构 元素进行度量,以确定测试执行的充分性。
指标定义
覆盖C(M,S) 冗余R(M,S) 净冗余NR(M,S)
白盒测试工具
白盒测试一般针对被测源程序进行的测 试,发现的故障可以定位到代码。根据 测试工具和工作原理的不同,白盒测试 的自动化工具可以分为
静态测试工具 动态测试工具
静态测试工具
静态测试是在不执行程序的情况下分析软件的特 性。静态分析主要集中在软件需求文档、设计文 档以及程序结构方面,可以进行类型分析、接口 分析、输入/输出规格说明分析等。 常用的静态测试工具有
McCabe公司的Quality ToolSet分析工具 ViewLog公司的LogiScope分析工具 Software Research公司的TestWork/Advisor分析工具 Software Emancipation公司的Discover分析工具
静态测试工具
完成的职能:
代码审查 一致性检查 错误检查 接口分析 输入/输出规格说明分析检查 数据流分析 类型分析 单元分析 复杂度分析
数据流测试
两种主要形式的数据流测试方法:
定义/使用测试:提供一组基本定义和一种 统一的测试覆盖指标结构;
程序片测试
从程序图入手!
数据流测试
针对定义/引用异常缺陷:
变量被定义,但从来没有引用; 使用的变量没有被定义; 变量在使用之前被定义两次。
定义/使用测试
基本表示
P:程序 G(P)wk.baidu.com程序图 V:程序变量集合 PATHS(P):P中所以路径集合
动态测试工具
动态测试直接执行被测程序以提供测试 活动。 动态测试工具具有功能确认、接口测试、 覆盖率分析等性能。 主要有
Compuware公司的DerPartner IBM公司的Rational Purify、Rational
PureCoverage
动态测试工具
动态测试工具的类型
功能确认与接口测试:包括对各模块功能、 模块间的接口、局部数据结构、主要执行路 径、错误处理等方面进行测试。
基于程序片的测试
假设片S(V,n)是一个变量上的片,即集合 V由单一变量v组成。
如果语句片段n是v的一个定义节点,则n包含在该 片中。
如果语句片段n是v的使用节点,则n不包含在该片 中。
第11章 结构性测试回顾
结构性测试用做对功能性测试的交叉检查, 如何能够产生强有力的结果。
功能性测试用例的漏洞和冗余问题 测试效率指标(由结构覆盖来表述) 使用哪些覆盖指标对漏洞和冗余问题进行指导
测试效率指标
将功能性测试技术有效性与结构性测试 进展指标相关联。
功能性测试技术——产生一组测试用例 结构性测试指标——以可计算的内容表示
其他变量的谓词使用和计算使用(不是片集合V中 的v),要包含其执行会影响变量v取值的扩展。
如果不管是否包含语句片段,v的值都保持不变, 那么排除该语句片段。
输出使用节点、定位使用节点、迭代使用节点,都 不在片中。
程序片风格
不出现在语句片段n里的变量v(v属于V), 永远不建立S(V,n); 在一个变量上建立片; 对所以赋值定义节点都建立片; 对谓词使用节点建立片; 非谓词使用节点上的片无意义; 使片可编译;
基本定义 定义节点、使用节点、谓词使用、计算使用、 定义-使用路径、定义清除路径
定义/使用测试
例子 佣金问题
程序图——DD路径图 找出所有变量,每个变量的定义节点、使用
节点; 找出各变量的定义-使用路径和定义清除路
径;
定义/使用路径测试覆盖指标
Rapps-Weyuker数据流指标
覆盖测试:覆盖率分析对所涉及的程序结构 元素进行度量,以确定测试执行的充分性。
指标定义
覆盖C(M,S) 冗余R(M,S) 净冗余NR(M,S)
白盒测试工具
白盒测试一般针对被测源程序进行的测 试,发现的故障可以定位到代码。根据 测试工具和工作原理的不同,白盒测试 的自动化工具可以分为
静态测试工具 动态测试工具
静态测试工具
静态测试是在不执行程序的情况下分析软件的特 性。静态分析主要集中在软件需求文档、设计文 档以及程序结构方面,可以进行类型分析、接口 分析、输入/输出规格说明分析等。 常用的静态测试工具有
McCabe公司的Quality ToolSet分析工具 ViewLog公司的LogiScope分析工具 Software Research公司的TestWork/Advisor分析工具 Software Emancipation公司的Discover分析工具
静态测试工具
完成的职能:
代码审查 一致性检查 错误检查 接口分析 输入/输出规格说明分析检查 数据流分析 类型分析 单元分析 复杂度分析
数据流测试
两种主要形式的数据流测试方法:
定义/使用测试:提供一组基本定义和一种 统一的测试覆盖指标结构;
程序片测试
从程序图入手!
数据流测试
针对定义/引用异常缺陷:
变量被定义,但从来没有引用; 使用的变量没有被定义; 变量在使用之前被定义两次。
定义/使用测试
基本表示
P:程序 G(P)wk.baidu.com程序图 V:程序变量集合 PATHS(P):P中所以路径集合
动态测试工具
动态测试直接执行被测程序以提供测试 活动。 动态测试工具具有功能确认、接口测试、 覆盖率分析等性能。 主要有
Compuware公司的DerPartner IBM公司的Rational Purify、Rational
PureCoverage
动态测试工具
动态测试工具的类型
功能确认与接口测试:包括对各模块功能、 模块间的接口、局部数据结构、主要执行路 径、错误处理等方面进行测试。