黑盒测试 (Black-Box Testing)

TestWhite 2018年2月24日11:19:25功能测试评论7202784字阅读9分16秒

黑盒测试 (Black-Box Testing)

黑盒测试又称为功能测试、数据驱动测试或基于规格说明书的测试,是一种从用户观点出发的测试。测试人员一般把被测程序当作一个黑盒子。

黑盒测试主要测到的错误类型有:不正确或遗漏的功能;接口、界面错误;性能错误;数据结构或外部数据访问错误;初始化或终止条件错误等等。

常用的黑盒测试方法有:等价类划分法;边界值分析法;因果图法;场景法;正交实验设计法;判定表驱动分析法;错误推测法;功能图分析法。

· 等价类划分法

等价类分为有效等价类和无效等价类,其中,有效等价类是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合;而无效等价类是指对于程序的规格说明来说是不合理的,没有意义的输入数据构成的集合。

确定等价类的原则是:a. 在输入条件规定了取值范围或值的个数的情况下,则可以确定一个有效等价类和两个无效等价类,比如若规定的输入范围是1<x<10的所有数,则有效的是1~10内的任意数,而无效的是 -∞~0.9999 和10.00001~+∞; b. 在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,则可以确立一个有效等价类和一个无效等价类;c.在输入条件是一个布尔量的情况下,可以确定一个有效的等价类和一个无效的等价类;d. 在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可以确立n个有效等价类和一个无效等价类;e. 在规定了输入数据必须遵守的规则的情况下,可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则);f.在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将改等价类进一步的划分为更小的等价类。

· 边界值分析法

根据经验法则,大量的错误是发生在输入或输出范围的边界上的,而不是发生在输入输出范围的内部。因此针对各种边界情况涉及测试用例,可以查出更多的错误。而使用边界值的分析方法涉及测试用例,首先应确定边界情况。通常输入和输出等价类的边界,应当选取正好等于,刚刚大于或者刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

边界值选择的原则: a. 如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围的边界的值作为测试输入数据。 例如,如果程序的规格说明中规定:“重量在10公斤至50公斤范围内的邮件,其邮费计算公式为……”。作为测试用例,我们应取10及50,还应取10.01,49.99,9.99及50.01等;b. 如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数小一,和比最大个数大一的数作为测试数据。例如,一个输入文件应包括1~255个记录,则测试用例可取1和255,还应取0及256等。c. 将前面两个原则应用于输出条件,即涉及测试用例使输出值达到边界值及其左右的值。d.如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。e. 如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例数据;f. 分析规格说明,找出其他可能的边界条件。

· 因果图法

因果图是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。

利用因果图生成测试用例的基本步骤有:1. 分析软件规格说明描述中哪些是原因(输入,包括前提条件,操作过程),哪些是结果(输出),并给每个原因和结果赋予一个标识符;2. 分析软件规格说明描述的语义,找出原因和结果之间,原因和原因之间的关系,根据这些关系,画出因果图;3. 在因果图上用一些记号表明约束或限制条件;4. 把因果图转换为判定表;5. 把判定表的每一列拿出来作为依据,设计测试用例。

因果图的基本符号和约束符号:

黑盒测试 (Black-Box Testing)

· 场景法

场景法一般包含基本流和备用流,从一个流程开始,通过描述经过的路径来确定的过程,经过遍历所有的基本流和备用流来完成整个场景。其中,基本流就是正常的,正确场景;备选流一般指中断操作的。

黑盒测试 (Black-Box Testing)

· 正交实验设计法

使用正交试验设计法首先要知道正交表,正交表是研究多因素多水平的一种设计方法,它是格局正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,正交试验设计是一种基于正交表的、高效率、快速、经济的试验设计方法。正交表由三个成分构成,Runs:正交表的行数,即实验的次数;Factors:正交表的列数,即因素数;Levels:水平数,任何单个因素能够取得的值的最大个数。 正交表的表现形式是:  L行数 (水平数因素数)   L runs(levels^factors  )。

用正交表设计测试用例的步骤: 1. 有哪些因素(变量); 2.每个因素有那几个水平(变量的取值):用等价类划分出来的;3. 选择一个合适的正交表;4. 把变量的值映射到表中;5. 把每一行的各因素水平的组合作为一个测试用例;6. 加上你认为可以且没有在表中出现的组合。

如何选择正交表呢?取行数最少的一个,情况分三种:1.因素数(变量)、水平数(变量值)相符;2. 因素数不相同: 取因素数最接近但略大的实际值的表;3. 水平数不相同: 有五个因素(变量)A、B、C、D和E。两个因素有两个水平(变量的取值)、两个因素有三个水平,一个因素有六个水平。行数取最少的一个( 行数取最少的一个(L49(78)、 L18(3661)

· 判定表驱动分析法

判定表是分析和表达多逻辑条件下执行不同操作的情况的工具

判定表由以下部分构成:— 1. 条件桩(Condition Stub):列出了问题的所有条件。通常认为列出的条件的次序无关紧要; 2. — 动作桩(Action Stub):列出了问题规定可能采取的操作。这些操作的排列顺序没有约束;3. — 条件项(Condition Entry):列出针对它左列条件的取值在所有可能情况下的真假值; 4.— 动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作。

 

· 错误推测法

错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法。错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况, 根据它们选择测试用例。

最后,对于黑盒测试的综合策略是:首先,考虑边界值分析法,边界值分析法是在任何情况下都必须使用的方法,因为经验表明这种方法设计的测试用例发现程序错误的能力最强。必要时用等价类划分方法补充一些测试用例。其次,可以用错误推测法再追加一些测试用例。这时,可以对照程序逻辑,检查已设计出的测试用例的逻辑覆盖率,如果没有达到要求的覆盖标准,应当再补充足够的测试用例;如果程序的功能说明中含有输入条件的组合情况,则一开始就可以选用因果图法。

  • 我们QQ群
  • QQ扫一扫
  • weinxin
  • 微信公众号
  • 公众号扫一扫
  • weinxin
TestWhite
  • 本文由 发表于 2018年2月24日11:19:25
  • 请您在转载时请务必保留本文链接:https://www.playezu.com/8934.html
软件测试必会技能之编写测试用例 功能测试

软件测试必会技能之编写测试用例

在整个测试的过程中,提测之前,准确说,应该在需求评审、技术方案确认之后,那我们就需要去编写测试用例,通过测试用例来执行测试。 本篇只是单纯的描述如何编写一条用例,针对用例本身,比如:包含哪些必要字段...
软件测试场景标准(一) 功能测试

软件测试场景标准(一)

Part 01 一般测试场景 1.所有必填字段都应校验并用星号“*”标注 2.验证错误提示信息应在正确的位置合理显示 3.所有的错误信息都应用相同的CSS样式显示(如:红色) 4.一...
软件登录功能测试点 功能测试

软件登录功能测试点

验证登录流程判断逻辑 · 前端 账户名、密码、验证码是否为空 密码是否符合规则(特殊字符、大小写、数字、长度..) · 服务端 验证码是否正确(对应时间戳是否过期) 账户是否存在(未注册、...
软件测试基础理论知识 功能测试

软件测试基础理论知识

1、软件测试概述软件测试的IEEE定义:使用人工或自动的手段来运行或测量软件系统的过程,目的是检验软件系统是否满足规定的需求,并找出与预期结果之间的差异。软件测试的发展趋势:  ① 测试工作将进一步前...
阿里云小店
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定