设计测试用例(万能思路 + 六种设计用例方法)(详细 + 图解 + 实例)

一、设计测试用例的万能思路

针对某个物品/功能进行测试。

万能思路:功能测设 + 界面测试 + 性能测试 + 兼容性测试 + 易用性测试 + 安全测试。

总结:

功能测试:

水杯:装水、喝水...

注册场景:注册 + 登录

想象日常使用中的注册场景有哪些功能。

界面测试:

非软件:颜色、形状、大小、材质、整体

软件:

文字/输入框/图片/下拉框 ------> 颜色、大小、形状、布局都要进行测试;

文字是否存在错别字、病句、折叠、重叠...

性能测试:

水杯:耐热性、耐寒性、耐摔性、抗压性...

软件:

响应时间

几千万人同时访问...

兼容性测试:

水杯:水杯可以装液体,针对不同液体。

软件:

系统:Linux、Windows、Mac;

终端:PC、移动端

浏览器:Chrome、FireFox、Safari...

易用性测试:

需要具备便捷、简单易上手的属性,用户引导、符合用户使用习惯。

安全测试:

水杯:

水杯的材质是否安全;

特殊情况下(高温低温)材质是否会释放毒性;

存放特殊的液体会不会导致化学反应,材质是否会释放毒性;

软件:

SQL注入

XSS漏洞

越权(垂直越权、水平越权)

复制代码
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:1150305204【暗号:csdn999】

二、设计用例的方法

针对手撕代码、明确额需求、项目来设计测试用例。

1. 等价类

等价类是分块/分区的概念。将需求的输入划分若干个等价类,从等价类中选出一个测试用例,如果这个测试用例通过,则认为这整个等价类就通过。

通过等价类可以用较少的测试用例就可以尽可能多的覆盖功能,可以解决穷举法解决不了的问题。

有效等价类:针对需求文档是合理的、有意义的集合。

无效等价类:针对需求文档是没有意义的集合。

使用步骤:

  1. 确定有效等价类和无效等价类;

  2. 编写测试用例。

假设需求:姓名输入6~200位的字符

有效等价类:输入6~200位的字符

无效等价类:输入小于6位 或 大于200 位的字符

2. 边界值

可以认为是等价类的补充,在等价类的基础上添加边界值和次边界值的测试用例。

假设需求:姓名输入6~200位的字符。

边界值:输入6位的字符,输入200位的字符;

次边界值:输入5位的字符,输入7位的字符;输入199位字符,输入201位字符。

3. 判定表法

(因果图法)通过输入条件和输出动作之间的关系,设定判定表,再根据判定表编写测试用例。

使用步骤:

  1. 确定输入条件和输出结果;

  2. 找出输入条件和输出结果之间的关系;

  3. 画判定表;

  4. 根据判定表编写测试用例

假设需求: 提交订单,当订单金额大于300或有红包时,是有优惠的。

  1. 确定输入条件和输出结果

输入条件:金额大于300、有红包、提交订单;

输出结果:有优惠、无优惠;

  1. 输入条件和输出结果之间的关系:

(为了方便书写,这里将金额大于300定为A,有红包定为B,提交订单定为C;有优惠定为1,无优惠定为2)

  1. 画判定表

  2. 根据判定表编写测试用例

(1)金额大于300,没有红包,提交了订单,则该订单为有优惠订单;

(2)金额不大于300,有红包,提交了订单,则该订单为有优惠订单;

(3)金额大于300,有红包,提交了订单,则该订单为有优惠订单;

(4)金额大于300,没有红包,没有提交订单,则该订单为无优惠订单;

(5)金额不大于300,有红包,没有提交订单,则该订单为无优惠订单;

(6)金额不大于300,没有红包,提交了订单,则该订单为无优惠订单;

(7)金额大于300,有红包,没有提交订单,则该订单为无优惠订单;

(8)金额不大于300,没有红包,没有提交订单,则该订单为无优惠订单;

注意:

在因果图法里,也是通过确定输入条件和输出结果来画出因果图(比较复杂难),然后再根据因果图画出判定表。因此这里直接通过输入条件和输出结果的关系确定了判定表,然后再编写测试用例。

4. 正交法

通过构造正交表编写测试用例。

正交表表达式:L4(2³ )

L:正交表;

4:试验次数(测试用例的个数)

2:因素数(输入条件)

3:水平数(输入条件的可选项)

正交表的特点:

  1. 每一列中数字出现的次数是相同的;

  2. 任意两表中数字的排序方式齐全且均衡。

使用步骤:

  1. 找出因素数和水平数;

  2. 使用allpairs工具生成正交表;

  3. 编写测试用例;

  4. 补充测试用例。

使用allpairs工具生成正交表步骤:

(1)在.exe 存在的目录下新建text文档。

(2)在 Excel 表中先写好每个输入条件及其对应的可选项。然后复制粘贴到新建的text文档中。然后直接保存(ctrl + s)。

(3)打开cmd命令行窗口(win + r),cd 到allpairs 的目录下启动allpairs(执行.exe文件)allpairs.exe 2023_5_111.txt > 2023_5_111.txt,然后重定向一个新文件2023_5_111.txt,里面就是正交表。

假设需求: 一个注册页面,输入姓名、电子邮箱、密码、确认密码、验证码进行注册。

  1. 找出因素数和水平数

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

水平数:填写、不填写。(这里每个因素数的可选项都一样,都是填写或者不填写)

  1. 使用 allpairs工具 生成正交表
  1. 编写测试用例

(1)填写姓名、电子邮箱、密码、确认密码、验证码;

(2)填写姓名,不填写电子邮箱、密码、确认密码、验证码;

(3)填写电子邮箱、确认密码,不填写姓名、密码、验证码;

(4)填写密码、验证码,不填写姓名、电子邮箱、确认密码;

(5)填写姓名、电子邮箱、密码,不填写确认密码、验证码;

(6)填写姓名、确认密码、验证码,不填写电子邮箱、密码;

  1. 补充测试用例

(7)都不填写。

5. 场景设计法

包括基本事件流和多个备选事件流。以一个例子来解释什么是基本事件流和备选流。

假设需求:在ATM上取款

编写测试用例:

基本事件流:

先插卡、输入正确密码、选择取款功能、输入正确金额、取钱、取卡。

备选事件流:

(1)插卡,输入密码错入、第二次输入正确、选择取款.....取卡;

(2)插卡、密码忘记、取卡。

.......

6. 错误猜测法

通过资深的测试员提出的可能会出现的错误,来编写测试用例。

相关推荐
钢铁男儿6 小时前
一文掌握 Tombola 抽象基类的自动化子类测试策略
运维·自动化
痴人说梦梦中人7 小时前
SwaggerFuzzer:一款自动化 OpenAPI/Swagger 接口未授权访问测试工具
网络安全·渗透测试·自动化·api测试·漏洞利用·信息搜集
越学不动啦10 小时前
3.需求分析与测试用例设计方法
测试用例·需求分析
Kookoos15 小时前
Dynamics 365 Finance + Power Automate 自动化凭证审核
运维·自动化·dynamics 365·power automate
半导体守望者1 天前
ADVANTEST R3764 66 R3765 67爱德万测试networki connection programming网络程序设计手册
经验分享·笔记·功能测试·自动化·制造
第三方软件测评1 天前
软件功能测试报告都包含哪些内容?
功能测试
东方佑1 天前
使用 Python 自动化 Word 文档样式复制与内容生成
python·自动化·word
会又不会1 天前
JMeter-SSE响应数据自动化2.0
jmeter·自动化
程序员三藏1 天前
如何使用Jmeter进行压力测试?
自动化测试·软件测试·python·测试工具·jmeter·测试用例·压力测试