【功能测试】-【黑盒测试用例】

测试用例的定义

在这里插入图片描述
若预期结果与实际结果一致,则测试成功

测试用例的构成要素

在这里插入图片描述
说明:

  1. 右下角那个框代表实际结果
  2. 写好用例标题的关键点:在什么情况下做什么事有什么结果
  3. 如果这个功能是主要功能那他的用例重要程度就比较高
  4. 预置条件并不是必须的,拿刚才的qq邮箱登陆为例,预置条件是有注册好的账号
  5. 在实际工作中可能会根据每个公司的要求增加要素
    在这里插入图片描述

黑盒测试用例设计方法

黑盒测试:将被测系统看作黑色的盒子,我们不知道被测系统的内部实现,只知道被测系统的对外接口,我们可以通过输入和输出来测试被测系统的功能
在这里插入图片描述

等价类

一、概念
在这里插入图片描述
说明:

  1. 所有测试数据表示这里面有满足要求的数据也有不满足要求的数据
  2. 某种共同特征表示将所有测试数据根据某一特征进行分类,比如根据数据是否满足要求分为无效等价类、有效等价类。分好类以后我们测试时,可以从满足要求的有效等价类中选一些数据进行测试,从不满足要求的无效等价类中选一些数据进行测试
  3. 有效等价类和无效等价类又分为线性情况和非线性情况。线性情况就是数据呈线性,如果某一功能是支持0到100之间的整数相加,那么女0到100之间的整数就是线性情况的有效等价域,而小于0、大于100的数是线性情况的无效等价域。反之为非线性,如word提供的可供选择的字体为非线形情况的有效等价域,而不在这个范围的字体为非线形情况的无效等价域。

二、等价类的划分规则
在这里插入图片描述
三、等价类设计测试用例的步骤
在这里插入图片描述
一个输入有多个规则,每个规则都有他的有效等价类,我们一次性把所有的有效等价类都覆盖上去,如果测试通过,那个多个规则都通过,大大提高测试效率。同理无效等价类要一个个覆盖。
四、等价类设计测试用例的案例
在这里插入图片描述
在这里插入图片描述

边界值

一、思考:我们从无效等价类和有效等价类中挑选一些数据出来测试,挑选是随机的还是基于特定的策略挑选特定的数据?
在这里插入图片描述
二、边界值的上点、离点、内点
上点:边界上的点
离点:离边界最近的点
内点:有效范围内的点
在这里插入图片描述
针对(0,100)这个区间,他的上点是0,100;离点是-1,1,99,101;内点是50;但是在测的时候为什么离点只测了1,99?因为上点测了0,0为无效等价类,那么-1<0,-1也是无效等价类,没必要再测-1了,同理,上点测了100,100是无效等价类,101>100,101也是无效等价类,测了100没必要再测101了。可以根据这个思路去理解半开半闭区间、闭区间
三、边界值法设计测试用例的步骤
在这里插入图片描述
在我们画出来的等价类是有边界的情况下,测试用例的设计就要从边界上来选取(选上点、离点、内点)
四、边界值设计测试用例的案例
在这里插入图片描述
在这里插入图片描述

判定表

一、概念
在这里插入图片描述
如果按照等价类的划分原则,将用户欠费和停机作为两个输入条件,划出了有效等价类、无效等价类如上表所示,接下来根据表设计测试用例,根据【一条测试用例尽可能多的覆盖等价有效类】的原则,有效用例我们设计为A01A02,根据【一条用例只能覆盖一个无效等价类】原则,无效等价类设计为B01,具体如上所示。但是用户不欠费不停机时能做主被叫,这条测试案例并未被覆盖,所以在这种情况下(输入域存在关联),使用等价类的划分方法无法完全覆盖测试用例
在这里插入图片描述
说明:

  1. 是否欠费、是否停机一共有2*2=4种组合,用表列出来,并列出每种组合的结果
  2. 条件桩就是所有的输入条件,此处为用户是否欠费/停机
  3. 动作桩就是输入对应的结果,此处为是否允许做主被叫
  4. 条件项是条件桩的全组合
  5. 动作项就是全组合后,每一种组合都会有一个对应的结果,这个结果就是动作项
  6. 规则:每一列就代表了一种情况,就是一个规则,也就是一个测试用例

二、判定表法设计用例的步骤
请添加图片描述
三、案例:
请添加图片描述
说明:

  1. 判定表法设计用例的步骤:
    (1)分析需求,确定条件桩、动作桩
    (2)进行全组合条件,得到条件项
    (3)根据条件项依次填写动作项
    (4)简化判定表
    (5)输出用例(一个规则对应一条测试用例)
  2. 本例中有3个条件项,每个条件项有2个取值,所以一共有2的3次方=8种情况,因为不可能同时输入手机号也不可能同时输入电子邮箱,所以前两个用例不可能存在,所以最终输出后六个用例

因果图

一、概念
请添加图片描述
判定表法的设计用例数呈指数增长,所以条件多的时候我们可以用因果图法,既然判定表法解决的事条件之间有关联这一情况,我们的解决办法是将所有条件全组合(2的n次方),那我们可以先分析条件之间的关系,或者条件与结果之间的关系,然后再来转换判定表,这样能大大减少用例数。
二、条件与结果之间的关系
请添加图片描述
恒等:一旦有条件c1,就一定会有e1这个结果
非:一旦有条件c1,就一定没有e1这个结果
或:条件c1、c2、c3只要有一个满足,就一定会有e1这个结果
与:条件c1、c2必须同时满足,才会有e1这个结果
三、条件与条件之间的依赖关系
请添加图片描述
互斥:条件a、b、c只能有一个成立
包含:条件a、b、c至少有一个必须成立,即不能都不成立
屏蔽:条件a成立,条件b一定不成立,条件a不成立,条件b也不一定成立
唯一:条件a、b、c有且仅有一个成立
要求:为了达到某个结果,条件a成立了,条件b一定要成立

互斥和唯一的区别:一般有默认选项的是唯一,没有默认选项的是互斥

四、判定表和因果表的区别:

  1. 判定表:分析条件桩与动作桩后,全组合获取条件项
  2. 因果图:分析因和果,先考虑条件与条件之间的关系,条件与结果之间的关系,再转换为判定表

五、判定表法设计用例的步骤
请添加图片描述

  1. 先列出所有的条件、结果,如上图【因果图法】左右两边所示,先分析第一项:
    (1)【第一项要求输入手机号或者电子邮箱作为账户名】: 输入手机号和输入电子邮箱最多只能有一个出现,且不能同时出现,所以输入手机号和电子邮箱这两个条件是互斥关系
    (2)【如果第一项验证不正确】:即输入的手机号或电子邮箱不正确,注意此时【输入的手机号或电子邮箱不正确】是由输入手机号、输入电子邮箱这两个条件推导出的结果,此时这两个条件与结果呈或的关系
    (3)【如果第一项验证不正确,则报错L】:【输入的手机号或电子邮箱正确】现在作为条件,该条件不成立时,一定会出现【报错L】这一结果
  2. 分析第二项:
    (1)【如果第二项验证不成功,则报错M】:如果【输入正确的验证码】这一条件不成立,则会出现【报错M】这一结果
    (2)【两项都验证成功后填写账户信息】:【输入的手机号或电子邮箱正确】与【输入正确的验证码】这两条件都成立时,出现【填写账户信息】这一结果,所以这两个条件是与的关系
  3. 以上关系疏通后,画出判定表如左所示,x表示不确定的值,0表示false

状态迁移图法

一、以上方法可以测试单个功能点,后面讲到的几种方法用于测试系统整体业务流程。
二、状态迁移图法:适用于系统有较多状态的情况,以打电话这一场景为例,我们拿起电话是【等待】状态,拨号后是【等待接通】状态,电话接通后是【通话中】状态,挂断电话后是【结束通话】状态。
三、
请添加图片描述
状态迁移路径:状态该怎么迁移,状态迁移的路径
四、
请添加图片描述

场景法

一、如果系统没有明确的状态节点,但是又要对整体的业务流程进行测试用例设计,可以使用场景法
二、
请添加图片描述
说明:

  1. 事件触发来控制流程:我们系统的运行,是通过事件来触发的
  2. 基本流:系统工作时,最主要、最基本、最主流的业务流程
  3. 备选流:基本流的备选分支
  4. 异常流:针对基本流、备选流中的一些特殊场景

三、场景法生成测试用例的步骤
请添加图片描述
场景:基于不同的操作顺序对应的一组结果,在图中体现为流程开始到结束(流程结束或异常结束)
四、案例:
请添加图片描述
说明:两个要求就是三中列出来的两点

正交实验方法

一、多用于配置测试,例如运营类型的项目,我们在进行一个活动的运营时,运营配置中会有很多个配置项,每个配置项中有很多个值可以进行配置,那我们在进行测试时,每个配置项和他对应的值出现的概率相同,如果我们想测全,可以通过判定表法,但是全组合的方法特别多,但是配置项之间没有什么关系,所以又不能用因果图,所以需要使用正交实验法。
二、
请添加图片描述
说明:

  1. 正交实验法:从所有的测试集中挑选出有代表性的用例来进行测试
  2. 条件:输入项、配置项,取值:输入项、配置项的取值
  3. 正交实验设计方法步骤:分析需求并从中获得因子、水平,根据因子及水平数查表,使用从需求中获取的因子、水平替换表中的因子、水平,得到一个正交实验法的集合,集合的每行就是一个测试用例

三、案例

  1. 正交表的列代表条件,行代表通过查正交表,我们对4因子3水平最终抽出9个实验,每个实验的取值如表所示请添加图片描述
  2. 查表发现没有5因子2水平,取恰好比他大一点的正交表
    请添加图片描述

错误推测方法

使用完上面的方法再使用错误推测法辅助
请添加图片描述

总结

请添加图片描述

猜你喜欢

转载自blog.csdn.net/CaraYQ/article/details/126570717