版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 白盒测试方法 基本路径测试 基本路径测试 上面的例子是一个很简单的程序函数上面的例子是一个很简单的程序函数,只有四只有四 条路径条路径.但在实践中但在实践中,一个不太复杂的程序一个不太复杂的程序,其路其路 径都是一个庞大的数字径都是一个庞大的数字,要在测试中覆盖所有要在测试中覆盖所有 的路径是不现实的的路径是不现实的.为了解决这一难题为了解决这一难题,只得把只得把 覆盖的路径数压缩到一定限度内覆盖的路径数压缩到一定限度内,例如例如,程序中程序中 的循环体只执行一次的循环体只执行一次.下面介绍的基本路径测下面介绍的基本路径测 试就是这样一种测试方法试就是这样一种测试方法,它在程序控制流图它在程
2、序控制流图 的基础上的基础上,通过分析控制流图的环形复杂性通过分析控制流图的环形复杂性,导导 出基本可执行路径集合出基本可执行路径集合,从而设计测试用例的从而设计测试用例的 方法方法.设计出的测试用例要保证在测试中程序设计出的测试用例要保证在测试中程序 的每一个可执行语句至少执行一次的每一个可执行语句至少执行一次. 白盒测试的基本概念 为了清晰描述这种白盒测试方法,需为了清晰描述这种白盒测试方法,需 要首先对有关白盒测试的几个基本概要首先对有关白盒测试的几个基本概 念进行说明:念进行说明: l流图流图 l环形复杂度环形复杂度 l图矩阵图矩阵 1、流图 在程序设计时在程序设计时,为了更加突出控制
3、流的结构为了更加突出控制流的结构,可对程可对程 序流程图进行简化序流程图进行简化,简化后的图称为控制流图简化后的图称为控制流图.简化简化 后所涉及的图形符号只有两种后所涉及的图形符号只有两种,即节点和控制流线即节点和控制流线. 1 3 2 5 1 2 4 3 5 a b c d e f 节点节点标有编号的圆圈标有编号的圆圈 l程序流程图中矩形框所表示的处理程序流程图中矩形框所表示的处理 l菱形表示的两个甚至多个出口判断菱形表示的两个甚至多个出口判断 l多条流线相交的汇合点多条流线相交的汇合点 边边由带箭头的弧或线表示由带箭头的弧或线表示 l与程序流程图中的流线一致与程序流程图中的流线一致,表明
4、了控制的顺序表明了控制的顺序 l它代表程序中的控制流。它代表程序中的控制流。 l控制流线通常标有名字控制流线通常标有名字 常见语句的控制流图 顺序语句 While语句do while语句 If语句 Case语句 包含条件的节点被称为判断节点(也包含条件的节点被称为判断节点(也 叫谓词节点),由判断节点发出的边叫谓词节点),由判断节点发出的边 必须终止于某一个节点,由边和节点必须终止于某一个节点,由边和节点 所限定的范围被称为区域。所限定的范围被称为区域。 这里我们假定在流程图中用菱形框表示的这里我们假定在流程图中用菱形框表示的 判定条件内没有复合条件,而一组顺序处判定条件内没有复合条件,而一组
5、顺序处 理框可以映射为一个单一的结点。理框可以映射为一个单一的结点。 控制流图中的箭头(边)表示了控制流的控制流图中的箭头(边)表示了控制流的 方向,类似于流程图中的流线,一条边必方向,类似于流程图中的流线,一条边必 须终止于一个结点。须终止于一个结点。 在选择或者是多分支结构中分支的汇聚处,在选择或者是多分支结构中分支的汇聚处, 即使汇聚处没有执行语句也应该添加一个即使汇聚处没有执行语句也应该添加一个 汇聚结点。汇聚结点。 流程图 控制流图 将程序流程图转化为控制流图 1 2 3 6 78 4 5 三角形问题(流程图流图) 如果判定中的条件表达式是复合条件, 即条件表达式是由一个或多个逻辑运
6、算 符连接的逻辑表达式,则需要改变复合 条件的判断为一系列只有单个条件的嵌 套的判断。 复合条件分解控制流图 2、环形复杂度(圈复杂度) 一种为程序逻辑复杂度提供定量尺度的一种为程序逻辑复杂度提供定量尺度的 软件度量软件度量. 亦可将该度量用于基本路径方法亦可将该度量用于基本路径方法,它可以它可以 提供程序基本集的独立路径数量和确保提供程序基本集的独立路径数量和确保 所有语句至少执行一次的测试数量上界所有语句至少执行一次的测试数量上界. 独立路径指程序中至少引入一个新的处独立路径指程序中至少引入一个新的处 理语句集合或一个新条件的程序通路理语句集合或一个新条件的程序通路,它它 必须至少包含一条
7、在本次定义路径之前必须至少包含一条在本次定义路径之前 不曾用过的边不曾用过的边. 环形复杂度计算 1.流图中区域的数量对应于环形复杂度流图中区域的数量对应于环形复杂度; 2.给定流图给定流图G的环形复杂度为的环形复杂度为V(G),定义为定义为 V(G )=E-N+2,E是流图中边的数量是流图中边的数量,N是是 流图中节点的数量流图中节点的数量. 3.给定流图给定流图G的环形复杂度的环形复杂度V(G),定义为定义为 V(G)=P+1,P是流图是流图G中判定节点的数量中判定节点的数量. 3、图矩阵 图矩阵即流图的矩阵表示。其维数等于流图的节点图矩阵即流图的矩阵表示。其维数等于流图的节点 数。每列和
8、每行都对应于标识的节点,矩阵元素对应数。每列和每行都对应于标识的节点,矩阵元素对应 于节点的边。于节点的边。 节点1234 1a 2b 3c 4d 流图对应的矩阵图 说明 流图的节点一般用数字标识,边则可流图的节点一般用数字标识,边则可 以用字母标识。以用字母标识。 上例中,若矩阵记为上例中,若矩阵记为M,则,则M(4,1) “d”,表示边,表示边d连接节点连接节点4和节点和节点1。 需要注意的是,边需要注意的是,边d的方向是节点的方向是节点4到到 节点节点1 习题 根据左图给出的程序流程图, 完成以下要求: (1)画出相应的控制流图。 (2)计算环形复杂度。 (3)给出相应的图矩阵。 (4)
9、找出程序的独立路径集 合。 void sort(int irecordnum,int itype) 1. 2. int x=0; 3. int y=0; 4. while(irecordnum-0) 5. 6. if(itype=0) 7. break; 8. else 9. if(itype=1) 10. x=x+10; 11. else 12. y=y+20; 13. 14. 基本路径测试方法 1.画出控制流图画出控制流图 o任何过程设计都要被翻译成控制流图。任何过程设计都要被翻译成控制流图。 以以C/C+语句中的控制语句为例。语句中的控制语句为例。 o画出程序的控制流图(用题中给出的画出
10、程序的控制流图(用题中给出的 语句编号表示)。图中的每一个圆称语句编号表示)。图中的每一个圆称 作流图的节点,代表一条或多条语句。作流图的节点,代表一条或多条语句。 流图中的箭头称做边或连接,代表控流图中的箭头称做边或连接,代表控 制流。制流。 画出其程序流程图及控制流 图 4 6 78 1011 1314 程序段的控制流图 4 6 97 1012 1314 2、计算环形复杂度 环形复杂度是一种为程序逻辑复杂性提 供定量测度的软件度量,将该度量用于 计算程序的基本的独立路径数目,为确 保所有语句至少执行一次的测试数量的 上界,独立路径必须包含一条在定义之 前不曾用到的边。 可以用以下三种方法计
11、算环形复杂度: 环形复杂度计算如下: 1.流图中有流图中有4个区域;个区域; 2.V(G)=E-N+2,V(G)=10(条边条边)-8(个节个节 点点)+2=4; 3.V(G)=P+1,V(G)=3(个判定节点个判定节点)14。 因此,该函数的环形复杂度是因此,该函数的环形复杂度是4。更重要的。更重要的 是,是,V(G)的值提供了组成基本集的独立的值提供了组成基本集的独立 路径的上界,并由此得出覆盖所有程序路径的上界,并由此得出覆盖所有程序 语句所需的测试设计数量的上界。语句所需的测试设计数量的上界。 3、导出测试用例 根据上面的计算方法,导出基本路径根据上面的计算方法,导出基本路径 集,列出
12、程序的独立路径。可得出程集,列出程序的独立路径。可得出程 序段的基本路径集中有序段的基本路径集中有4条独立路径:条独立路径: l路径路径1:414 l路径路径2:46714 l路径路径3:4691013414 l路径路径4:4691213414 4、设计测试用例 输入数据输入数据预期输出预期输出 Test1irecordnum=0 itype=0 x=0 y=0 Test2irecordnum=1 itype=0 x=0 y=0 Test3irecordnum=1 itype=1 x=10 y=0 Test4irecordnum=1 itype=2 x=0 y=20 注意: 如果在程序中遇到复
13、合条件,例如条件语句中的如果在程序中遇到复合条件,例如条件语句中的 多个布尔运算符(逻辑多个布尔运算符(逻辑OR、AND)时,为每一个)时,为每一个 条件创建一个独立的节点,包含条件的节点称为条件创建一个独立的节点,包含条件的节点称为 判定节点,从每一个判定节点发出两条或多条边。判定节点,从每一个判定节点发出两条或多条边。 例如:例如: 1.if(a or b) 2.x 3.else 4.y 5. 三角形问题流程图 习题 编写程序,输入一组字符(以编写程序,输入一组字符(以#结束),结束), 对该组字符做一个统计,统计字母、对该组字符做一个统计,统计字母、 数字和其他字符的个数,输出统计结数字和其他字符的个数,输出统计结 果。果。 1.main() 2. 3. char c; int i=0,j=0,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年滁州天长市人民医院招聘调研笔试备考题库及答案解析
- 2026年上海工程技术大学高职单招职业适应性测试备考试题及答案详细解析
- 2026江西中电新材料科技有限公司诚聘英才笔试备考题库及答案解析
- 2026年新疆农业职业技术学院单招职业技能考试参考题库含详细答案解析
- 2026年青海高等职业技术学院高职单招职业适应性测试备考题库及答案详细解析
- 2026江西南昌市十字街学校招聘派遣制教师笔试备考题库及答案解析
- 2026福建莆田市涵江区选聘区属一级国有企业高级管理人员2人笔试备考试题及答案解析
- 2026广东佛山市禅城区海口小学招聘临聘教师1人笔试备考题库及答案解析
- 2026年喀什大学高层次人才引进(130人)笔试备考试题及答案解析
- 2026福建泉州南安市美林中心幼儿园招聘2人笔试备考试题及答案解析
- 2026年上海市宝山区初三上学期一模化学试卷和答案及评分标准
- 内蒙古赤峰市松山区2025-2026学年高一上学期期末数学试题(含答案)
- 2026年官方标准版离婚协议书
- 二十届中纪委五次全会知识测试题及答案解析
- 黑龙江大庆市2026届高三年级第二次教学质量检测化学(含答案)
- 未来五年造纸及纸制品企业数字化转型与智慧升级战略分析研究报告
- 2025年贵州省高考化学试卷真题(含答案及解析)
- 紧固件 弹簧垫圈 标准型(2025版)
- 2025年数字印刷技术应用项目可行性研究报告
- 2024年第41届全国中学生竞赛预赛物理试题(解析版)
- 民间借贷合同规范示范文本
评论
0/150
提交评论