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

news2024/11/23 19:13:49

目录

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

二、设计用例的方法

1. 等价类

2. 边界值

3. 判定表法

4. 正交法

5. 场景设计法

6. 错误猜测法


 

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

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

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

 

 总结:

功能测试:

  水杯:装水、喝水...

  注册场景:注册 + 登录

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

界面测试:

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

  软件:

  • 文字/输入框/图片/下拉框 ——> 颜色、大小、形状、布局都要进行测试;
  • 文字是否存在错别字、病句、折叠、重叠...

性能测试:

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

  软件:

  • 响应时间
  • 几千万人同时访问...

兼容性测试:

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

  软件:

  • 系统:Linux、Windows、Mac;
  • 终端:PC、移动端
  • 浏览器:Chrome、FireFox、Safari...

易用性测试:

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

安全测试:

  水杯:

  • 水杯的材质是否安全;
  • 特殊情况下(高温低温)材质是否会释放毒性;
  • 存放特殊的液体会不会导致化学反应,材质是否会释放毒性;

  软件:

  • SQL注入
  • XSS漏洞
  • 越权(垂直越权、水平越权)

二、设计用例的方法

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

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、有红包、提交订单;

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

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

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

ACBCABCABCAB非ABC
1112222

2

3. 画判定表

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

(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. 找出因素数和水平数

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

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

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

3. 编写测试用例

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

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

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

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

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

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

4. 补充测试用例

(7)都不填写。

5. 场景设计法

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

假设需求:在ATM上取款

编写测试用例:

基本事件流:

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

备选事件流:

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

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

.......

6. 错误猜测法

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/514554.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NASM 编译器 - 产生机器码“66”,导致无法正确打印

【问题描述】 代码hello-DOS.asm,实现功能:打印“hello world” ; hello-DOS.asm - single-segment, 16-bit "hello world" program ; ; assemble with "nasm -f bin -o hi.com hello-DOS.asm" [BITS 32]org 0x100 ; .com…

el-table多级嵌套列表,菜单使用el-switch代替

需求:根据el-table实现多级菜单复选,并且只要是菜单就不再有复选框,也没有全选按钮,一级菜单使用el-switch代替原有的列复选框,子级如果全部选中,那么父级的el-switch也会被选中,如下图&#xf…

2023年微单相机市场电商数据分析(京东数据查询分析)

5月10日,尼康发布了Z8微单相机,首发价格27999元。规格、性能等都可以看到官方的详细讲解。不过从目前业内人士以及数码爱好者的评价来看,Z8的配置匹配27999元的价格是比较有优势的。 并且有很多人表示,Z8一经推出很有可能会对自身…

6. N 字形变换

将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下: P A H NA P L S I I GY I R 之后,你的输出需要从左往右逐…

mysql查询列添加序号

添加序号查询结果 # 每次值1 # 值从0开始 SELECT (i:i1) AS 序号,user.* FROM user, (SELECT i:0) AS itable;

【Java多线程编程】解决线程的不安全问题

前言: 当我们进行多线程编程时候,多个线程抢占系统资源就会造成程序运行后达不到想要的需求。我们可以通过 synchronized 关键字对某个代码块或操作进行加锁。这样就能达到多个线程安全的执行,因此我把如何使用 synchronized 进行加锁的操作…

ChatGPT插件推荐,效率提升100倍!

在浏览器上使用ChatGPT时,借助一些插件可以帮助我们更便捷的获取消息,比如: 在搜索引擎搜索东西的同时和ChatGPT对话; 同一个问题同时向ChatGPT、newBing、Claude 等多个模型提问获取结果; 让ChatGPT可以联网获取最新…

实时聊天如何做,让客户眼前一亮(一)

网站上的实时聊天功能应该非常有用,因为它允许客户支持立即帮助用户。在线实时聊天可以快速轻松地访问客户服务部门,而它也代表着企业的门面。 让我们讨论一下如何利用SaleSmartly(ss客服)在网站中的实时聊天视图如何提供出色的实…

Yolov8改进:小目标到大目标一网打尽,轻骨干重Neck的轻量级目标检测器GiraffeDet

1.GiraffeDet介绍 论文:https://arxiv.org/abs/2202.04256 🏆🏆🏆🏆🏆🏆Yolov8魔术师🏆🏆🏆🏆🏆🏆 ✨✨✨魔改网络、复现前沿论文,组合优化创新 🚀🚀🚀小目标、遮挡物、难样本性能提升 🍉🍉🍉定期更新不同数据集涨点情况 本文是阿里巴…

【Autoware】Open Planner代码分析

目录 包结构op_global_plannerop_global_planner_core.cpp中代码的主要逻辑 op_local_plannerop_trajectory_generatorop_behavior_selectorop_common_paramsop_motion_predictorop_trajectory_evaluator 本篇主要对Open Planner的代码进行分析,主要包括op_global_p…

FSS对象存储挂载到windows云服务器操作方法

FSS对象存储可以挂载到云主机中用于存储视频、备份等不需要 经常读写的大文件。不适合存放数据库等对IO需求较高、经常读写的场景。 1、远程登陆服务器,打开控制面板,然后点击“打开或关闭windows功能”。 windows2008系统: 选择“功能”-- …

图可视化工具Gephi使用教程

图可视化工具Gephi使用教程 操作界面介绍在Gephi界面完成图的绘制键盘输入导入CSV文件直接在概览界面鼠标点击创建自己创建一个红楼梦关系网络图用一个Web of Science上的数据创建一个有向关系图 静态随机数据使用动态数据的使用Gephi的可视化处理节点移动节点放大&缩小单个…

【JAVA程序设计】(C00133)基于SSM的勤工助学管理系统

基于SSM的勤工助学管理系统 项目简介项目获取开发环境项目技术运行截图 项目简介 本系统为基于SSM的学生勤工助学俭学管理系统,本系统分为三种角色:管理员、学生、用人单位; 管理员功能:个人中心、面试邀请管理、岗位报名管理、…

二十三:创建交易

功能需求: 用户在交易主页面,点击”创建”按钮,跳转到创建交易的页面; 用户在创建交易的页面填写表单,点击”保存”按钮,完成创建交易的功能。 *所有者、阶段、类型、来源 都是动态的 *市场活动源是可搜…

《编程思维与实践》1061.计算n!右端0的个数(II)

《编程思维与实践》1061.计算n!右端0的个数(II) 题目 思路 可以用大整数的乘法来处理,不过有些题目可以用数论的方法得到更方便的做法, 以本题为例: 注意到 10 2 ⋅ 5 102\cdot 5 102⋅5 , 所以只需要将阶乘的每一项分解成2和5的乘积形式即可, 同时由于每出现一个5,必然会出现…

shell补充命令

目录 排序sort命令 语法格式: 常用选项: 去重uniq命令 替换tr命令 替换字符 删除​编辑 压缩​编辑 压缩替换​编辑 删除空行 截取cut命令 拆分split命令 合并paste命令​ eval命令 排序sort命令 以行为单位对文件内容进行排序,也可以根据不同的数据类型…

淘天集团首战618,一场平台生态的“再创业”

电商行业还在“卷”,但不是所有人都还把目光放在低价、噱头上。 5月10日,淘宝天猫618商家大会应时而至,随之而来的,是“淘天集团”的首次公开亮相。淘天集团CEO戴珊表示,“新生变革”、自我变革不是选择题而是必答题。…

4.实现csdn暗黑模式-油猴脚本实战1

4.实现csdn暗黑模式-油猴脚本实战1 Start 前面的文章,对油猴脚本做了基础的介绍。今天来我们来实战一下,编写一个有实际作用的油猴脚本。 如果我希望我的csdn是暗黑模式,怎么办? 看我表演? 注意!本文仅用…

shell脚本----正则表达式

文章目录 一、什么是正则表达式二、正则表达式的使用 一、什么是正则表达式 正则表达式是由普通字符与元字符组成: 普通字符 包括大小写字母、数字、标点符号及一些其他符号。 元字符 是指在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符…

科技助农 智慧养鸡2D组态可视化管理云平台

前言 养殖业是农业的一个重要分支,主要包括家禽养殖、畜牧养殖和水产养殖三个细分产业。养殖业发展至今,已成为与种植业并列的农业两大支柱产业之一。 建设背景 我国作为养殖业大国,各类型的散养农户、大中小型养殖场数量极多,…