没有合适的资源?快使用搜索试试~ 我知道了~
软件质量保证与测试课内实验指导书白盒测试黑盒测试借鉴.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 174 浏览量
2022-01-03
08:58:35
上传
评论
收藏 948KB PDF 举报
温馨提示
试读
26页
软件质量保证与测试课内实验指导书白盒测试黑盒测试借鉴.pdf
资源推荐
资源详情
资源评论
软件质量保证与测试
课内实验指导书
第一章 白盒测试
1.1 白盒测试背景知识
结构性测试是知道产品内部工作过程, 检测产品内部动作是否按照规格说明书的规定正
常进行。 结构性测试允许测试人员利用程序内部的逻辑结构及有关信息, 设计或选择测试用
例,对程序所有逻辑路径进行测试。 通过在不同点检查程序的状态, 确定实际的状态是否与
预期的状态一致。
1.1.2 逻辑覆盖
结构性测试力求提高测试覆盖率。 逻辑覆盖是一系列测试过程的总称, 它是在使用白盒
测试法时,选用测试用例执行程序逻辑路径的方法。
逻辑覆盖按覆盖程度由低到高大致分为以下几类:
①. 语句覆盖:设计若干测试用例,使程序中每一可执行语句至少执行一次;
②. 判断覆盖:设计用例,使程序中的每个逻辑判断的取真取假分支至少经历一次;
③. 条件覆盖:设计用例,使判断中的每个条件的可能取值至少满足一次;
④. 判断 /条件覆盖:设计用例,使得判断中的每个条件的所有可能结果至少出现一次,
而且判断本身所有可能结果也至少出现一次;
⑤. 条件组合覆盖:设计用例,使得每个判断表达式中条件的各种可能组合都至少出现
一次;显然,满足⑤的测试用例也一定是满足②、③、④的测试用例。
⑥. 路径覆盖。设计足够的测试用例,使程序的每条可能路径都至少执行一次。
如果把路径覆盖和条件组合覆盖结合起来,可以设计出检错能力更强的测试数据用例。
1.1.2 基本路径测试
如果把覆盖的路径数压缩到一定限度内, 例如, 程序中的循环体只执行零次和一次, 就
成为基本路径测试。 它是在程序控制流图的基础上, 通过分析控制构造的环路复杂性, 导出
基本可执行路径集合, 从而设计测试用例的方法。 设计出的测试用例要保证在测试中, 程序
的每一个可执行语句至少要执行一次。
① 程序的控制流图
控制流图是描述程序控制流的一种图示方法。 符号○称为控制流图的一个结点, 一组顺
序处理框可以映射为一个单一的结点。控制流图中的箭头称为边,它表示了控制流的方向,
在选择或多分支结构中分支的汇聚处, 即使没有执行语句也应该有一个汇聚结点。 边和结点
圈定的区域叫做区域,当对区域计数时,图形外的区域也应记为一个区域。
② 计算程序环路复杂性
进行程序的基本路径测试时, 程序的环路复杂性给出了程序基本路径集合中的独立路径
条数,这是确保程序中每个可执行语句至少执行一次所必需的测试用例数目的上界。
所谓独立路径, 是指包括一组以前没有处理的语句或条件的一条路径。 只要设计出的测
试用例能够确保这些基本路径的执行,就可以使得程序中的每个可执行语句至少执行一次,
每个条件的取真分支和取假分支也能得到测试。
基本路径集不是唯一的,对于给定的控制流图,可以得到不同的基本路径集。
通常环路复杂性可用以下三种方法求得。
*将环路复杂性定义为控制流图中的区域数。
*设E 为控制流图的边数, N 为图的结点数,则定义环路复杂性为 V(G) =E-N+ 2。
*若设 P 为控制流图中的简单判定结点数,则有 V(G) =P+1。
③ 导出测试用例
利用逻辑覆盖方法生成测试用例,确保基本路径集中每条路径的执行
1.2 测试题目
1.2.1 三角形问题
1.2.1.1 三角形问题的描述
三角新问题接受三个整数 a,b和c 作为输入,用作三角形的边。程序的输入是由这三条
边确定的三角形类型:等边三角形、等腰三角形、不等边三角形或非三角形。
1.2.1.2 三角形问题描述的细化
三角形问题接受三个整数 a,b 和 c 作为输入,用作三角形的边。整数 a,b,c 必须满足以下
条件:
c1. 1≤a≤200
c2. 1≤ b≤200
c3. 1≤ c≤200
c4.a<b+c
c5.b<a+c
c6. c<a+b
程序的输出是有着三条边确定的三角形类型:
等边三角形、等腰三角形、不等边三角形或非三角形。
如果输入值没有满足这些条件中的任何一个,则程序会通过输出消息来进行通知。
如果 a,b 和 c 的取值满足 c1,c2 和 c3,则给出以下四种相互排斥输出中的一个:
如果三条边相等,则程序的输出是等边三角形;
如果恰好有两条边相等,则程序的输出是等腰三角形;
如果没有两条边想相等,则程序输出的是不等边三角形。
如果 c4,c5 和 c6 中有一个条件不满足,则程序输出的是非三角形。
1.2.1.3主要代码
见附件中 Project
1.2.1.4要求
1. 根据以上的 C++代码画出该程序的流程图;
2. 根据流程图,用白盒测试的用例设计方法设计测试用例实现:语句覆盖、判定覆盖、
条件覆盖、条件判定覆盖以及条件组合覆盖;
3. 根据代码画出程序的流图,根据流图计算图的复杂度,计算出基本路径的条数,并给
出基本路径;
4. 根据基本路径覆盖法设计测试用例,覆盖 3 中得到的基本路径;
1.2.2 NextDate 问题
1.2.2.1 NextDate问题的描述
NextDate 是一个有三个变量 (月份、日期和年 )的函数。函数返回输入日期后面的那个
日期。变量月份、日期和年都具有整型值,则满足一下条件:
剩余25页未读,继续阅读
资源评论
hyh15959933972
- 粉丝: 0
- 资源: 8万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 蓝桥杯2024年第十五届省赛真题-前缀总分
- com.qihoo.appstore_300101305-1.apk
- tensorflow-gpu-2.7.1-cp37-cp37m-manylinux2010-x86-64.whl
- tensorflow-2.7.2-cp37-cp37m-manylinux2010-x86-64.whl
- tensorflow-2.7.1-cp39-cp39-manylinux2010-x86-64.whl
- 蓝桥杯2024年第十五届省赛真题-传送阵
- com.qihoo.appstore_300101305.apk
- linux之线程同步一.doc
- keil5配色方案10种
- python烟花代码.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功