【软件测试】关于测试用例

一.测试用例

1.要素

  1. 测试环境
  2. 操作步骤
  3. 测试数据
  4. 预期结果

2.好处

1.提高测试效率,节省测试时间

2.测试用例是自动化测试用例的前提

3.个人总结的万能公式

功能,界面,易用性,兼容,性能,安全,网络,中断

  1. 物体:物体的作用,干什么用的

    软件:软件实现功能

  2. 物体:外表,材质,大小,容量

    软件:界面,字体大小,字体颜色,页面布局

  3. 操作简单,使用流程;人性化

  4. 物体:除了本质的功能,有没有其他功能

    软件:操作系统,设备,浏览器版本

  5. 物体:使用寿命

    软件:响应时间,吞吐量,并发数

  6. 物体:材质是否有毒,对人体健康是否造成安全

    软件:sql注入,xss漏洞

  7. 2G~5G,弱网,wifi

  8. 切换界面…

二.测试用例设计方法

1.基于需求的设计方法

需求文档 梳理需求 针对文档设计测试用例

在这里插入图片描述

功能相关:

  1. 业务流程相关(需求功能说明)

    手机号正确注册,不正确有红色提示;密码8-16位才能注册;确认密码;点击同意协议才能注册…

  2. 界面(UI设计稿)

    页面美观;页面布局合理;页面元素大小,颜色正确;文字大小,文字格式必须正确…

  3. 易用性

    符合用户操作;使用起来流畅;回车触发注册;Tab切换到下一行;账号已经注册,点击注册,跳转登录…


非功能相关:

  1. 兼容:chrome浏览器,其他版本浏览器;电脑操作系统(Mac,Windows,Linux);手机操作系统(安卓,IOS);平板操作系统(安卓,IOS)
  2. 性能:接口响应时间,接口请求承载量,吞吐量必须符合期望;服务器CPU占用率,App打开之后耗电量
  3. 安全:密码加密展示;密码加密保存;黑客攻击;防止SQL注入…
  4. 网络:4G,3G,wifi,5G;弱网

2.等价类

依据需求将输入划分为若干类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的等价类测试通过。
这样可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题

  • 有效等价类:满足用户需求的输入集合
  • 无效等价类:不满足用户需求的输入集合

例子:

用户名:长度6-15位

  • 有效等价类:6-15位--------10位

  • 无效等价类:小于6位--------4位

    ​ 大于15位--------18位

等价类思想设计测试用例步骤:

  1. 充分理解需求
  2. 划分有效等价类,划分无效等价类
  3. 从有效等价类抽取其中一个数据进行设计测试用例,从无效等价类抽取其中一个数据进行设计测试用例,

3.边界值

(1)边界点

上点:边界上的点

内点:边界内的点

离点:边界值附近的一个点(闭区间区间外距离上点最近的点,开区间区间内距离上点最近的点)

例子1:
在这里插入图片描述

上点:6,15

内点:选取一个13

离点:5,16

例子2:在这里插入图片描述

上点:6,15

内点:选取一个13

离点:7,16

边界值设计测试用例:

  1. 充分理解需求
  2. 找边界点
  3. 针对边界点设计测试用例

4.错误猜测法

错误猜测法是对被测试软件设计的理解,过往经验以及个人直觉,推测出软件可能存在的缺陷,从而针对性地设计测试用例的方法。

优点:在敏捷开发模式下的投入产出比很高

缺点:难以系统化,过度依赖个人能力


例子:以注册为例

1、校验中特殊字符空格的处理?

2、密码校验中的大小写?

3、姓名中的特殊字符?

4、密码发送是否明文?

(1)如何模拟弱网(以Fiddler为例)

1.打开限速模式

在这里插入图片描述

在这里插入图片描述

3.在这里插入图片描述

上传1KB数据,花费时间300ms
下载1KB数据,花费时间150ms

(2)接口如何测试(以postman为例)

1.在这里插入图片描述

2.在这里插入图片描述

(3)水杯测试用例

在这里插入图片描述

5.场景设计法

想象场景来设计用例,这与根据需求的业务流来设计差不多。主要是想象各种业务流来设计用例。

该方法可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,是测试用例更容易理解和执行。


例子:ATM机取款

主事件流:次事件流

插卡:卡段了,卡消磁,卡不是银行卡…

选择语言:选择中文,选择英文…

输入密码:密码忘记,密码错误,输入次数过多卡被吞…

选择业务:转账,存款,查询,查流水…

输入取款金额:余额不足,输入非整数,输入金额为0,ATM余额不足…

等待吐钱:停电,断网…

取卡:忘记取卡,卡被吞了;ATM坏掉…

通常情况,需要把用户经常用到的功能模块串联在一起进行测试

6.因果图法&&判定表法

因果图是一种简化了的逻辑图,能直观地表明程序输入条件(原因)和输出动作(结果)之间的相互关系。

因果图法设计测试用例步骤:

  1. 分析所有可能的输入和可能的输出。
  2. 找出输入与输出之间的对应关系。
  3. 画出因果图。
  4. 把因果图转换成判定表。
  5. 把判定表对应到每一个测试用例。

判定表

判定表是另一种表达逻辑判断的工具

如何设计测试用例

  1. 分析所有可能的输入和可能的输出
  2. 找出输入与输出的对应关系
  3. 设计判定表
  4. 把判定表对应到每一个测试用例

例子:“淘宝618活动,订单已提交,订单合计金额大于300元或有红包,则进优惠”。

1.输入:订单已提交、金额大于300、有红包
输出:优惠、不优惠

2.对应关系

(1)订单已提交,订单金额大于300元,则优惠。

(2)订单已提交,订单金额小于等于300元,无红包,不优惠

(3)订单已提交,有红包,则优惠。

(4)订单已提交,订单金额大于300元,有红包,则优惠。

(5)订单未提交,不优惠。

判定表设计:

在这里插入图片描述

设计测试用例:

订单提交,金额大于300,有红包,优惠

订单提交,金额大于300,无红包,优惠

订单提交,金额小于300,有红包,优惠

订单提交,金额小于300,无红包,无优惠

订单不提交,金额大于300,有红包,无优惠

订单不提交,金额大于300,无红包,无优惠

订单不提交,金额小于300,有红包,无优惠

订单不提交,金额小于300,无红包,无优惠

7.正交表法

(1)定义

正交法的目的是为了减少减少用例数目,用尽量少的用例覆盖输入的两两组合

  • 因素:变量
  • 水平:变量取值

性质:每一列中各数字出现的次数都一样

​ 任何两列中的各有序数对出现的次数一样

设计测试用例的步骤:

充分理解需求–确定因素水平–画正交表–补充正交表–将正交表转换成测试用例


(2)利用allpairs生成表

例子:以注册为例,姓名、邮箱、密码、确认密码、验证码全部输入,才能进行注册

因素:姓名,邮箱,密码,确认密码,验证

水平:填写,不填写

使用工具:allpirs画正交表

1.将文件复制到allpairs文件路径下

2.终端执行命令生成到文档 allpairs.exe 输入文件 > 输出文件


数据文档:

在这里插入图片描述

执行命令

在这里插入图片描述

执行结果:

在这里插入图片描述

~线表示可填写可不填写

  1. 姓名,邮箱,密码,确认密码,验证码都填写
  2. 姓名填写,邮箱密码,确认密码都不填…
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值