9数据流测试概要.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
9数据流测试概要

软件测试—结构性测试 软件测试概论 张福勇 zhangfy@dgut.edu.cn 东莞理工学院计算机学院 * * 结构性测试 逻辑覆盖 路径测试 数据流测试 小结 * 程序结构分析 程序结构分析 查找定义/引用缺陷 数据流分析 静态分析方法 基于程序片分析 * 数据流分析-定义/引用 最初是随着编译系统要生成有效的目标码而出现的,主要用于代码优化 现在主要为发现定义/引用异常缺陷 数据流测试指关注变量接收值(点)和使用(或引用)这些值(点)的路径,是结构性测试方法的一种。 变量被定义,但从来没有使用(引用); 所使用的变量没有被定义; 变量在使用之前被定义两次; * 数据流分析-定义/引用 从数据流视角:程序是一个程序元素对数据访问的过程 数据流关系:数据“定义——使用”对 使用程序图来描述数据定义-使用对 * 数据流分析-定义/引用 数据流测试用作路径测试的“真实性检查” 定义/使用测试 基于程序片的测试 * 数据流分析——定义/使用测试 G(P):程序图 构造方式同前,语句片段代表节点,边代表节点序列 单入口,单出口,且不允许从某个节点到其自身的边 P:程序 V:一组程序变量 * 数据流分析——定义/使用测试 节点是语句或语句的一部分;边表示语句的控制流程 1 2 3 串行 1 2 前测试循环 1 2 后测试循环 If-then 1 2 3 If-then-else 1 3 2 4 Choose-case 1 4 2 5 3 * 数据流分析——定义/使用测试 定义节点(DEF(v,n)) 节点 是变量 的定义节点,当且仅当变量v的值由对应节点n的语句片段处定义。 使用节点(USE(v,n)) 节点n是变量v的使用节点,当且仅当变量v的值在对应节点n的语句片段处使用。 谓词使用(P-use)/计算使用(C-use) 使用节点USE(v,n)是一个谓词使用,当且仅当语句n是谓词语句,否则,USE(v,n)是计算使用。 * 数据流分析——定义/使用测试 定义节点(DEF(v,n)) 执行时,与该变量关联的存储单元的内容会改变 使用节点(USE(v,n)) 执行时,与该变量关联的存储单元的内容保持不变 谓词使用(P-use)/计算使用(C-use) 对应谓词使用的节点的出度=2 对应计算使用的节点的出度=1 输入语句,赋值语句,循环控制语句和过程调用 输出语句,赋值语句,条件语句,循环控制语句和过程调用 * 3.2 数据流分析——定义/使用测试 变量的定义和使用 例1: a=b; DEF(1)={a}, USES(1)={b}. 例2: a=a+b; DEF(1)={a}, USES(1)={a , b}. * 数据流分析——定义/使用测试 定义-使用路径(du-path) 关于变量v的定义-使用路径是PATHS(P)中的路径,使得对某个 ,存在定义和使用节点DEF(v,m)和USE(v,n),使得m和n是该路径的最初和最终节点。 定义清除路径(dc-path)相当于传递的概念 关于变量v的定义-清除路径是具有最初和最终节点DEF(v,m)和USE(v,n)的PATHS(P)中的路径,使得该路径中没有其他节点是v的定义节点。 定义-使用路径和定义清除路径描述了跨从值被定义的点到值被使用的点的源语句的数据流。 * 数据流分析——定义/使用测试 不是定义清除的定义-使用路径,是潜在有问题的地方。 * 数据流分析——定义/使用测试 变量的定义和使用 1 a=5; // 定义 a 2 While(C1) { 3 if (C2){ 4 b=a*a;//使用 a 5 a=a-1;//定义且使用a 6 } 7 print(a); } //使用 a 1 2 3 4 5 6 7 * 数据流分析——定义/使用测试 Du-path dc-path 1234 y 1237 y 12345 y 1234567 n 567 y 程序图 1 2 3 4 5 6 7 * 数据流分析——定义/使用测试 佣金问题涉及的变量(see程序代码) lockPrice, stockPrice, barrelPrice stocks, barrels locks totalStocks, totalLocks, totalBarrels lockSales, stoc

文档评论(0)

1520520 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档