在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
黑盒测试又称为功能测试,它是软件测试中最主要的测试方法之一。通过黑盒测试,我们可以及时发现软件的错误。那么黑盒测试的方法一般有哪些呢?本文列举一些案例,给大家分析一下黑盒测试的常见方法。
1、等价类划分法
等价类划分就是解决如何选择适当的数据子集来代表整个数据集的问题,通过降低测试的数目去实现“合理的”覆盖,覆盖了更多的可能数据,以发现更多的软件缺陷。确定等价类的原则是:
a. 在输入条件规定了取值范围或值的个数的情况下,则可以确定一个有效等价类和两个无效等价类,比如若规定的输入范围是1<x<10的所有数,则有效的是1~10内的任意数,而无效的是 -∞~0.9999 和10.00001~+∞;
b. 在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,则可以确立一个有效等价类和一个无效等价类;
c.在输入条件是一个布尔量的情况下,可以确定一个有效的等价类和一个无效的等价类;
d. 在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可以确立n个有效等价类和一个无效等价类;
e. 在规定了输入数据必须遵守的规则的情况下,可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则);
f.在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将改等价类进一步的划分为更小的等价类。
2、边界值分析法
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。边界值选择的原则:
a. 如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围的边界的值作为测试输入数据。 例如,如果程序的规格说明中规定:“重量在10公斤至50公斤范围内的邮件,其邮费计算公式为……”。作为测试用例,我们应取10及50,还应取10.01,49.99,9.99及50.01等;
b. 如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数小一,和比最大个数大一的数作为测试数据。例如,一个输入文件应包括1~255个记录,则测试用例可取1和255,还应取0及256等。
c. 将前面两个原则应用于输出条件,即涉及测试用例使输出值达到边界值及其左右的值。
d.如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。
e. 如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例数据;
f. 分析规格说明,找出其他可能的边界条件。
3、因果图法
因果图是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。利用因果图生成测试用例的基本步骤有:
a. 分析软件规格说明描述中哪些是原因(输入,包括前提条件,操作过程),哪些是结果(输出),并给每个
原因和结果赋予一个标识符;
b. 分析软件规格说明描述的语义,找出原因和结果之间,原因和原因之间的关系,根据这些关系,画出因果图;
c. 在因果图上用一些记号表明约束或限制条件;
d. 把因果图转换为判定表;5. 把判定表的每一列拿出来作为依据,设计测试用例。
4、场景法
场景法一般包含基本流和备用流,从一个流程开始,通过描述经过的路径来确定的过程,经过遍历所有的基本流和备用流来完成整个场景。其中,基本流就是正常的,正确场景;备选流一般指中断操作的。
5、正交实验设计法
正交实验设计法是研究多因素多水平的又一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点。是一种高效率、快速、经济的实验设计方法。使用正交试验设计法首先要知道正交表,正交表是研究多因素多水平的一种设计方法,它是格局正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,正交试验设计是一种基于正交表的、高效率、快速、经济的试验设计方法。
正交表由三个成分构成,Runs:正交表的行数,即实验的次数;Factors:正交表的列数,即因素数;Levels:水平数,任何单个因素能够取得的值的最大个数。 正交表的表现形式是: L行数?(水平数因素数) L runs(levels^factors )。
6.判定表驱动分析法
判定表是分析和表达多逻辑条件下执行不同操作的情况的工具。判定表由以下部分构成;
a. 条件桩(Condition Stub):列出了问题的所有条件。通常认为列出的条件的次序无关紧要;
b. 动作桩(Action Stub):列出了问题规定可能采取的操作。这些操作的排列顺序没有约束;
c. 条件项(Condition Entry):列出针对它左列条件的取值在所有可能情况下的真假值;
d. 动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作。
7、错误推测法
错误推测法是指,在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法。错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况, 根据它们选择测试用例。
总之,在实际进行黑盒测试的时候,可以先考虑使用边界值分析法,而等价类划分方法可以作为测试方法的补充使用。另外,其他黑盒测试的方法的使用,还是要根据具体案例具体分析。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
软件测试培训就业方向多不多?都有哪些?
软件测试培训就业方向多不多?都有哪些岗位?很多人一提到软件测试培训,就会考虑到未来毕业后一定要找一个软件测试的工作,但是却不知道在软件测试领域中同样有明确的工作划分,因此学习软件测试培训课程,就业后也有很多的就业方向。
6880
2019-07-23 18:32:24
新手软件测试工程师应该如何设计功能测试用例
设计功能测试用例是软件测试人员的一基本功。然而很多新手测试工程师对基本的测试概念、思路以及技术没有充分的认知,甚至在设计测试用例的时候大部分时间通过直觉与经验执行。因此这部分新手测试工程师的测试用例设计既不全面也不可学 。那对于新手而言应该如何设计功能测试用例呢?
5852
2019-09-04 18:48:03
自动化测试是什么?为什么要做自动化测试?
自动化测试是什么?相信对软件测试有一定了解的朋友都不会感到陌生。自动化测试正如字面上理解得那样,是一种自动完成测试工作的测试方式。虽然是说的自动化,但是也是需要测试员手动编写代码去完成测试工作。那么,为什么要做自动化测试呢?下面我们来深入了解一下,自动化测试的定义以及其在软件测试工作中无可比拟的优势。
8508
2020-02-10 20:07:09
学习软件测试需要学哪些知识?
学习软件测试需要学哪些知识?现阶段,随着IT技术的广泛应用,衍生出了很多新型的行业,软件测试工程师就是其中的一种。软件测试的应用范围和专业度都在不断的扩大和提高,很多朋友都想学习软件测试,需要了解哪些内容呢?
5120
2020-06-02 14:16:03
女生适合学软件测试吗?有优势吗?
有人说女生心细耐心能够更好的找出bug;有人说测试不用写代码,女生学更容易上手;有人说做测试强度低不用加班,对女生更友好。在以前手工测试盛行的年代,有这样的看法还算正常,但测试行业不断升级变化不加班是不可能的。
4300
2021-01-13 14:26:48