设计测试用例

简介: 设计测试用例

一、设计测试用例的万能公式

对于一个水杯设计测试用例,可能会想到:水杯是否漏水、水杯是否保温、水杯是否安全、水杯是否是玻璃的、水杯是否能装开水等等,

上述的测试都可以总结为:功能测试+界面测试+性能测试+安全性测试+易用性测试+兼容性测试。

所以,对于一个水杯的测试用例如下:


为一个登录页面也可以利用万能公式编写测试用例:

二、设计测试用例的方法

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

分析需求然后设计根据需求来设计测试用例。

假设在用户登录页面中提示用户名的长度为8~16位,于是就利用穷举法来设计测试用例,若测试用例能够全部通过就符合需求的要求,但是如果需求中的数据量大,例如用户名的长度是6~500位,利用穷举法就难以进行设计。

等价类

针对需求输入范围划分为若干个等价类,然后从等价类中取出一个用例来进行测试,如果该测试用例通过了,那么表示该测试用例所在的等价类也就全部测试通过了。

等价类又可以分为有效类和无效类

有效类:针对需求有效而且是有意义的数据构成的集合;

无效类:针对需求无效并且无意义的数组构成的集合。

那么根据等价类来设计测试用例的步骤:

  1. 确定有效类和无效类;
  2. 设计测试用例。

那么对于登录页面中用户名的长度是6~500应如何根据等价类来设计测试用例?

1、确定有效类和无效类

有效类:长度在6~500范围的用户名。

无效类:长度小于6或者长度大于500的用户名。

2、设计测试用例

 

边界值

边界值通常是对等价类的补充,通常测试用例需要在等价类的基础上加上边界值和次边界值。

那么对于登录页面中用户名的长度是6~500应如何根据边界值来设计测试用例?

判定表法

是一种判断逻辑判断的工具。

利用判断表法设计测试用例的方法

  1. 确定输入条件的输出条件;
  2. 分析输入条件和输出条件的关系;
  3. 画出判定表;
  4. 根据判定表编写测试用例。

例如有一个需求:订单提交之后,订单合计金额大于300或者订单使用了优惠券,就认为订单属于有优惠的订单否则就属于没有优惠的订单。

那么利用判定表法设计该需求的测试用例的步骤如下:

1、确定输入条件和输出条件

输入条件:订单金额大于300、使用优惠券、提交。

输出条件:订单属于有优惠的订单或订单属于没有优惠的订单。

2、分析输入条件和输出条件的关系

当输入为:订单金额大于300或者使用优惠券,并且订单提交了之后就输出:该订单是有优惠的订单,否则就输出该订单是没有优惠的订单。

3、画判定表


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

正交法

正交法需要用到正交表。

正交表有如下特征:

  • 每一列中,不同的数字出现的次数是相等的;
  • 任意两列中数字的排列方式齐全且均衡。

生成正交表的工具:allparis

正交法需要用到以下概念:

因素数:输入的条件。

水平数:输入条件对应的结果(此处不是输出条件)

利用正交法设计测试用例的步骤:

  1. 确定因素数和水平数;
  2. 利用allparis工具来生成正交表;
  3. 根据正交表来编写测试用例;
  4. 补充测试用例。

例如有一个用户注册信息:姓名、电子邮箱、密码、验证码,为此设计测试用例。

1、确定因素数和水平数

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

水平数:填写、不填写。

2、利用allparis工具来生成正交表

a、将因素数和水平数写入excel

b、在allparis目录下创建一个test.txt文档,将刚才excel中的东西复制粘贴,然后进行保存。

c、打开cmd命令行窗口,使用cd命令切换到allparis目录,然后使用appairs.exe test.txt > test2.txt命令执行,执行之后test2文件之中就会出现正交表。

3、根据正交表来编写测试用例。

4、补充测试用例。

场景测试法

场景测试法主要包含基本事件流和多个备用事件流。

例如取ATM机取钱的一个场景:

编写测试用例:

基本事件流:插卡->输入密码正确->选择取款业务->取款小于50万->出钱->出卡

备用事件流:

插卡->密码连续三次输入错误->出卡

插卡->输入密码正确->选择取款业务->取款小于50万->柜台办理

插卡->输入密码正确->选择取款业务->取款小于50万->出钱->机器故障->吞卡

……

错误猜测法

主要根据测试人员的测试经验来进行编写测试用例。

目录
相关文章
|
机器学习/深度学习 Shell 开发工具
Shell脚本编程实践——第1关:编写一个脚本,求斐波那契数列的前10项及总和
Shell脚本编程实践——第1关:编写一个脚本,求斐波那契数列的前10项及总和
2163 0
|
前端开发
调试前端时,在浏览器上修改参数并重新调用接口
有时候我们的页面点击过了,但是接口出问题,想修改参数再调用一次,一般是用apiPost工具把接口复制,再加上token和参数,但是这样非常的效率比较低。
1793 0
|
7月前
|
关系型数据库 MySQL Shell
MySQL 备份 Shell 脚本:支持远程同步与阿里云 OSS 备份
一款自动化 MySQL 备份 Shell 脚本,支持本地存储、远程服务器同步(SSH+rsync)、阿里云 OSS 备份,并自动清理过期备份。适用于数据库管理员和开发者,帮助确保数据安全。
|
监控 Java
压力测试Jmeter的简单使用,性能监控-堆内存与垃圾回收 -jvisualvm的使用
这篇文章介绍了如何使用JMeter进行压力测试,包括测试前的配置、测试执行和结果查看。同时,还探讨了性能监控工具jconsole和jvisualvm的使用,特别是jvisualvm,它可以监控内存泄露、跟踪垃圾回收、执行时内存和CPU分析以及线程分析等,文章还提供了使用这些工具的详细步骤和说明。
压力测试Jmeter的简单使用,性能监控-堆内存与垃圾回收 -jvisualvm的使用
|
测试技术
测试用例设计方法之基本路径测试法
基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法,设计出的测试用例要保证在测试中程序的语句覆盖100%,条件覆盖100%
666 7
测试用例设计方法之基本路径测试法
|
测试技术 数据库 数据安全/隐私保护
如何优雅编写测试用例
测试用例写的差,领导不满意怎么办?看完这篇就懂了。
440 1
|
12月前
|
存储 JavaScript 前端开发
Redux 状态管理入门
本文介绍了 Redux,一个广泛使用的 JavaScript 状态管理库,重点讲解了其核心概念(如 Store、Action、Reducer 等)、基本使用方法、常见问题及解决策略,并通过代码示例详细说明了如何在 React 应用中集成和使用 Redux。
384 1
|
测试技术 数据安全/隐私保护
软件测试的艺术:如何高效地编写测试用例
【9月更文挑战第2天】在软件开发的海洋中,测试用例是导航灯塔,指引着质量保障的航向。本文将带你航行于测试用例编写的技巧之海,从理解需求到设计思路,再到实际执行,我们将一起探索如何高效而精准地构建测试用例,确保软件的稳健与可靠。
253 0
|
NoSQL Java 数据库
重复点击提交、产生多笔数据、保持数据只操作一次---->接口幂等性校验
重复点击提交、产生多笔数据、保持数据只操作一次---->接口幂等性校验
244 0