软件测试<用例篇>


一、基础知识

1. 软件测试的生命周期

首先需要明确一个概念:什么是软件测试?

软件测试:就是验证软件是否满足用户的需求;
需求:用户的期望与满足合同(文档,规则,标准)的规定所需要的条件和权限;
需求分为用户需求及软件需求;
软件测试的生命周期如下面流程图所示

在这里插入图片描述

2. Bug 描述

为了清楚的描述一个Bug,需要考虑以下:

  • (1) 测试版本
  • (2)测试环境:不同的测试环境下(包含不同浏览器、APP),结果可能会存在偏差
  • (3)测试步骤:需要给出详细的测试步骤
  • (4)实际结果
  • (5)预期结果(需求期望的结果)
  • (6)附件:错误截图

补充点

Bug 的常见级别:

  • 建议:一些提示信息,如文字重叠,界面排版等;
  • 一般:系统可以稳定的运行,只是一些次要的功能没有实现;
  • 严重:服务器可以使用,但是不稳定;
  • 崩溃:系统不能运行,如出现黑屏、闪退、死机等;

3. 测试用例概念

测试用例:软件测试人员向被测系统发起的一组集合,包括测试环境、测试数据、测试步骤以及预期结果;

4. 设计测试用例的意义

  • 测试用例是测试执行的依据;
  • 可以复用(回归测试、迭代);
  • 衡量需求的覆盖率;
  • 自动化测试的依据;
  • 借鉴;

二、测试用例设计方法

1. 整体(基于需求)的测试用例设计

基于需求的测试用例,需要从两大方面入手

(1)分析需求

首先需要验证需求的正确性及其合理性,无二义性,并且逻辑自洽;

(2)细化需求

然后从需求中提取出测试项,从每一个测试项中提出测试点,并根据测试点设计测试用例;
设计时从以下两个方面考虑

(1)功能性需求:
在这里插入图片描述

(2)非功能性需求:

非功能性需求就是在功能性需求上进行一些限制来满足特定场景下的需求,让用户有更好的体验;

在这里插入图片描述

2. 具体的测试用例设计方法

(1)等价类 ✸

概念:根据输入(特殊情况下考虑输出),把输入划分为若干个等价类,从每一个等价类中取一个或多个测试用例进行测试,如果该测试用例通过,就说这个测试用例代表的等价类测试通过;
等价类可以解决测试用例无法穷举的情况!
等价类分为:
(1)有效等价类:符合需求规格说明书的数据集合;
(2)无效等价类:不符合需求规格说明书的数据集合;

case:网易邮箱注册功能测试用例设计

需求分析

账号:6~18 位,以字母开头,可使用字母、数字、下划线

有效等价类

  • 6~18 位,以字母开头,纯字母;
  • 6~18 位,以字母开头,加数字;
  • 6~18 位,以字母开头,加下划线;
  • 6~18 位,以字母开头,加数字与下划线;

无效等价类

  • 小于 6 位,任意字符(字母、数字、下划线);
  • 大于 18 位,任意字符(字母、数字、下划线);
  • 6~18 位,不以字母开头的字符串;
  • 6~18 位,以字母开头,包含特殊字符;

需要注意的是:不管是有效等价类还是无效等价类均要进行测试 !

(2)边界值 ✸

概念:对输入输出的边界针对性的进行测试用例的设计,该种方法称为边界值法;

case:用户名:6~15 位,包含大小写字母

符合需求的边界值:

长度为:6,7,14,15

不符合需求的边界值:

长度为:5,16

(3)错误猜测法

概念:测试人员根据自己的经验、知识、个人直觉来判断软件哪一块有问题,针对性的进行测试用例的设计;
依靠于主观性,适合作为补充性的测试用例

(4)场景法

概念:将一个个孤立的功能串接起来形成一个场景,每一个功能不同的输入会触发不同的场景,根据这些触发的不同的场景设计测试用例;
要点:
(1)提取场景中涉及的功能点
(2)考虑每一个功能不同的输入

case:ATM 机的取款流程

  • ATM 机的取款流程及涉及的功能点

在这里插入图片描述

  • 每一个功能不同的输入

    (1)插卡包含的输入情况有

    在这里插入图片描述

(2)输入密码包含的输入情况有
在这里插入图片描述

(3)输入取款金额并取款包含的输入情况有

在这里插入图片描述

(4)退卡包含的输入情况有

在这里插入图片描述
还需要考虑ATM机的异常情况

在这里插入图片描述

测试用例

(1)卡插反,提示无法识别,重新正确插入且每步骤操作正确,取款成功;
(2)卡消磁,失效,提示无效卡,无法取款;
(3) 卡锁定,提示账户被锁定,解锁后重新操作;
(4)卡冻结,提示,账户被冻结,请解冻后重新操作;
(5)密码输入正确,其他操作正常,取款成功;
(6)密码输入错误,提示请重新输入密码,正确后其他操作正常取款成功;
(7)密码输入为空,提示密码输入为空,请重新输入,输入正确后,取款成功;
(8)输入400取款金额,其他操作正常,取款成功;
(9)输入0元,提示请输入正确的取款金额,正确输入后,取款成功;
(10)取款金额大于卡余额,提示卡余额不足,请重新输入金额,输入正确后,取款成功;
等等

(5)因果图法

概念:因果图是一种逻辑图,包含 恒等、与、或、非;
使用场景
当输入有多个并且不同的输入组合对应着不同的输出,该种情况下可以使用因果图来进行测试用例的分析,根据分析结果设计测试用例;

因果图的几种关系

  1. 恒等:输入为真,输出为真;
    在这里插入图片描述

  2. 与:输入条件有多个,并且多个条件均是真,输出为真;

在这里插入图片描述

  1. 或:输入条件有多个,其中一个条件为真时,输出为真;

在这里插入图片描述

  1. 非:输入为真,输出为假;
    在这里插入图片描述
    采用因果图设计测试用例的步骤
    • 分析所有的输入与输出;
    • 找出输入输出之间的逻辑关系;
    • 根据输入输出画因果图;
    • 根据因果图画判定表;
    • 根据判定表设计测试用例;

case:双十一来临,假设订单已提交,并且购物金额大于 200 或者有红包,就有优惠,否则无优惠;请设计测试用例;

分析:采用因果图来进行设计,步骤如下:

(1)分析输入与输出:

输入:订单已提交,购物金额大于 200,有红包;
输出:有优惠,无优惠;

(2)找输入与输出之间的逻辑关系:

订单已提交,购物金额大于 200 元,有红包,有优惠;
订单已提交,订单金额大于 200 元,无红包,有优惠;
订单已提交,购物金额小于 200 元,有红包,有优惠;
订单已提交,订单金额小于200元,无红包,无优惠;
订单未提交,无优惠;

(3)根据输入输出画出因果图:
在这里插入图片描述

(4)根据因果图画出判定表:

在这里插入图片描述

(5)根据判定表设计测试用例:

(1)订单已提交,购物金额大于 200 元,有红包,有优惠;
(2)订单已提交,订单金额大于 200 元,无红包,有优惠;
(3)订单已提交,购物金额小于 200 元,有红包,有优惠;
(4)订单已提交,订单金额小于200元,无红包,无优惠;
(5)订单未提交,购物金额大于 200 元,有红包,无优惠;
(6)订单未提交,订单金额大于 200 元,无红包,无优惠;
(7)订单未提交,购物金额小于 200 元,有红包,无优惠;
(8)订单未提交,订单金额小于200元,无红包,无优惠;

(6)正交法

概念:根据正交性,从大量的实验数据中,选取最优的数据组合的结果来衡量整个测试的结果;
一般不常用!


小结

用例设计方法
整体的基于需求设计测试用例
具体的等价类(常用)、边界值(常用)、场景法(常用)、错误猜测法、因果图法、正交法

《写作不易,有帮助的,动动手指收藏哦!!!》

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值