黑盒测试技术和测试用例的设计方法

黑盒测试技术

软件测试即“有规程的发现错误的过程”。其中错误是指“与所期望的设计之间的偏差,该偏差可能产生不期望的系统故障或者是错误的后果”。

黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

采用这种测试方法,测试工程师把测试对象看作一个黑盒子,完全不考虑程序内部的逻辑结构和内部特性,只依据程序的《需求规格说明书》,检查程序的功能是否符合它的功能说明。测试工程师无需了解程序代码的内部构造,完全模拟软件产品的最终用户使用该软件,检查软件产品是否达到了用户的需求。黑盒测试方法能更好、更真实地从用户角度来考察被测系统的功能性需求实现情况。在软件测试的各个阶段,如单元测试、集成测试、系统测试及验收测试等阶段中,黑盒测试都发挥着重要作用,尤其在系统测试和确认测试中,其作用是其他测试方法无法取代的。

黑盒测试技术依据软件行为的描述,主要讲解了事物流、等价类划分、边界值分析、因果图和判定表等测试技术。

其中,黑盒测试技术不考虑软件和程序的内部结构,而是直接对软件功能规约或用户手册中所列的功能以及与功能相关的性能进行测试,以测试软件功能为主要目的,包括对正常和异常的输入输出、异常处理、边界情况和极端情况甚至是安全性隐患进行测试。

事物流测试技术

事物流测试技术以事物流程图作为被测对象的建模工具,在此基础上涉及覆盖相应事物的测试用例并执行他。

具体步骤:

  1. 获得事务流程图
  2. 浏览、复审
  3. 用例测试
  4. 测试执行

需要注意的是,对于复杂、异常和最长的路径,应该避免遗漏、注意重复互锁、接口和交叉影响上的问题,而其中,事物流测试最大的问题和最大的代价就是获得事务流程图以及测试用例。事务分类和选取是测试用例设计的基础。

等价类划分技术

等价类划分技术是把软件中所有可能的输入数据划分成若干部分,形成一些等价类。即在一个部分中各个输入数据对于发现软件中错误的概率是相同的话,我们只要从这个部分中选取其中一个数据进行测试即可,减少我们的测试用例的数量,从而减少获得测试用例的代价。划分等价类的目的就是通过少量的测试用例来取得较好的测试效果。

划分方法的具体步骤:

  1. 划分等价类(区分为有效等价类和无效等价类)
  2. 建立等价类表(记得要编号)
  3. 为有效等价类设计测试用例
  4. 为无效等价类至少设计一个测试用例

其中设计测试用例的具体过程如下:

  1. 为每一个等价类规定一个唯一的编号
  2. 设计一个新的测试用例,使其尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步骤,直到所有的有效等价类都被覆盖
  3. 设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步骤,知道所有的无效等价类都被覆盖。
边界值分析

边界值分析技术是一种常用的黑盒测试技术,测试工作表明,大量的错误经常发生在输入或输出范围的边界,因此使用等于、小于、大于边界值的数据对程序进行测试,发现错误的概率比较大。
所以可以遵循以下原则:

  1. 如果某个输入条件规定了输入值的范围,应该选择正好等于边界值的数据。
  2. 如果某个输入条件规定了值得个数,则可以用最大个数、最小个数、比最大个数多1和比最小个数少1的数作为测试数据
  3. 根据规格说明 的每个输出条件,使用原则1
  4. 根据规格说明的每个输出条件使用原则2
  5. 如果程序的规格说明中,输入域或者是输出域是有序集合,在实践中通常选取集合的第一个元素、最后一个元素作为测试用例
  6. 分析规格说明,找出其他可能存在的边界值
因果图

因果图是设计测试用例的一种工具,着重检查各种输入的组合能够造成什么样的输出。前面几种方法并没有考虑到条件输入组合的情况。

要检查输入条件的组合,应首先把所有的输入条件划分成等价类,他们之间的组合情况通过因果图把用自然语言描述的功能说明转换成判定表,最后通过判定表来检查程序输入条件的各种组合情况。

基本步骤:

  1. 通过软件规格说明书的分析,找出一个模块的原因和结果,并为每个原因和结果分配一个标识符
  2. 分析原因和结果之间的关系
  3. 在因果图上标志出一些特定的约束和限制条件
  4. 把因果图转换成判定表
  5. 把判定表的每一列拿出来作为依据,设计测试用例。

在因果图中,通常用Ci表示原因,Ei表示结果。各个节点表示状态,可取值0或1.而0表示某状态不出现,1表示某个状态出现。

主要的原因和结果之间的关系有:

  • “逻辑”恒等关系
  • 逻辑非关系
  • 逻辑或关系
  • 逻辑与关系
    为了表示原因和原因、原因和结果之间可能存在的约束或者是限制条件,在因果图中,在基本符号之外有定义了一些表示约束条件的符号,
    如:
  • E 互斥
  • I 包含
  • O 唯一
  • R 要求
  • M 屏蔽
测试用例设计方法选择
  • 在任何情况下都必须使用边界值分析方法
  • 用等价类划分方法补充测试用例
  • 如果程序的功能说明中含有输入条件的组合情况,应该在一开始就使用决策表法
  • 如果程序某功能适合自动化测试,可以采用自动化测试和随机测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序小黑

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

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

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

打赏作者

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

抵扣说明:

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

余额充值