【软件测试】测试用例的设计

主要基于黑盒测试设计测试用例。

测试用例要素

测试用例的重要要素:测试环境、操作步骤、测试数据、预期结果

注意:测试用例要素中不需要执行结果,因为执行结果是执行了测试用例之后才会有的。

测试用例的优点:

  • 避免了重复测试,提高测试效率,节省测试时间

  • 手工测试用例是自动化测试用例的前提

测试用例设计方法

基于需求进行设计测试用例

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

需求文档 :是需要产品经理进行讲解的

梳理需求:测试人员进行的,需要充分理解需求(掌握需求)。

针对文档设计测试用例:就是用到了基于需求进行设计测试用例

163邮箱注册(基于需求设计测试用例)

基于需求设计测试用例的万能公式:

  • 功能:业务流程,界面,易用性
  • 非功能:兼容,性能,安全,网络。

上面的测试用例的设计只是针对需求进行了大概的测试,很难完整的列举出来,所以我们需要一些设计测试用例的方法

1. 等价类

在图书馆中的图书进行分类摆放:数学,人文,语言,经济……这个就是等价类的思想

软件测试的等价类:依据需求将输入的数据集合(特殊情况下会考虑输出)划分为若干个类别,从每一类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的这一类测试通过。这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题。

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

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

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

以下面的需求为例

|用户名 | 必填,录入用户名 | 6至15

⁡⁢‌⁣⁣‌‍‬‍‌‌‌‌⁡⁡⁢⁤‌⁡‬⁢⁢‌‬⁤⁤‌⁣⁤‬⁤⁤⁡用户名长度6~15位(等价类设计测试用例)

2. 边界值

通常边界值分析法是作为对等。价类划分法的补充,这种情况下,其测试用例来自等价类的边界 。

边界点:

  • 上点:边界上的点
  • 内点:边界内的点
  • 离点:边界附近的一个点
    • 闭区间:区间外距离上点最近的点
    • 开区间:区间内距离上点最近的点

【软件测试】测试用例的设计_第1张图片

边界值设计测试用例方法:

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

以下面的需求为例

|用户名 | 必填,录入用户名 | 6至15

‍‬⁡⁢‍⁤‬‍‬‍‍⁤‬‌⁢‍⁡‬⁤⁢‬‬‌‌⁤⁢‬‍‌⁤⁢⁤用户名长度6~15位(边界值设计测试用例)

通常情况下会把等价类和边界值法一起来设计测试用例

3. 判定表

为什么不用因果图法?

通过因果图设计测试用例,就是把因果图专化为判定表。

判定表(Decision table):是另一种表达逻辑判断的工具

判定表的关系:

  • 与:所有条件为真则为真,反之为假
  • 或:所有条件为假则为假,反之为真
  • 恒等:条件为真,结果一定为真
    • 动物园运进来熊猫,动物园有熊猫
  • 非:条件为假,结果才为真
    • 你不好好学习,找到好工作

如何通过判定表设计测试用例:

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

案例:

假设业务单据的处理规则为:“淘宝618活动,订单已提交,订单合计金额大于300元或有红包,则进优惠”。

  1. 分析所有可能的输入和可能的输出。

    • 输入:订单已提交,订单金额大于300,有红包。
    • 输出:优惠,不优惠
  2. 找出输入与输出之间的对应关系。

    • 订单已提交,金额大于300, 有红包,优惠
    • 订单已提交,金额大于300, 没有红包,优惠
    • 订单已提交,金额小于300, 有红包,优惠
    • 订单已提交,金额小于300, 没有红包,不优惠
    • 订单未提交,金额大于300, 有红包,不优惠
    • 订单未提交,金额大于300, 没有红包,不优惠
    • 订单未提交,金额小于300, 有红包,不优惠
    • 订单未提交,金额小于300, 没有红包,不优惠
  3. 设计判定表

1 2 3 4 5 6 7 8
订单提交 Y Y Y Y Y Y Y Y
金额大于300 Y Y N N Y Y N N
有红包 Y N Y N Y N Y N
优惠 Y Y Y N N N N N
不优惠 N N N Y Y Y Y Y
  1. 把判定表对应到每一个测试用例。

⁣⁡⁣⁤‌⁣‬‍⁣‌⁡⁤⁢⁢⁤‬‌⁤‌⁤⁣‬‌⁤⁢⁤⁤⁤‍‌‬⁤⁤⁡‍‍⁢‬⁡‍淘宝618(判定表设计测试用例)

找到输入与输出的关系和测试用例不是一样吗?为什么还要有设计判定表,对应到测试用例。

因为第四步是测试点,后期要针对测试点补充测试用例要素的。标准的测试用例要有测试用例的要素的(测试环境、操作步骤、测试数据、预期结果)

4. 正交表法

最简单的正交表是L⁴(2³),含意如下:“L”代表正交表;L 下角的数字“4”表示有 4 横行,简称行,即要做四次试验;括号内的指数“3”表示有3 纵列,简称列,即最多允许安排的因素是3 个;括号内的数“2”表示表的主要部分只有2 种数字,即因素有两种水平1与2。正交表的特点是其安排的试验方法具有均衡搭配特性。

名词的意思:

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

正交表的两条性质:

  • 每一列中各数字出现的次数都一样多。
  • 任何两列中的各有序数对出现的次数都一样多。

通过正交表设计测试用例:

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

以注册的需求为例:
姓名、邮箱、密码、确认密码、验证码必须全部输入,才能进行注册 。

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

水平:填写,不填写

allpirs画正交表。

  1. 将水平和因素填写到excel中。

    姓名 邮箱 密码 确认密码 验证码
    填写 填写 填写 填写 填写
    不填写 不填写 不填写 不填写 不填写
  2. 将excel表格复制到txt文件中

  3. 在allpirs安装路径下进入cmd

  4. 执行一个命令 allpirs.exe 文件名 >结果文件名

allpairs.exe 20230906.txt > 20230906_result.txt

执行结果:

【软件测试】测试用例的设计_第2张图片

~意味着此时这个取值可以是填写也可以是不填写

  1. 补充正交表:

    姓名、邮箱、密码、确认密码、验证码都不填写

5. 场景设计法

针对全流程设计测试用例。

主事件流:用户经常使用的场景

次事件流:此事件流基于主事件流,用户在使用的时候可能会出的意外的事件。

【软件测试】测试用例的设计_第3张图片

通常情况下,需要把用户经常用到的功能模块串联到一起进行测试。保障了用户经常使用的功能没有问题。

6. 错误猜测法

依赖于测试人员的经验。

以注册为例
1、校验中特殊字符空格的处理? 开始位置,中间位置的空格的处理。
2、密码校验中的大小写?
3、姓名中的特殊字符?
4、密码发送是否明文

面试题

1. 模拟弱网

可以借助许多工具(Charles,Fiddler……).

打开限速模式:

【软件测试】测试用例的设计_第4张图片

打开用户规则:

【软件测试】测试用例的设计_第5张图片

【软件测试】测试用例的设计_第6张图片

2. 接口如何测试

用postman来进行接口测试。

  1. 复制接口地址

【软件测试】测试用例的设计_第7张图片

  1. 将接口导入到postman中进行测试

【软件测试】测试用例的设计_第8张图片

  1. 对接口进行测试:

【软件测试】测试用例的设计_第9张图片

3. 写一个冒泡排序,针对这个代码如何测试

方法参数(参数类型,不给参数,参数传递为空)

异常处理

代码规范:语句覆盖,条件覆盖,语句条件覆盖,判定覆盖。

4. linux中的zip命令

功能:

  • 打包的文件是一个不存在的文件

  • 命令使用正确,文件存在,文件是否被压缩

  • 能否一次性打包多个文件

  • 打包后的内容是否有缺失

界面:

  • 打包后的zip高亮
  • 打包后的文件后缀名.zip

易用:

  • 输入错误,此时有没有提示
  • 输入成功,会不会有提示

性能:

  • 打包一个1KB文件时间是多少
  • 打包的文件是一个20GB
  • 一次打包多个文件时间多少
  • 打包之后空间节省多少

5. 针对水杯设计测试用例

‍‬⁣‍‬⁣⁤‬⁤‬⁢‬⁡⁤‬‍⁡‌‍‬⁡⁤⁢‌⁤⁡⁣‌‍‍⁢⁢‬⁣⁤⁡⁤‍水杯的测试用例

测试用例的万能公式

功能:

  • 物体:这个物体主要是干什么的
  • 软件:软件实现的功能

界面:

  • 物体:外表,材质,大小,容量……
  • 软件:界面,字体大小,字体颜色,页面布局是否合理

易用:

  • 操作简单,使用流畅,人性化

兼容:

  • 物体:除了本质功能,还有没有其他功能
  • 软件:操作系统,设备,浏览器版本

性能:

  • 物体:使用寿命
  • 软件:相应时间,吞吐量,并发数

安全:

  • 物体:物体材质是否有毒,物体会不会对人体健康造成威胁
  • 软件:sql注入,XSS漏洞,输入有毒的脚本

网络:

  • 软件:2G~5G。wifi,弱网

6. 微信发朋友圈

‍⁢⁤⁢‬‍‍‌‌⁣⁡⁤⁣⁤‌‌‌‌⁡‬‍⁤⁣‬⁤⁡⁤⁢⁣‍⁣‬⁤⁢⁣微信发送朋友圈 - 飞书云文档 (feishu.cn)

你可能感兴趣的:(软件测试,测试用例,软件测试)