关于黑盒测试的总结

戏子无情 提交于 2020-04-06 14:55:19

黑盒测试

一、黑盒测试的概述

黑盒测试(Black-box Testing)被称为功能测试数据驱动测试

黑盒测试说白了就是一个 黑盒子不考虑程序内部逻辑结构内部特性,只关注软件的功能需求。

二、黑盒测试需要发现的几个问题

  • 功能是否正确,是否有遗漏。
  • 界面是否错误。
  • 数据结构或外部数据库访问错误。
  • 性能错误。
  • 初始化和终止错误。

三、常见的黑盒测试方法

  • 功能性测试
  • 性能测试
  • 安全性测试
  • 兼容性测试
  • 稳定性测试
  • 可靠性测试
  • 安装卸载测试

四、黑盒测试用例设计的方法

1、等价类划分法

将程序所有可能的输入域(有效的和无效的)划分成若干个等价类。然后从每个部分中选取少数具有代表性的数据进行测试,可以避免穷举产生的大量用例。

等价类是指某个输入域子集合

等价类划分一般划分为两种情况:有效等价类无效等价类

1.1 有效等价类

对需求规格说明而言,合理的、有效的输入数据构成的集合。

1.2 无效等价类

对需求规格说明而言,不合理的、无效的输入数据构成的集合。

1.3 等价类划分的要求

划分的子集是互不相交的,符合完备测试避免出现冗余

1.4 等价类划分的方法

  • 按区间划分
  • 按数值划分
  • 按数值集合划分
  • 按限制条件或规则划分
  • 按处理方式划分

1.5 等价类划分法常用的的划分原则

  • 如果规定输入的取值范围或个数时,则划分一个有效等价类两个无效等价类。例如:登陆密码的长度限制6~18个字符,6~18个字符是有效等价类,小于6个字符和大于18个字符则是两个无效等价类。
  • 如果输入数据的一组值(枚举值),并且程序要对每个输入值分别处理的情况下,可以确定n个有效等价类一个无效等价类
  • 规定输入数据必须遵守的规则的情况下,可确定一个有效等价类若干个无效等价类。如密码第一位要大写。
  • 在输入条件规定了输入值的集合或规定了“必须如何”的条件下,可以确定一个有效等价类一个无效等价类
  • 在确定已划分的等价类中各元素在程序处理中的方式不同的情况下,则应将该等价类进一步地划分为更小的等价类。
  • 不是所有的等价类都有无效等价类。如性别的选择只有男或女两种。

1.6 等价类划分法的实例

三角形问题

在三角形问题中,输入条件为:整数、三个数、取值在1~100之间

有四种可能的输出结果:等边三角形、等腰三角形、普通三角形和非三角形

测试用例的设计如下:

测试用例 边a 边b 边c 预期的输出结果
Test01 7 7 7 等边三角形
Test02 7 7 6 等腰三角形
Test03 3 4 5 普通三角形
Test04 4 1 3 非三角形

2、边界值分析法

边界值分析法(Boundary Value Analysis, BVA)是作为对等价类划分法的补充,专注于每个等价类的边界值,边界值分析法是随机选取一个测试点

使用边界值分析方法设计测试用例,首先应确定边界情况

2.1 边界值分析方法的基本思路

测试数据主要选取正好等于、刚刚大于或刚刚小于边界的值,而不是选取等价类中的典型值任意值

2.2 基于边界值分析方法选择测试用例的原则

  • 如果输入条件规定了值的范围,则应该取刚达到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入数据。
  • 如果输入条件规定了值的个数,则用最大个数、最小个数、比最大个数多1、比最小个数少1的数作为测试数据。

2.3 常见的边界值

软件测试中边界检测包含以下类型:数字、字符、位置、质量、速度、方位、尺寸、空间等。相对应的边界值检测为最大/最小、首位/末位、上/下、最重/最轻、最快/最慢、最高/最低、最短/最长、满/空等。

常见的边界值实例通常表现在界面屏幕、数组、报表和循环等方面。

3、判定表分析法

是分析和表达多种输入条件下系统执行不同动作的技术。

  • 条件桩:列出被测对象的所有输入,并列出输入条件与次序无关。
  • 动作桩:列出输入条件系统可能采取的操作,这些操作的排序顺序没有约束。
  • 条件项:列出输入条件的其他取值,在所有可能情况下的真假值。
  • 动作项:列出在条件项的各种取值情况下应采取的动作。
  • 规则:贯穿条件项动作项的一就是一条规则。对于n个条件,每个条件有两个取值(0和1),故有2n条规则。

4、因果图分析法

因果图(Cause/Effect Graphing,CEG)就是考虑使用一种适合于描述多种条件的组合,产生多个相应动作的测试方法。

4.1 因果关系图

因果图使用简单的逻辑符号,以直线连接左右结点。左结点表示输入状态(或称原因)右结点表示输出状态(或称结果)

规格说明中的4种因果关系图如下:

ci与ei取值0或1。0 表示某状态不出现1 表示某状态出现

4.2 约束

约束是指输入与输入之间存在的某些依赖关系。约束符号有异、或、唯一、要求、强制五种表示方法,其中前面四种是针对输入条件的约束强制只针对输出条件的约束

4.3 因果图分析法的设计用例的步骤

  • 找出输入条件(原因)和输出条件(结果)。
  • 画出因果关系图,如果一步不能达到结果,可以借助中间节点。
  • 将因果关系图转换为判定表。
  • 简化判定表,合并相似的规则。
  • 根据每条规则生成对应的测试用例。

5、正交试验法

正交试验设计法(Orthogonal Experimental Design)是研究与处理多因素实验的一种科学方法。

正交试验中常用的术语有指标、因子、因子状态三个。

  • 指标:通常把判断试验结果优劣的标准叫做试验的指标。
  • 因子:把所有影响试验指标的条件称为因子。
  • 因子的状态:把影响试验因子称为因子的状态。

6、流程分析法

流程分析法也称场景法,主要是针对测试场景类型。

从白盒测试设计方法中的路径覆盖分析法演变过来的。

7、功能图法

功能图法是用功能图形象地表示程序的功能说明,由状态迁移图布尔函数组成,同时需要依靠判定表或因果图表示逻辑功能,并机械地生成功能图的测试用例.

功能图法是黑盒、白盒混合用例的设计方法。

功能图模型由状态迁移图逻辑功能模型两部分构成。

  • 状态迁移图:用于表示输入数据序列以及相应的输出数据;由输入数据和当前状态决定输出数据和后续状态。
  • 逻辑功能模型:用于表示在状态中输入条件和输出条件的对应关系,由输入数据决定输出数据,只适用于描述静态说明

8、异常分析法

针对系统有可能存在的异常操作、软硬件缺陷引起的故障进行分析,依此设计测试用例。

8.1 主要针对的两个方面

  • 针对系统的容错能力、故障恢复能力进行测试。
  • 针对系统资源的异常进行测试。

9、错误推测法

错误推测法是基于以往的经验和直觉,参照以往的软件系统出现的错误,推测程序中所有可能存在的各种缺陷和错误,然后有针对性地设计测试用例。

9.1 基本思路

列举出程序中所有可能的错误和容易发生错误的特殊情况,根据可能出现的错误情况选择测试用例。

欢迎大家来GitHub上Star和纠正一下哦!

地址来源:https://github.com/SolerHo/Software-Testing

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!