1.软件测试
软件测试就是验证软件产品特性是否满足用户的需求。测试的任务是发现程序中的缺陷
软件测试用例是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略,内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档
软件测试目的:
- 验证软件是否满足软件开发合同或项目开发计划、系统设计文档、软件需求规格说明、软件设计说明和软件产品说明等规定的软件质量要求;
- 通过测试,发现缺陷;
- 为软件产品的质量测量和评价提供依据。
2.黑盒功能测试测试方法
1)等价类:
等价类法的出现就解决了穷举法不能解决的问题
根据程序对数据的要求,把程序的输入域划分成若干个部分,列出哪些数据是有效的,哪些数据是无效的,从每个部分中选取少数代表性数据作为测试用例的数据
如果这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题。
有效等价类:对于程序的规格说明书是合理的、有意义的输入数据构成的集合,利用有效等价类验 证程序是否实现了规格说明中所规定的功能和性能
无效等价类:根据需求说明书,不满足需求的集合。
1.确定有效等价类和无效等价类 2.编写测试用例,设计具体测试数据
例子
程序要求输入的数值是 50 到 100,那么一个有效等价类就是 50~100,而 2 个无效等价类就是小于 50,大于 100 的区域数据。
- 用户名要求:3~12 位,只能使用英文字母、数字、中划线-、下划线_,这 4 种字符或 4 种字符的组合。并且首字符必须为字母或数字。
- 密码要求:6~20 位,只能使用英文字母、数字、中划线-、下划线_,这 4 种字符或 4 种字符的组合。
- 确认密码:与密码相同,并且区分大小写。
现在使用等价类划分法设计其测试用例
一一列出条件中可能的输入组合情况
在该题中,可以有这样的组合,如:
- 输入有效的用户名、有效的密码、有效的确认密码;
- 输入无效的用户名、正确的密码、正确的确认密码;
- 输入有效的用户名、无效的密码、正确的确认密码;
- 输入有效的用户名、有效的密码、无效的确认密码



在测试用例中,可以先测试全部输入条件的有效等价类组合,再每次只测试一个输入条件的无效等价类情况。无效等价类在开始测试的时候不能一起组合,避免“屏蔽”现象发生(不知道发生错误的是哪个)
2)边界值
通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
选取正好等于、刚刚大于、刚刚小于边界的值作为测试数据
例子
对于循环条件来说,循环的第 0 次、第 1 次和倒数第 2 次以及最后一次是它的边界
边界值包含:边界值+次边界值 1. 输⼊框长度为1-11,取边界值为:1、11、12、0
2. 运动员的参赛项目为1-3项,取边界值为:0项、1项、3项、4项
等价类属于确认有效区间,而边界值属于确认边界。
边界值分析法和等价类划分法之间最大的区别就是,边界值分析考查正处于等价类划分的边界或在边界附近的状态
3)判定表法
边界值分析法和等价类划分法,它们都存在一个弱点,就是没有对输入条件的组合进行分析
判定表又称“决策表”,是一种表格状的图形工具,适用于处理判断条件较多,各条件又相互组合、有多种决策方案的情况
判定表通常由 4 个部分组成:
条件桩:指所有条件的名称。
动作桩:指所有可能采取的操作。
条件项:条件桩中的条件所有可能的取值。
动作项:与条件项紧密相关,列出在条件项的各组取值情况下应该采取的动作。
任何一个条件组合的特定取值及其相应要执行的操作称为一条规则(Rules),在判定表中贯穿条件项和动作项的一列就是一条规则
例子
超市中如果某产品的销售好并且库存低,则继续销售并增加该产品的进货;如果该产品销售好,但库存量不低,则继续销售;若该产品销售不好,但库存量低,则该产品下架;若该产品销售不好,且库存量不低,如果有空货架则继续销售,如果没有空货架,则该产品下架
分析需求,列出所有的条件桩和条件项。如下表所示。
| 条件桩 | 条件项 |
|---|---|
| C1:销售好? | True(T)或 False(F) |
| C2:库存低? | True(T)或 False(F) |
| C3:有空货架? | True(T)或 False(F) |
分析需求,列出所有的条件组合所产生的动作。
- A1:增加进货
- A2:继续销售
- A3:产品下架
根据规则,设计初始判定表,如下表 所示。
对于本题有 3 个条件(销售、库存、有空货架),每个条件有 2 个取值(是或否),根据“组合”的原理,共有 2*2*2=8 种规则。(8个测试用例)条件的取值互相乘

是否有空货架不影响动作结果,所以可以合并

判定表法优点是:能够将复杂的问题按照各种可能的情况全部列出来,简明并避免遗漏,而且对条件的组合顺序并无要求。
缺点:没有考虑输入条件之间的相互制约关系。
4)因果图法
考虑输入条件之间的制约关系,就要使用到因果图法。在因果图法中,输入就是因,输出就是果,因之间有相互制约关系,因果之间也有制约关系。
用直线连接左右结点,其中左结点 c 表示输入状态(或称原因),右结点 e 表示输出状态(或称结果)。c 和 e 取值都是 0 或者 1,0 表示该条件不出现,1 表示该条件出现。


画因果图只是一种辅助工具,通过分析最终得到判定表,再通过判定表编写测试用例
5)正交法
适合输入条件过多的情况
正交实验法设计测试用例是考虑用最少的用例来覆盖大量组合的情况
正交试验设计是⼀种基于正交表的、高效率、快速、经济的试验。 正交表: 如图最简单的正交表是L(4)(2(3)),含意如下:“L”代表正交表;L 下⻆的数字“4”表⽰有 4 横⾏, 简称⾏,即要做四次试验;括号内的指数“3”表⽰有3 纵列,简称列,即最多允许安排的因素是3 个;括号内的数“2”表⽰表的主要部分只有2 种数字,即因素有两种⽔平1与2 。
因素(Factor):在一项实验中,凡是被考查的变量就称为因素。
水平(Level):在实验范围内,因素被考查的值称为水平。
设计测试用例的时候直接去套用对应的表格即可
L 行数(水平数因素数)
行数(Runs):正交表中行的个数,也就是实验的次数,也指测试用例的个数。
因素数(Factors):指正交表中列的个数。
水平数(Levels):任何单个因素能够取得的值的最大个数
6)场景法
场景法⼀般包含基本流和备用流,从⼀个流程开始,通过描述经过的路径来确定的过程,经过遍历所 有的基本流和备⽤流来完成整个场景。
场景法就是⼀个常规的流程中,某些阶段可能会出现⼀些意想不到的 情况,常规流程是基本流,从阶段中分析出来的不同情况被称之为备选流
通常 V(有效)用于表明这个条件必须是 Valid(有效的)才可执行基本流,而 I(无效)用于表明这种条件下将激活所需备选流。表中‘n/a’(不适用)表明这个条件不适用于测试用例。


6)错误猜测法
错误推测法就是基于经验和直觉推测程序中所有可能存在的各种错误,有针对性地设计测试用例的方法。
1万+

被折叠的 条评论
为什么被折叠?



