黑盒测试
小编先给大家介绍一下黑盒测试主要发现的错误类型有哪些?~
1.检测功能是否遗漏;
2.检测性能是否满足要求;
3.检测人机交互是否有错误;
4.检测界面是否有错误;
5.检测数据结构或外部数据库访问是否有错误;
6.检测接收数据和结果输出是否有错误;
7.检测程序初始化和终止方面是否有错误;
再给大家介绍黑盒测试主要检查下面几个方面内容~
1.正确性:计算结果,命名方面
2.可用性:是否满足软件的需求说明
3.边界条件:输入部分的边界值
4.性能:运行速度、系统资源消耗
5.压力测试
6.错误恢复:错误处理、页面数据验证、输入错误数据
7.安全性测试:对系统的安全进入,安全操作及相关权限进行测试。
8.兼容性:不同浏览器、不同应用版本在实现功能时的表现
黑盒测试方法
1.等价类划分法
有效等价类是指符合程序规格说明书,有意义的、合理的输入数据所构成的集合。
无效等价类是指不符合程序规格说明书,无意义,不合理的输入数据所构成的集合。
⚪等价类测试步骤:
(1)划分等价类,形成等价类表。
(2)为每一个等价表规定一个唯一的编号。
(3)设计一个新的测试用例,使其尽量多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止。
(4)设计一个新的测试用例。使其覆盖一个而且只覆盖一个无效等价类,重复这一步,直到所有的有效等价类均被覆盖为止。
例:输入三个整数a\b\c分别作为三角形的三边,通过程序判断由这三条边构成的三角形类型:等边三角形、等腰三角形、一般三角形或非三角形。
假定三个输入a/b/c在1~100之间取值,并且满足以下条件:
c1:1≤a≤100
c2:1≤b≤100
c3:1≤c≤100
c4:a<b+c
c5:b<a+c
c6:c<a+b
如果a/b/c满足c1/c2/c3,则输出以下四种情况之一
(1)如果不满足条件c4/c5/c6中的一个,则程序输出为“非三角形”
(2)如果三边相等,则程序输出为“等边三角形”
(3)如果两边相等,则程序输出为“等腰三角形”
(4)如果三边都不相等,则程序输出为“一般三角形”
表1-1 三角形问题输入域的等价类
编号 | 输入条件(a\b\c) | 有效等价类 | 无效等价类 |
---|
E1 | 1≤a、b、c≤100的整数 | 是 | |
E2 | 1≤a、b、c≤100,且其中一边为小数 | | 是 |
E3 | 1≤a、b、c≤100,且其中两边为小数 | | 是 |
E4 | 1≤a、b、c≤100,且其中三边为小数 | | 是 |
E5 | 其中一边小于1 | | 是 |
E6 | 其中两边小于1 | | 是 |
E7 | 其中三边小于1 | | 是 |
E8 | 其中一边大于100 | | 是 |
E9 | 其中一边大于100 | | 是 |
E10 | 其中一边大于100 | | 是 |
E11 | 只输入一个数 | | 是 |
E12 | 只输入两个数 | | 是 |
E13 | 输入三个以上的数 | | 是 |
E14 | 输入非数值型的数据 | | 是 |
表1-2 三角形问题输入域的测试用例
测试用例编号 | a | b | c | 期望输出 | 对应等价类 |
---|
Test1 | 5 | 6 | 7 | 一般三角形 | E1 |
Test2 | 2.5 | 6 | 7 | 请输入1~100的三个整数 | E2 |
Test3 | 2.5 | 3.5 | 7 | 请输入1~100的三个整数 | E3 |
Test4 | 2.5 | 3.5 | 4.5 | 请输入1~100的三个整数 | E4 |
Test5 | 0 | 6 | 7 | 请输入1~100的三个整数 | E5 |
Test6 | 0 | -1 | 7 | 请输入1~100的三个整数 | E6 |
Test7 | 0 | -1 | 0 | 请输入1~100的三个整数 | E7 |
Test8 | 101 | 6 | 7 | 请输入1~100的三个整数 | E8 |
Test9 | 101 | 102 | 7 | 请输入1~100的三个整数 | E9 |
Test10 | 101 | 102 | 103 | 请输入1~100的三个整数 | E10 |
Test11 | 5 | | | 请输入1~100的三个整数 | E11 |
Test12 | 5 | 6 | | 请输入1~100的三个整数 | E12 |
Test13 | 5 | 6 | 7,8 | 请输入1~100的三个整数 | E13 |
Test14 | # | m | ) | 请输入1~100的三个整数 | E14 |
表1-3 三角形问题输出域的等价类
编号 | 输入条件(a\b\c) | 有效等价类 | 无效等价类 |
---|
E15 | 1≤a、b、c≤100,且三个相同的整数 | 是 | |
E16 | 1≤a、b、c≤100,且两个相同的整数 | 是 | |
E17 | 1≤a、b、c≤100,且三个不相同的整数 | 是 | |
E18 | 任一边数大于其他两边数之和的整数 | 是 | |
表1-4 三角形问题输出域的测试用例
测试用例编号 | a | b | c | 期望输出 | 对应等价类 |
---|
Test15 | 6 | 6 | 6 | 等边三角形 | E15 |
Test16 | 6 | 6 | 5 | 等腰三角形 | E16 |
Test17 | 3 | 4 | 5 | 一般三角形 | E17 |
Test18 | 4 | 1 | 2 | 非三角形 | E18 |
2.边界值分析法
边界值分析法主要从数据的定义域的边界数据进行分析,对于合法与不合法的边界数据进行选取和测试,用来检查用户输入信息、返回结果以及中间计算结果是否正确。
⚪边界值获取及生成测试用例的步骤如下:
(1)使用一元划分方法划分输入域。
(2)为每种划分确定边界,也可利用输入变量之间的特定关系确定边界。
(3)设计测试用例,确保每个边界至少出现一个测试输入数据中。
例:输入两个整型变量,A表示商品编码,B表示采购数量。当访问数据库时, 查询并显示A所对应的商品单价,当A和B中任意一个为非法输入时,会显示一条错误信息提示返回。A的有效区间为[99,999],B的有效区间为[1,100]。首先为输入变量创建等价类:
表2-1 输入A,B两变量等价类表
变量取值 | 等价类编号 | 备注 |
---|
小于99 | E1 | 无效等价类 |
[99,999] | E2 | 有效等价类 |
大于99 | E3 | 无效等价类 |
小于1 | E4 | 无效等价类 |
[1,100] | E5 | 有效等价类 |
大于100 | E6 | 无效等价类 |
表2-2 边界值分析测试用例
测试用例编号 | 变量A | 变量B | 预期输出 |
---|
Test1 | 200 | 0 | 错误提示信息 |
Test2 | 200 | 1 | 相关等价类信息 |
Test3 | 200 | 2 | 相关等价类信息 |
Test4 | 200 | 50 | 相关等价类信息 |
Test5 | 200 | 99 | 相关等价类信息 |
Test6 | 200 | 100 | 相关等价类信息 |
Test7 | 200 | 101 | 错误提示信息 |
Test8 | 98 | 50 | 错误提示信息 |
Test9 | 99 | 50 | 相关等价类信息 |
Test10 | 100 | 50 | 相关等价类信息 |
Test11 | 998 | 50 | 相关等价类信息 |
Test12 | 999 | 50 | 相关等价类信息 |
Test13 | 1000 | 50 | 错误提示信息 |
3.决策表法
决策表又称为判定表,是分析和表达多逻辑条件下1执行不同操作情况的工具,能够将复杂的问题按照各种可能的情况全部列举出来,设计出完整的测试用例集合。
决策表由条件桩、动作桩、条件项和动作项4个部分组成;
条件桩 | 条件项(规则) |
---|
动作桩 | 动作项(规则) |
(1)条件桩:列出来问题的所有条件。 | |
(2)动作桩:列出来问题规定可能采取的操作。 | |
(3)条件项:列出针对它左列条件的取值。 | |
(4)动作项:列出在条件项的各种取值情况下应采取的操作。 | |
规则:任何一个条件组合的特定取值及相应要执行的操作称为规则。 | |
(在决策表中,若有n个条件,每个条件有两个取值(真,假)排列组合,可的2的n次幂条规则,并且可以合并。将具有相同动作,并且其条件项之间存在着极为相似关系的两条或多条规则合并为一条规则。 | |
⚪决策表的建立步骤: | |
(1)列出所有的条件桩和动作桩。 | |
(2)确定规则的个数。 | |
(3)填入条件项。 | |
(4)填入动作项,得到初始决策表。 | |
(5)合并相似规则,得到优化决策表。 | |
例;对三角形问题,使用决策表来设计其测试用例。 | |
(因有6个条件,所以规则个数2的6次幂=64个,初始决策表因为规则64个,小编写不开就省略了,如果有疑问下方留言。合并相似规则后得到如下表所示) | |
表3-1 合并后的决策表
C1:1≤a≤100 | F | T | T | T | T | T | T | T | T | T | T |
---|
C2:1≤b≤100 | - | F | T | T | T | T | T | T | T | T | T |
C3:1≤c≤100 | - | - | F | T | T | T | T | T | T | T | T |
C4:a=b? | - | - | - | T | T | T | T | F | F | F | F |
C5:b=c? | - | - | - | T | T | F | F | T | T | F | F |
C6:a=c? | - | - | - | T | F | T | F | T | F | T | F |
非三角形 | √ | √ | √ | | | | | | | | |
不等边三角形 | | | | | | | | | | | √ |
等腰三角形 | | | | | | | √ | | √ | √ | |
等边三角形 | | | √ | | | | | | | | |
不可能 | | | | | √ | √ | | √ | | | |
表3-2 三角形决策表的测试用例
测试用例编号 | a | b | c | 预期输出 |
---|
Test1 | 4 | 1 | 2 | 非三角形 |
Test2 | 1 | 4 | 2 | 非三角形 |
Test3 | 1 | 2 | 4 | 非三角形 |
Test4 | 6 | 6 | 6 | 等边三角形 |
Test5 | ? | ? | ? | 不可能 |
Test6 | ? | ? | ? | 不可能 |
Test7 | 6 | 6 | 7 | 等腰三角形 |
Test8 | ? | ? | ? | 不可能 |
Test9 | 6 | 7 | 6 | 等腰三角形 |
Test10 | 7 | 6 | 6 | 等腰三角形 |
Test11 | 3 | 4 | 5 | 不等边三角形 |
4.因果图法
主要用于描述软件输入条件(原因)与软件输出结果(结果)之间的依赖关系。“原因“是指软件需求中能影响软件输入的任意输入条件。“结果”是指软件对某些输入条件的组合所做出的响应。
![因果图法](https://i-blog.csdnimg.cn/blog_migrate/fdffad3106f5bc72f6a4c203468cebbc.png)
⚪因果图方法设计用例基本步骤:
(1)分析程序规格说明中那些原因,哪些是结果。
(2)分析程序规格说明中描述内容的语义和限制,找出两类关系,画出因果图。
(3)把因果图转化为判定表
(4)对判定表的每一列写成一个测试用例。
例:某一软件对一些文件名要求如下:
对于输入或输出文件名规定:第一个字符必须时I或O(如I字符开始表示输入文件名,O字符开始表示输出文件名),第二个字符必须是一个数字,如I1,O3等。当输入文件名后,对文件进行相关处理。如果文件名中第一个字符不正确,则给出”操作文件类型错“信息,若第一个字符正确,但第二个字符不正确,则给出”文件顺序号错“信息
(1)根据规格需求,列出原因和结果。
原因:C1:第一个字符是I
C2:第一个字符是O
C3:第二个字符是数字
结果:S1:对文件进行处理
S2:给出“操作类型错”信息
S3:给出“顺序号错”信息
(2)画出因果图。找出约束关系
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/be86415a82c5b36cb6f1db59a159c11a.png)
(3)将因果图转化为判定表。
表4-1 对应判定表
C1:第一个字符是I | T | F | F | F | T | F |
---|
C2:第一个字符是O | F | T | F | F | F | T |
C3:第二个字符是数字 | T | T | F | T | F | F |
表4-1 对应测试用例
测试用例编号 | 输入文件名 | 预期输出 |
---|
Test1 | I4 | 对文件进行处理 |
Test2 | O5 | 对文件进行处理 |
Test3 | XX | 操作类型错 |
Test4 | X8 | 操作类型错 |
Test5 | IX | 顺序号错 |
Test6 | OX | 顺序号错 |
最后,白盒测试详解请看软件测试基础知识(四)~~ | | |
小编会持续更新~加油哦 | | |
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/9958e4bb046c7911131f1be9aba6df57.jpeg) | | |