软件质量保障——三、四

三、黑盒测试

1.黑盒测试概述

1.1 如何理解黑盒测试?

1.2 黑盒测试有什么特点?

1.3 如何实施黑盒测试?

2. 黑盒测试用例设计和生成方法(这里还是要自己找题做)

2.1 等价类划分法

步骤:

1.选择划分准则

2.确定有效等价类和无效等价类

3.设计测试用例覆盖所有的有效等价类,单独覆盖无效等价类

4.写出预期结果

2.2 因果图法

(1)步骤:

1.找出所有原因,原因即输入条件或输入条件的等价类;找出所有的结果,结果即输出结果;

2.明确所有输入条件之间的关系;明确所有输出结果之间的关系

3.找出什么样的输入条件组合会出现哪种输出结果,画出因果图;

4.把因果图转换成判定表(决策表);

5.为判定表(决策表)中的每一列表示的情况设计测试用例。

(2)判定表组成

1. 条件桩:列出所有可能问题(条件)
2. 条件项:列出条件所有可能取值
3. 动作桩:列出可能采取的操作
4. 动作项:指出在条件项的各种取值情况下应采取的动作
判定规则:贯穿条件项和动作项的一列
(3) 判定表简化
简化目标:合并相似规则
相似规则判断:
有两条或以上规则具有相同动作,并且在条件项之间存在极大相似,便可以合并
“—” :表示合并后该条件项与取值无关,称 无关条件

2.3 边界值分析法

使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应重点测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据
测试用例(数据)确认方法
边界值附近数据的确认方法
n : 存在边界值的参数个数
m : 边界值条件数
Paul Jorgensen 公式( 3 种方法的测试粒度依次增强):
1.4n + 1 :基本边界测试。每个参数取 min min+1 max-1 max 各一次,同时其他参数取典型值 nom 。 最后全部参数取典型值 nom 一次。
2. 6n + 1 (+x) :健壮性边界测试。每个参数取 min-1 min min+1 max-1 max max+1 各一次,同时其他参数取典型值 nom 。最后全部参数取典型值 nom 一次。
3. 3m :条件边界测试。每个条件取 -1 ,自身, +1 各一次。
条件边界测试
确定边界条件:
1. 每次只考虑一个参数的边界,固定其它参数
2. 补充确定的关联边界值

2.4 边界值分析和等价类划分的关系

(1)等价类划分时,往往先要确定边界值。
(2)边界值分析是等价类划分方法的补充。
(3)测试中需要将两者结合起来使用

3.第三、四次作业

1.什么是黑盒测试?黑盒测试又称基于需求的测试,为什么?

2.黑盒测试都有哪些用例设计和生成方法?

3.举例说明什么是正面测试和负面测试?

4.写出下列问题的所有等价类:

选举班委,6个候选人,每张选票最多只能选3人,那么选择4-6人的票都是废票,1个不选的是弃权票,选1-3人的是有效票。

四、白盒测试

1.白盒测试简介

1.1 定义

一种基于 源程序 代码 的测试方法。依据 源程序 代码结构与逻辑生成测试用例,以尽可能多地发现并修改源程序错误。分为 静态 动态 两种类型。

1.2 作用

主要的单元测试方法,保证软件质量的基础

1.3 实施者

单元测试阶段:一般由开发人员进行
集成测试阶段:一般由测试人员和开发人员共同完成

2.静态白盒测试

定义
在不执行软件的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的过程,有时称为结
构化分析。

3.动态白盒测试

特点
1. 不但要提供软件源代码,还要提供可执行程序,测试过程需要在计算机上执行程序 .
2. 对程序模块中的所有独立执行路径至少执行一次
3. 对所有逻辑判定的取值( )都至少测试一次
4. 在上下边界及可操作范围内运行所有循环
5. 测试内部数据结构的有效性

3.1基于控制流的测试

3.1.1覆盖准则

1.语句覆盖

2.判定覆盖(判定节点真假都要各取一次)

3.条件覆盖(每一个原子条件都要取真取假各一次)

4.条件——判定覆盖(同时满足条件和判断覆盖)

5.路径覆盖:2^x(x为分支次数)
它是一种比较强的覆盖标准,但不能替代条件覆
盖和条件组合覆盖标准。

3.1.2 基本路径测试

(1)基本路径覆盖:根据基本路径构造测试用例,保证每条基本路径至少执行一次

(2)又称独立程序路径,是指任何一条贯穿程序的路径,该路径至少包含一条不同于其他路径的边

(3)基本路径的两个性质

3.1.3 循环处理方法

注意简单循环适用于边界值测试的6n+1公式

3.2基于数据流的测试

例题:

步骤:

1.画出DFG

2.分别找出D节点和U节点

3.找DU路径,每个D节点到每个U节点各一次

4.约简掉被覆盖的路径

5.设计测试用例

4.第五次作业

1.为什么说测试用例是软件测试的基础,测试用例的好坏决定了测试

2.请说说测试覆盖准则的重要意义,白盒测试和黑盒测试的测试覆盖准则有什么不同?

3.路径覆盖和条件覆盖哪个更强?路径覆盖和条件组合覆盖呢?

4.基本路径的两个重要性质是什么?举例说明。

5. 写出下面程序的语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖的测试用例和预期结果。

  • 27
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mu Haitian

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值