• 0
  • 0
分享
  • 什么是黑盒测试?它的常用方法有哪些?——软件测试圈
  • TIMI 2022-06-22 13:59:02 字数 2083 阅读 1592 收藏 0

一:什么是黑盒测试?

黑盒测试(Black-box Testing),黑盒测试又称为“功能测试”,是将测试对象看做一个黑盒,在并不考虑软件产品的内部结构和处理过程的基础上对软件产品进行功能测试。黑盒测试注重软件产品的“功能性需求”。

二:黑盒测试常用的方法有哪些?

运用黑盒技术设计测试用例常用的方法有:

① 等价类划分

② 边界值分析

③ 因果图分析法

④ 错误推断法等

1.png

详细分析:

(一)等价类划分:

等价类的划分无非就两种情况:有效等价类、无效等价类

2.png

1.有效等价类:是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。

利用有效等价类可检验程序是否实现了规格说明中所规定的功能需求。

2.无效等价类:与有效等价类的定义恰巧相反。

无效等价类是指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。

他能检验程序在不符合规则的数据输入下,是否会有异常(无效等价类至少应该有一个,也可能有多个,视情况而定)

综上:设计测试用例时,要同时考虑这两种等价类,因为软件不仅要能接收合理的数据,也要能经受意外的数据,这样的测试才能确保软件具有更高的可靠性。

【例1】100分的试卷分数(Scores)

有效等价类:0 ≤ score ≤ 100

无效等价类1:Scores < 0

无效等价类2:Scores > 100

【例2】每个月所下发的工资只可为数字

有效等价类:输入的工资内容为数字

无效等价类1:输入的工资内容为字母

无效等价类2:输入的工资内容为汉字

无效等价类3:输入的工资内容为特殊字符

【例3】需求:用户注册时所设计的密码可以是“数字”、“字母”、及“部分特殊符号”,不能输入“空格”、“单引号”、“双引号”

有效等价类1:输入的密码全为“数字”

有效等价类2:输入的密码全为“字母”

有效等价类3:输入的密码全为“特殊符号”(除“空格”、“单引号”、“双引号”)

有效等价类4:输入的密码为“数字”和“字母”的组合

有效等价类5:输入的密码为“数字”和“特殊符号”的组合

有效等价类6:输入的密码为“字母”和“特殊符号”的组合

有效等价类7:输入的密码为“数字”和“字母”和“特殊符号”的组合

无效等价类1:输入的密码全为“空格”

无效等价类2:输入的密码全为“单引号”

无效等价类3:输入的密码全为“双引号”

无效等价类4:输入的密码为“空格”和“单引号”的组合

无效等价类5:输入的密码为“空格”和“双引号”的组合

无效等价类6:输入的密码为“空格”和“单引号”和“双引号”的组合

(二)边界值分析法

1.边界值分析法也是一种典型的黑盒测试方法,其主要的测试点 是对“输入”或“输出”的“边界”值进行测试

2.通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界

注意:

(1)边界值分析不是从某个等价类中随便挑一个作为代表,而是使这个等价类的每一个边界都要作为测试条件。

(2)边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况

(3)边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多的存在于划分的边界上。因此,边界值分析法是在等价类的边界上以及两侧的情况设计测试用例。

(三)因果图分析法

1.这里我们先回顾一下前面介绍的两种黑盒测试方法:等价类划分法和边界值分析法,我们可以发现,等价类划分法和边界值分析法它们都是着重考虑输入条件,但是未考虑输入条件之间的联系、相互结合等。

2.考虑输入条件之间的相互结合可能会产生一些新的情况。但要检查输入条件的结合不是一件容易的事情,即使把所有的输入条件划分成等价类,他们之间的结合情况也相当多。因此,必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例,这就需要利用因果图分析法(逻辑模型)

利用因果图生成测试用例的基本步骤:

①分析软件规格说明描述中, 那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符。

②分析软件规格说明描述中的语义.找出原因与结果之间, 原因与原因之间对应的关系. 根据这些关系,画出因果图。

③由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情况不不可能出现. 为表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件。

④把因果图转换为判定表。

⑤把判定表的每一列拿出来作为依据,设计测试用例。

(四)错误推断法

在软件测试过程中,人们可以依靠经验和直觉推测系统中可能存在的各种错误,从而有针对性地编写检查这些错误的例子,这就是错误推测法。

基本思想:

①根据以往的测试经验和对系统内部知识的了解,列出系统中各种可能有的错误和容易发生错误的特殊情况,再根据它们来设计测试用例。

②随着在产品测试的实践中对产品的了解的加深和测试经验的丰富,使用错误推测法设计的测试用例往往非常有效。

③可以作为测试设计的一种补充手段,并且积累的经验越丰富,方法使用效率越高。


作者:时间_wys

原文链接:https://blog.csdn.net/weixin_43950588/article/details/108550652

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   忙忙碌碌,不知不觉在新公司已经3个月了。尤其是最近一段时间,异常的忙,但是我仍然会抽出一定量的时间来做些开发。  以后成熟的话,打算输出一个手把手开发的系列,分享给更多的测试童鞋。  前几天跟群里一位小伙伴聊天,听到了一个关键词。相信这也是很多测试童鞋都有过的体会,感觉测试容易被开发鄙视,得不到尊重。  既然今天也没什么技术向的内容分享,那就随便聊聊吧,以一个入行3年多的测试小兵的角度,谈谈我的感受。  一、听听测试跟开发都吐槽对方什么?  1.来自开发的问候  由于忙于各种业务,所以认识了很多的开发童鞋。接触的多了,大家话题也就聊开了。因为他们也会跟不同的测试人员合作,所以我偶尔就能听到...
            0 0 1074
            分享
          •   前言  不管怎样,面试或者被面试和简历有着理不清的关系,面试官要通过简历了解面试者的基本信息、过往经历等。  面试者希望通过简历把自己最好的一面体现给面试官,所以在这场博弈中,作为面试者,需要掌握一定的技巧,写出一个高质量的简历,才能抓住面试官的眼光。  假如你是网上发出简历,你的简历必然会经过 HR 的筛选,一张简历 HR 可能也就花费 10 秒钟看一下,然后 HR 就会决定你这一关是 Fail 还是 Pass。  假如你是内推,如果你的简历没有什么优势的话,就算是内推你的人再用心,也无能为力。  一份好的简历  一份好的简历,可以给人的第一印象大大提升,那么我们如何准备一份高质量的简历...
            0 0 632
            分享
          • 在移动互联网时代,APP的数量越来越多,发布更新的频次更快,如何确保APP上线质量,让用户获得更好的体验,APP质量保障工作很重要,人工智能在测试工作中发挥更大的能量。首先来看下几大行业中,软件质量保障QA人员在项目中的角色和话语权:A.传统软件行业开发周期长,需求功能点多,如微软,对测试计划性要求高, 测试有一定的发言权,可以坚持一些原则。如果从把关角度发言权排序 测试 >> 开发 >>产品B.硬软件结合行业软硬件结合,有点类似嵌入式的, 如 拉卡拉, 这些依托硬件又依托软件,开发人员有绝对的发言权,看似简单但产品也不一定能弄清原理,对开发要求很高,测试有一点发言权。...
            4 2 2124
            分享
          •   前言  今天几个测试圈子的大佬约了饭局,席间彼此交流了很多关于职场工作上测试相关的话题,听了他们的一些观点很有启发,我自己对于聊的话题也做了一些描述和实际的案例说明。下面是聊的一些关键话题,我将交流的内容和个人观点整理了下,供大家参考。  从测试leader的角度如何保障质量交付?  聊的第一个话题就是测试leader如何保障团队的质量交付,这个话题最近在很多地方,听很多人聊过。我会尝试从以下几点来做阐述说明,观点仅代表个人看法。  流程管理  问:流程是什么?为什么要有流程?流程能解决什么问题?流程能带来什么保障?  流程是什么?  流程是保障团队目标达成的最佳实践,因人/团队/业务类型...
            0 0 1092
            分享
          • 【摘要】测试用例英文名叫Testcase,测试用例是开展测试工作的重要一项,测试用例是否完善、质量高低以及执行的情况如何是影响软件测试结果的一个重要方面。可以说测试用例是软件测试中一个举足轻重的因素。本文就有关问题进行阐述。【关键词】测试用例概述用例文档(checklist),是关于具体测试步骤的文档,它描述了测试的输入参数、条件及配置、预期的输出结果等,以判断被测软件的工作是否正常。从表现形式上而言,测试用例可以是纯文本的说明文档,也可以是用脚本语言或高级语言编写的一段代码。测试用例文档由简介和测试用例两部分组成。简介部分编制测试目的、测试范围、定义术语以及测试背景等。测试用例部分逐一列示各...
            1 1 1712
            分享
      • 51testing软件测试圈微信