黑盒测试

  黑盒测试与白盒测试可以堪称软件测试的两个基础性测试方法,既古老而且实用,我不知道是不是最早的,但感觉其他很多方法都是这两种方法的融合衍生的。

  当初为这两种方法命名的人显然颇具幽默气息,使用比喻的方法来命名。将整个软件工程比作盒子,黑盒,意为盒子是黑的,不透光的,即为我们看不到软件工程的内部,只能拿到这个“盒子”,但是,里面的内容是什么,我们完全并不知道,与之相对的,白盒测试,即为盒子是白的,可以看透的,我们知道里面的内容,知道整个工程的具体实现方法,可以针对内容进行测试。今天,我们就看看所谓的黑盒测试究竟是一种什么样的东西。

  我们先用一张图片形象一点的解释一下黑盒测试。

  如上图,中间的黑框即为黑盒,我们不知道里面是啥,我们可以做的事是输入,然后,得到结果,如果结果正确,那证明我们的软件ok,如果不正确,那我们就要很不情愿的去修改了。

  简单一点的话说,黑盒测试,就是让测试者,以一个使用者的身份来测试,站在用户的角度,来测试,一个软件是否能够正确的满足要求,因为最后用这个软件的是用户,开发者与用户是不同的,他们对软件的评价也许是这个软件用了多么高明的算法,这个算法效率多么高,速度多么快,运算起来占用的空间多么少;或者这个软件,使用了什么语言,这个语言有多复杂;亦或者这个软件使用了多么复杂的架构,编写起来多么费时费力。这些方面,如果在内行看来很重要,他们审视软件的时候也许会发现这些优点,也许会因此夸赞编程者多么优秀。但是用户不同,他们关心的只是这个软件与他们预期的是否一样,当然,他们不能过于苛求,但是,至少功能与他们要求的一样,这是人家的正当权利,你不能反驳,他们才不会管你是用C++还是用JAVA,甚至你用汇编语言乃至机器语言(当然这个可能性现在已经不太大了)写,在他们眼里是一样的。

  黑盒测试的测试者,要求的就是要有这样的眼光,你既然站在黑盒测试者的位置,你就要知道你的立场,不能因为你也是编程人员,就偏袒,一个人用了折半查找,但是功能不对,另一个人用了顺序查找,但是功能对了,在你眼里就要认为,后者的是好的(当然是指相对的,现在数据量这样大,顺序查找不太现实)。因为黑盒测试的就是功能,你功能都没实现,其他的免谈,全都是白搭。在一些人眼里这可能有点不近人情,但是,这是必须的。

  现在我们来谈一下具体的测试方法,因为黑盒测试就是测试功能,所以,将所有的可能输入都来一遍是最保险的方法,也是最不可能实现的方法。就算测试一个100以内整数的加法器都需要测试10000次,何况现在这些复杂的软件,真要将所有的输入都列出来,有的能累死你,有的累死你都做不完,有的压根就是无穷的。

  所以,我们采取一个取巧的方法,有一个方法叫做等价类划分,就是根据软件所关心的输入条件,将输入划分成几个互相等价的集合,比如,测试输入可以是所有人类,但是假如只有性别有影响,那就划分成男人和女人,因为每个集合里面彼此元素都是等价的,那在两个集合里面随便挑一个幸运儿就可测试出软件是否符合规定。如果不止一个输入点,那就要对每个输入点都划分等价类(等价类的数量是看情况而定的,可不是一定只有两个)。在划分等价类的时候要注意,不能只有正确的输入,假如用户有可能错误输入,那就要连错误输入一起划分。比如要求输入1-10之间的数,那,输入的数不属于这个范围就是错误输入,可以划分成小于1的和大于10的。这里有一点要注意,一次测试,输入内容覆盖正确的等价类越多越好,覆盖错误的等价类则只能有一个,其他的只能是正确的。

  

转载于:https://www.cnblogs.com/tiandaliang/articles/4419226.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值