黑盒测试方法(功能测试)
定义: 黑盒测试是用来测试程序每个功能是否正常的测试方法,测试过程中,将被测试的程序看作你个黑盒子,不考虑功能具体的逻辑实现,只是验证功能是否符合规格说说明书的要求。主要用于用户界面和功能的测试。
常用用例设计方法: 等价类划分,边界分析,判定表,场景法,错误推测法,因果图,状态迁移,
等价类划分:
适用场景: 单一条件的输入,不适用于多条件的逻辑组合。
定义: 将程序的输入域划分为若干个部分,让后从其中挑选中部分数据设计用例,使得海量的测试数据分类,简化了测试的数量。 等价类分为有效等价类,无效等价类。有效等价类: 对于需求规格说明书合理且有效的的输入集合。无效等价类: 对于需求规格说明书不合理且无效的输入集合
划分等价类时应注意: 一个需求中的每个要素要对应一个有效和多个无效等价类
根据划分的等价类设计用例: 一条用例要尽可能包含多个有效等价类,知道覆盖完所有的有效等价类组合,一条用例只能包含一个无效等价类,直到覆盖所有的无效等价类。
例如: 密码由字母,数字,长度为6-12,
要素: 长度, 组合规则
有效等价类:
- 长度6-12
- 包含字母,数字
无效等价类;
- 长度>12
- 长度<6
- 只包含字母
- 只包含数字
- 包含中文字符
- 包含符号字符(! , .+ @等)
- 特殊字符(空格等)
做出等价类表,然后更具等价类表设计用例,
边界值
适用场景: 输入条件存在限定范围的用例设计,与等价类划分结合。
定义: 长期的测试统计表明,大量的错误都出现在输入或输出的边界值。边界值分析法就是针对各种边界测试设定的方法。常用等价类划分结合。
边界值选取原则:选取大于等于,小于等于边界的数据。
判定表:
适用场景:不同条件组合下,存在不同输出的测试用例的设计。但条件于输出不存在
判定表的组成:
- 条件桩: 所有可能的条件。
- 条件项:每个条件的取值
- 动作桩:所有的输出(结果)
- 动作项: 各种条件组合对应的操作(结果)的取值
判定表以二进制的形式表示,每一列代表一条用例
例如:打印机正常打印:需要存在纸张,存在墨粉,驱动程序正常,
存在异常时,优先警告缺纸,其次缺墨粉,然后驱动程序异常
条件桩(所有的条件):是否有纸张,是否有墨粉,驱动程序是否正常
动作桩(所有的结果):打印纸张,警告缺纸,警告缺墨粉,警告驱动程序异常
列表:0 表示 否,1 表示 是
每一列代表一个用例, 但在特定条件下可以简化判定表
因果图
适用场景: 和判定表相似,用于多条件测试用例输出,条件之间存在组合,且条件之间有制约,结果之间也有制约。
因果图中的符号:
因果符号:条件与结果之间的关系
恒等:条件与结果的真 值相同
与:条件存在假则结果为假,条件全真,结果为真
或:条件存在真则结果为真,条件全假,结果为假
非:条件与结果的真值相反
条件关系符号:条件之间的关系
互斥(Exclude):不选或者选其一
唯一(Only): 必选其一
包含(Include): 至少选一个
要求(Required): 条件a=1,则必须b=1,若a=0,则b不影响(有a必有b,
无a则b无关紧要)
结果符号:结果之间的关系
结果a=1,则结果b=0
结果a=0, b可为1,可为0
例如: 自动售卖机测试
售卖规则:
- 饮料的单价5元,且单次只能购买一瓶,总有饮料
- 投入5元,按下雪碧或可乐按钮,送出对应的饮料,
- 投入10元,按下雪碧或可乐按钮,送出对应的饮料,并找钱
- 若售卖机无钱找零,则【无零钱提示灯】亮起,此时投入十元则直接退出零钱
- 若售卖机有钱找零,则【无零钱提示灯】不亮,此时投入十元,正常购买并找零
理出条件与可能的结果并编号
画出因果图
步骤:理清条件之间的关系,结果之间的关系,构造中间条件,条件与中间条件的关系(中间条件此时相当于结果),然后作图
例如:这里 当投入10元时,会有零钱找的限制,这里形成一个组合
大概画出个图吧,画不好了,哈哈
然后格局途中的每条路径设计用例
场景法:
适用场景:针对软件的一些操作流程的测试,只是针对流程中各种判断的结果的验证,不涉及具体的输入细节判断。
定义:场景法一般包含基本流和备用流。基本流是通过每个判断节点的正确操作流程,备选流是各个判断节点下错误操作。
例如: ATM取款
首先应该写出基本流,然后在基本流的每个判断节点写出备选流,根据基本流和备选流构造场景,然后输出用例,可适当对遗漏的场景做出补充。
状态迁移法
适用场景: 针对业务流程中操作对测试对象影响的用例设计方法,只是关注某种操作对程序的某个对象状态的影响。
定义: 关注被测对象的状态变化,在需求规格说明书中是否有不可达到的状态和非法状态,是否产生非法的状态转移状态,即被测对象在特定输入条件下所保持的响应形式
例如: 用户购买商品操作。
操作对测试对象(商品)的改变:
操作 | 状态 |
---|---|
1. 用户点击购买商品未付款 | 商品状态:待付款 |
2. 用户确认付款 | 商品状态: 已付款 |
3. 商家确认订单 | 商品状态: 代发货 |
4. 商品发出 | 商品状态:已发货 |
状态迁移图
根据迁移路径提取用例(提取每条路径,起点到终点)
待支付->已取消
待支付->已支付->已取消
待支付->已支付->待发货->已取消
待支付->已支付->待发货->已发货
结合需求说明书编写详细的测试用例
错误推测法
定义:根据以往的测试经验,结合对需求归给说明书,对程序的各个功能模块可能出现的错误进行推断,设计出用例
参考网址:
链接:https://www.cnblogs.com/test-123/p/9686346.html