好的黑盒测试方法应该是什么?

很多测试人员会询问, 是否有一种测试方法, 可以很系统化地, 来开立所有测试个案.

  我也很期待有这种东西, 可惜一直没有看到, 不管哪种黑盒测试方法, 都有它的优点和缺点.

  更重要的是黑盒测试有个重大的致命点, 它是完全依赖测试人员的经验. 如果测试人员的产品领域知识, 以及产品所处的系统知识丰富, 就能开出更好的测试个案.

  例如: 等价分析法(Equivalence Class). 他要求先找出等价区域 (Partition or equivalence class),  然后对每个区域开出一个测试个案, 只要这些个案执行完, 就说测试完毕.

  但是有经验的测试人员, 他能找出的区域, 可能质量比没有经验的人好上百倍. 所以不管测试方法再好, 也需要有优秀的人才. 就像圆月弯刀中, 丁鹏杀了柳若松后说, "有些人纵有神刀在手, 仍是无法成为刀中之神的”.  资质永远是第一首选.

  可是如果资质不好, 就没有办法改变了?

  在一次对话中, 让我被启发了. 或许这些方法无法让你开出很完整的测试个案, 但是是否有方法, 让你清楚表达你的思考逻辑.  如果可以清楚表示, 别人或是自己就可以容易检查有没有缺陷或是遗漏.

  就这像用鱼骨图, mindmap, 或是 decision tree 等方式来呈现事情, 可以让别人看到后很快可以理解, 并且也可以很快地给你回馈. 所以同理, 好的黑盒测试方法, 应该也要具备相同的特质.

  因此根据这样的想法, 哪一种黑盒测试的方法比较合适呢? 目前看起来应该是 Decision Table Testing. 因为它会将你想的测试状况, 明确清楚的列出来, 这时候别人就可以检视你的思考逻辑. 以下是使用 decision table 测试方法的范例: 说明在这样的商业规则下, 你需要考虑哪些测试 scenario. 这样的表达方式, 别人可以快速知道你是怎么思考, 是否有不足的地方.

  所以我现在从找最好的测试方法, 改成找最容易表达你测试思维的方法. 这算是进步呢? 还是我很容易满足 ….

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-28 20:35:15

好的黑盒测试方法应该是什么?的相关文章

软件的黑盒测试方法解析与优化

摘要:软件测试是保证软件质量的重要手段,尤其是自动化测试可以提高测试效率,降低成本.黑盒测试是针对非计算机专业人员进行的测试,为了确保测试质量,必须总结出一套适合业务人员使用的测试方法.文章从实际需要出发,对黑盒测试方法进行了分析,并提出了优化方案.希望可以降低软件测试成本,提高测试效率,对软件测试人员的工作有所帮助. 关键词:软件测试:黑盒测试:测试策略 引言 黑盒测试是目前软件业界采用的主流测试方法,这种方法以业务应用为驱动,通过控制输入及其对业务的预期影响来判断代码实现是否正确. 实践证明

黑盒测试方法大对决

软件测试的方法有很多种, 其中黑盒测试方法被使用最多, 主要的原因是容易上手, 进入门坎不高. 所以很多测试人员会使用这种方法. 可是很多人对于何时该使用却不是很清楚, 因此让我们来做个简单的比较吧 1. ECT (Equivalence Class Testing) a. 说明: 将受测软件的输入数据, 切成好几个分割(partitions), 对于每个分割, 将会有测试个案去涵盖它 b. 适用时机 比较小的功能, 或是单一 API. 或是画面某个 input control c. parti

黑盒测试方法---边界值分析

边界值分析法 一.方法简介 1.定义:边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法.通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界.   2.与等价划分的区别    1)边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件.    2)边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况.   3.边界值分析方法的考虑:    长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不

黑盒测试方法---等价类划分

等价类划分方法 一.方法简介   1.定义  是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法.    2.划分等价类:  等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的

从零开始学测试(2)测试方法术语总结

1.白盒测试 a.白盒测试把测试对象看作一个透明的盒子,所以又称为玻璃盒测试. b.它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试. c.通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致. 假如现在有一辆车,你想知道它能不能跑起来? 按照白盒测试的思想,你需要测试车的发动机.底盘.车身.电气设备是否正常,然后做出这辆车能否跑起来的判断(所以我个人认为,白盒测试你需要熟悉项目所用到的技术框架.编码语言.运行环境.等等系列的问题,这项测试

测试用例设计

等价类划分方法 一.方法简介 1.定义 把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法.   2.划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得

软件测试学习笔记

<软件测试的艺术>学习笔记 第一章 一次自评价测试 软件测试就是一个过程或者一系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其不该有的操作. 第二章 软件测试的心理学和经济学 1 软件测试更适宜被称为试图发现程序中的错误(假设其存在)的破坏性的过程. 2 黑盒测试:一种重要的测试策略,又称为数据驱动的测试或输入/输出驱动的测试.使用这种测试方法时,将程序视为一个黑盒子.测试目标与程序的内部机制和结构完全无关,而是将重点集中放在发现程序不按其规范正确运行的环境条件.--穷举测试 3

《Selenium自动化测试指南》—第1章1.1节自动化测试基础

1.1 自动化测试基础 Selenium自动化测试指南1.1.1 软件测试概述 即使是经验非常丰富的程序员,在编写代码时也很容易出现错误,这些错误也许是由于需求不明确,也许是由于设计问题,也许是编码中出现了失误等.但无论是怎样的错误,若不及时处理,都会降低软件的可靠性,严重时甚至会导致整个软件的失败. 为了排除这些错误,人们引入了软件测试的概念.通俗地说,软件测试就是为了发现程序中的错误而分析或执行程序的过程. 据研究机构统计分析表明,国外软件开发机构40%的工作量都花在软件测试上,软件测试费用

黑盒测试——测试准备阶段

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