当前位置: 首页 > news >正文

测试用例的设计思路及方法

目录

前言

一、测试用例

二、设计思路

1. 设计原则

2. 通用思路

三、设计方法

1. 等价类与边界值

2. 正交法

3. 判定表法

4. 场景法

5. 错误猜测法

四、用例设计示例

1. 登录功能用例设计

2. 命令行程序用例设计


前言

本文系统介绍了软件测试用例的设计方法与应用。首先阐述了测试用例的组成要素,以邮箱注册为例展示完整的测试用例模板。接着提出测试用例设计的通用思路,包括功能、性能、界面等多个维度的测试覆盖。重点讲解了五种设计方法:1)等价类与边界值分析法;2)正交法减少测试组合数量;3)判定表法处理复杂逻辑关系;4)场景法区分基本与备用事件流;5)错误猜测法基于经验补充用例。最后通过登录功能和命令行程序示例,展示了测试用例的实际应用。这些方法为软件测试提供了系统化的设计思路。


一、测试用例

测试用例是为了实施测试向被测试系统提供的一组集合,这组集合包括:测试环境,操作步骤,测试数据,预期结果等要素;

以注册邮箱为例:

用例编号test-01
标题成功注册邮箱
测试方式手工测试
功能模块注册登录
重要性重要
测试前提系统正常运行,邮件服务器已开启
测试环境win10 Microsoft Edge 141.0.3537.92 (正式版本) (64 位)
测试数据

邮箱地址:admin123@123.com

密码:123456

手机号:12312312399

测试步骤

1. 打开Microsoft Edge浏览器,输入邮箱注册地址;

2. 输入邮箱地址,密码和手机号,获取验证码并输入;

3. 点击注册按钮;

期望结果展现注册成功结果页,并且使用刚注册的账号可以正常登录并进入邮箱首页;

这是传统的测试用例的编写方式,敏捷模型中,也经常使用思维导图的方式来编写测试用例。

二、设计思路

1. 设计原则

如果根据产品的某一功能去设计测试用例,仅保证功能是正确的,这种思路是非常局限的,设计出来的测试用例也会比较少;

设计测试用例不仅需要给定有效的输入预料到的输入,也要给定无效的和未预料到的输入;

设计测试用例不仅需要检查产品是否未做其应该做的,还要检查其是否做了其不应该做的;

2. 通用思路

测试者可以考虑从功能测试,性能测试,界面测试,兼容性测试,易用性测试,安全测试这几个方面入手去设计测试用例,尽可能覆盖产品的各个方面;

需要使用网络的产品,也需要考虑进行弱网测试;

需要安装和卸载的产品,也需要考虑安装和卸载测试;

以上面注册邮箱为例,设计测试用例:

三、设计方法

1. 等价类与边界值

等价类分为有效等价类和无效等价类;

边界值分为边界值和次边界值;

以用户密码为例,要求用户密码长度为6~ 16位:

  • 设计密码长度为10位,即有效等价类,设计密码长度为18位,即无效等价类;
  • 6和16即边界值,5和17即次边界值;
  • 6和16即边界值;
  • 5和17即次边界值;

对于6~16位的密码,实际测试不可能穷举,因为通过设计等价类和边界值的方式,可以设计如下的测试用例:

  • 设计密码长度为6位的测试用例;
  • 设计密码长度为16位的测试用例;
  • 设计密码为5位的测试用例;
  • 设计密码为17为的测试用例;

2. 正交法

以邮箱注册为例,需要填写用户名,电子邮箱,密码,确认密码以及验证码,每个条目分别有填写和不填写两种情况,我们按照排列组合的设计方式,需要测试32种情况;

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

以L4(2(3))为例,L表示正交表,4表示一共有4行,3表示一共有3个因素,2表示每个因素有两个取值,也称作两个水平;

正交表通常是通过工具进行生成,而不是手写。下面借助allpairs生成正交表:

1. 将因素和水平填入到excel中,保持格式为默认格式不变;

2. 创建要转换的文件test01.txt,将表中的数据复制到txt中;

3. 使用命令行,转换test01.txt为正交表,将转换的正交表保存到res-test01.txt;

4. 检查转换后的正交表;

~表示可以是填写,也可以是不填写;

通过正交表,我们设计6个测试用例即可,不需要设计32个;

但是我们也需要测试全部都不填写的情况,因为增加一个测试用例;

3. 判定表法

需求中通常也会有多种场景,以下场景为例:

用户输入的账号中包含admin字符,或者通过内部链接进入注册页面,提交注册按钮,成为管理员身份,反之无管理员身份;

1. 确认需求中的输入条件和输出条件;

  • 输入条件:
    • a. 用户输入的账号中包含admi字符;
    • b. 通过内部链接进入注册页面;
    • 点击注册按钮;
  • 输出条件:
    • 管理员身份;
    • 无管理员身份;

2. 找到输入和输出之间的关系;

  • a, b, c, ab, 非abc -> 无管理员身份;
  • ac, bc, abc -> 管理员身份;

3. 画判定表;

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

  • a. 账号包含admin,非内部注册链接,不点击提交按钮,无管理员身份;
  • b. 账号不包含admin,内部注册链接,不点击提交按钮,无管理员身份;
  • c. 账号不包含admin,非内部注册链接,点击提交按钮,无管理员身份;
  • d. 账号包含admin,内部注册链接,不点击提交按钮,无管理员身份;
  • e. 账号包含admin,非内部注册链接,点击提交按钮,管理员身份;
  • f. 账号不包含admin,内部注册链接,点击提交按钮,管理员身份;
  • g. 账号包含admin,内部注册链接,点击提交按钮,管理员身份;
  • h. 账号不包含admin,非内部注册链接,不点击提交按钮,无管理员身份;

4. 场景法

场景分为基本事件流和备用事件流;

还是以注册邮箱为例:

基本事件流:

  • 输入账号密码->点击注册->发送确认邮件->确认邮件->注册成功;

备选事件流:

  • 输入错误的账号密码->点击注册->重新输入账号密码->点击注册->发送确认邮件->确认邮件->注册成功;
  • 输入账号密码->点击注册->发送确认邮件->网络异常接收邮件失败->重新发送邮件->确认邮件->注册成功;
  • 输入账号密码->点击注册->发送确认邮件->未确认邮件,邮件超时->重新发送邮件->确认邮件->注册成功;
  • ......

5. 错误猜测法

根据对被测试软件的理解,及过往经验,推测软件存在的缺陷,从而针对性的设计测试用例;

比如:

  • 密码校验中的大小写;
  • 姓名中的特殊字符;
  • 密码发送是否明文;

四、用例设计示例

1. 登录功能用例设计

2. 命令行程序用例设计

命令行程序zip和unzip能够实现对文件的压缩和解压缩,针对这个功能设计测试用例;


http://www.dtcms.com/a/586811.html

相关文章:

  • cms建站系统 开源劳务输送网站建设方案
  • 自建网站教程海宁市住房和城乡规划建设局网站
  • 静态网站更新c .net网站开发视频教程
  • 绍兴网站制作方案定制借贷网站开发是否合法
  • 上海优质网站seo有哪些seo优化推广工程师
  • 洛阳霞光建设网站网站公司怎么找客户
  • 公司网站能自己做二维码phpcms v9 网站建设设计制作网络科技模板
  • 每天一篇好文章网站专业网站建设哪个好
  • 赣州网站建设培训毕业设计做课程网站好
  • 8.基础--SQL--DDL-表操作-修改删除
  • Java 大视界 --Java 大数据在智能医疗远程手术机器人控制与数据传输中的技术支持
  • 格瑞特网站建设只能用域名访问WordPress
  • 巩义网站建设河北网站制作
  • 淘宝建设网站的理由上海小程序搭建
  • Java枚举类型详解:让你的程序更具表达力和可读性!
  • 网站开发公司怎么查电子商务网站设计分析怎么做
  • 住宅代理能用多久?其寿命影响因素与延长技巧
  • 网站后台数据库丢失郑州东区网站建设
  • ElfBoard技术贴|如何在【RK3588】ELF 2开发板进行GDB调试
  • 4.3.5【2017统考真题】
  • 推广qq群的网站seo推广排名平台有哪些
  • 建设网站前的目的什么叫H5网站开发
  • 网站建设丨选择金手指排名15抚州建设工程造价管理站网站
  • 河南网络洛阳网站建设河南网站建设百度一下百度首页登录
  • 模板做网站多少钱网站安全事件应急处置机制建设
  • 中职 网站建设与管理实用的网站
  • 计算机网络自顶向下方法36——网络层 网络地址转换 网络安全(防火墙、入侵检测系统)
  • 网站查询功能代码重庆所有做网站的公司有哪些
  • 网站广告推广平台牛商网网站源码
  • DomainNameSystem