




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、三 数据流分析 什么是数据流分析?什么是数据流分析? 数据流分析最初是随着编译系统要生成有效的 目标码而出现的,这类方法主要用于代码优化。 数据流分析方法在确认系统中也得到成功的运 用,用以查找如引用未定义变量等程序错误,以 及用来查找对未曾使用的变量再次赋值等数据流 异常的情况。 软件测试白盒黑盒测试理论解析 数据流分析重要性:数据流分析重要性: 在程序测试中,找出这 些错误是很重要的。因为这 常常是常见程序错误的表现 形式,如错拼名字、名字混 淆或是丢失了语句。 软件测试白盒黑盒测试理论解析 两个概念:两个概念: 变量定义: 如果程序中某一语句执行时能够改 变某个变量V的值,则称V是被该语
2、句 定义的。 变量引用: 如果程序中某一语句的执行引用 了内存中变量V的值,则说该语句引 用变量V。 软件测试白盒黑盒测试理论解析 数据流分析数据流分析 例如例如: : 1.语句 X:Y+Z 定义了X,引用了Y和Z; 2.语句 if YZ then goto exit 引用了Y和Z。 3. 输入语句 READ X 定义了X。 4. 输出语句 WRITE X 引用了X。 软件测试白盒黑盒测试理论解析 数据流分析 每个语句定义和引用的变量的列表。 软件测试白盒黑盒测试理论解析 程序中有两个错误:程序中有两个错误: 语句2使用了变量W,而在此之前并末对其定义。 语句5、6使用变量V,这在第一次执行循
3、环时也未对 其定义过。 程序中还包含两个异常:程序中还包含两个异常: 语句6对Z的定义从未使用过。 语句8对W的定义也从未使用过。 软件测试白盒黑盒测试理论解析 1.根据程序画出流图 2.列出其每个语句定义 和引用的变量的列表。 3.分析其数据流 练习 软件测试白盒黑盒测试理论解析 软件测试白盒黑盒测试理论解析 这个流程图,其中包括了一 个执行达20次的循环。那么 它所包含的不同执行路径数 高达520条,若要对它进行穷 举测试,覆盖所有的路径。 假使测试程序对每一条路径 进行测试需要1毫秒,同样 假定一天工作24小时,一年 工作365 天, 那么要想把如图 所示的小程序的所有路径测 试完,则需
4、要3170年。 循环测试 循环路径无法穷举测试 软件测试白盒黑盒测试理论解析 简单循环 嵌套循环串接循环无结构循环 各种循环图 四、循环测试是一种白盒测试技术,注重于循 环构造的有效性。循环结构测试用例的设计循环可以 划分为以下几种模式: 软件测试白盒黑盒测试理论解析 循环测试方法 从本质上说,循环测试的目的就是检查循环结构的 有效性。 (1)测试简单循环。设其循环的最大次数为n ,可 采用以下测试集: 跳过整个循环; 只循环一次; 只循环两次; 循环 m 次,其中m8 AND Y5 X0 OR Y0 引用语句1引用语句2 N Y NY X16 OR Y10 引用语句3 N Y 课堂练习 软件
5、测试白盒黑盒测试理论解析 五、程序插装: 程序插装(Program Instrumentation)是一种 基本的白盒测试手段,在软件测试中有着广泛的 应用,程序插装是指在程序中设置断点或打印语 句,在执行过程中了解程序的一些动态特性。 软件测试白盒黑盒测试理论解析 程序插装的目的:程序插装的目的: 通过测试这些检查点的信息,可以了解 执行过程中程序的一动态特性。如程序的实际 执行路径,或是特定变量在特定时刻的取值。 从这一思想发展出的程序插装技术能够 按用户的要求,获取程序的各种信息,成为测 试工作的有效手段。 通过程序插装技术我们可以了解一个程 序在某次运行中所有可执行语句被覆盖(或称被
6、经历)的情况,或是每个语句的实际执行次数。 软件测试白盒黑盒测试理论解析 入口 C(1)=C(1)+1 Q=X R=Y C(2)=C(2)+1 C(6)=C(6)+1 QR C(4)=C(4)+1 C(3)=C(3)+1 QR 出口 C(5)=C(5)+1 Q=QR R=RQ 插桩后求最大公约数程序的流程图 图中虚线框并不是 原来程序的内容,而 是为了记录语句执行 次数而插入的。 虚线框语句形式为: C(i) C(i)十1 i1,2,6 软件测试白盒黑盒测试理论解析 程序从入口开始执行,到出口结束。凡经历的 计数语句都能记录下该程序点的执行次数。 如果我们在程序的入口处还插入了对计数器 C(i
7、)初始化的语句,在出口处插人了打印这些 计数器的语句,就构成了完整的插装程序。 经过插装的程序便能记录并输出在各程序点上 语句的实际执行次数。 软件测试白盒黑盒测试理论解析 经过插装的程序,一方面可检验测试的 结果数据,另一方面还可借助插入语句 给出的信息了解程序的执行特性。 所以,我们有时把插入的语句称为“探 测器”或“探针”,借以实现“探查” 或“监控”的功能。 软件测试白盒黑盒测试理论解析 设计插桩程序时需要考虑的问题包括: 探测哪些信息; 在程序的什么部位设置探测点; 需要设置多少个探测点; 程序中特定部位插入某些用以判断变 量特性的语句。 软件测试白盒黑盒测试理论解析 第1个问题具体
8、问题具体分析。 第2个问题,在实际测试通常在下面一些部位设置探测点: 程序块的第1个可执行语句之前 for,do ,do-while,do until 等循环语句处。 if, else if, else及end if等条件语句各分支处。 输入/输出语句之后。 函数、过程、子程序调用语句之后。 return语句之后 goto语句之后 软件测试白盒黑盒测试理论解析 第3个问题,需要考虑如何设置最少探测点方 案。 第4个问题,是如何在程序中特定部位插入断 言语句。在应用程序插桩技术时,可在程序中 特定部位插入某些用以判断变量特性的语句, 使得程序执行中这些语句得以证实。 软件测试白盒黑盒测试理论解析
9、 实践表明,程序插装方法是应用很广 的技术,特别是在完成程序的测试和调 试时非常有效。调试时常用程序段截半 法寻找错误位置。 软件测试白盒黑盒测试理论解析 6. 变异测试技术 变异测试是一种对测试集的充分性测试集的充分性进行评估的 技术,以创建更有效的的测试集。 变异测试与路径或数据流测试不同,没有测试 数据的选择规则。 变异测试应该与传统的测试技术结合,而不是 取代它们。 软件测试白盒黑盒测试理论解析 基本思想 给定一个程序P和一个测试数据集T,通过变异算 子为P产生一组变异体Mi(合乎语法的变更), 对P和M都使用T进行测试运行,如果某Mi在某个 测试输入t上与P产生不同的结果,则该Mi被
10、杀死; 若某Mi在所有的测试数据集上都与P产生相同的 结果,则称其为活的变异体。接下来对活的变异 体进行分析,检查其是否等价于P;对不等价于P 的变异体M进行进一步的测试,直到充分性度量 达到满意的程度。 软件测试白盒黑盒测试理论解析 程序变异概念 假设程序P已使用测试T中的测试用例测试通过,而且没有 错误。变异是一种轻微改变程序的操作。 Example: Program 1 1 begin int x,y; input (x,y); if (x y) output(x+y) else output(x*y); 2end Program 1的变异体M1 1 begin int x,y; input (x,y); if (xy) output(x+y) else output(x*y); 2end Program 1的变异体M2 1 begin int x,y; input (x,y); if (x=2或外度=2 情况4. 由一个节点组成,内度=1并且外度=1 情况5. 长度=1的最大链 软件测试白盒黑盒测试理论解析 2.23 白盒测试举例
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新解读《GB-T 32550-2016金属和合金的腐蚀 恒电位控制下的临界点蚀温度测定》
- 新解读《GB-T 30963-2014通信终端产品绿色包装规范》
- 广州股权转让合同范本
- 铝板幕墙施工合同范本
- 委托编排舞蹈合同范本
- 外协产品加工合同范本
- 喷漆房出租合同范本
- 抽纸购销合同范本
- 食品销售安全员考试题库及答案
- 广告工作心得体会(甄选10篇)
- 2025年中国电信面试试题及答案
- 阿里安全管理办法
- 山东校外托管机构管理暂行办法
- 1.小蝌蚪找妈妈(课件)-2025-2026学年统编版二年级语文上册
- 升降机考试题目及答案
- 2025-2026学年第一学期学校教学工作计划及序列表
- 语文课程教学技能课件
- 福建省厦门市同安区2024-2025学年七年级下学期期末考试地理试卷(含答案)
- 《人体工程学》本科设计类专业全套教学课件
- IATF16949内审员培训资料
- 艾梅乙反歧视培训课件
评论
0/150
提交评论