测试用例的设计思路
接到提测单后要做的事情:
- 测试准备阶段
- 确认提测单内包含的文件、URL地址可以访问
- 确认需求 (迭代目标、用户故事、用户愿望、问题反馈等)
- 确认回归测试范围、更新测试范围、新增测试范围
- 编写测试点思维导图,过程中有问题及时进行沟通
- 与迭代相关人员约一个时间, 开内部的测试点评审会
- 根据评审通过的测试点, 编写测试用例 (如果迭代已提测, 可以写用例和执行同步进行, 以提升测试效率)
- 通过冒烟用例集给开发, 让开发完成提测冒烟
- 测试执行阶段
- 第一轮测试执行
- 第二轮测试执行 (回归第一轮发现的问题)
- 输出测试报告
- 第三轮测试执行 (迭代版本发布时的验证)
- 测试结束阶段
- 编写迭代总结内容 (做到好的、做的不好的、需要保持的)
- 工时是否存在偏差
- 被关闭的缺陷是否有合理的关闭原因
- 测试用例入库 (迭代库 -> 全量库)
- 编写迭代总结内容 (做到好的、做的不好的、需要保持的)
常规的八个用例设计方向:
- UI界面 : 界面布局、排版是否符合UI设计师或产品需求, 文字, 图标大小。比如: 点赞按钮的位置, 点赞人的名称文字显示, 点赞红星图标, 点赞个数。
- 易用性 : 操作简单, 操作是否有友好提示, 如果是输入框 (是否支持Tab、Enter等快捷键)。 比如: 点赞后有提示, 点赞流程简单, 点赞入口。
- 兼容性 : 不同手机、浏览器、操作系统版本, 软件版本, 分辨率, 显示正常且功能正常。比如: 平板, 小米, 华为, 微信客户端。
- 功能测试 : 场景+流程 (用户可能执行的操作, 业务流程) + 新增改查删除+排序。比如: 点赞别人的朋友圈 (朋友点赞我的朋友圈), 点赞成功, 取消点赞, 点赞是否看到共同好友, 删除朋友圈, 删除点赞, 点赞的排序。
- 接口测试 : 接口正常调用, 返回报文正常。比如: 点赞接口调用, 参数 (后端)。
- 弱网测试 : 断网、网络信号差, 操作的时候来电话, 4G/5G 网络切换。比如: 打电话的时候点赞, 断网点赞。
- 性能测试 : 使用该功能的响应时间是否在需求规定的时间, 多次快速操作。比如: 点赞到显示点赞的响应时间, 点赞后好友消息更新的速度, 同时点赞, 多次点赞。
- 安全测试 : 客户端和服务端都需要验证 (不能单单是在客户端验证), 涉及手机号、身份证、银行卡、密码等敏感信息是否加密。比如: 点赞是否泄露用户信息。
编写用例时点注意事项如下:
- 用例能被别人轻松地阅读、理解和执行
- 用例要紧密联系测试点
- 要在 预期结果 中与测试点完成闭环
- 存在代码时, 代码放 前置条件 里定义好, 再放 操作步骤 里引用
- 存在特殊需求或情况时, 需要在 备注 里详细说明
- 存在多团队或组织时, 需要考虑测试对象在多团队或组织下的检查
- 如果测试点为代码配置项时, 避免贴大段代码, 应该突出配置项及其关联
- 如果测试对象可以重复, 需要根据其重复规则设计测试场景
- 如果测试点关联或支持多类型、多场景时, 拆成多条用例来写
- 编写 用例标题 时
- 以
:
分隔, 前面写模块、属性或路径, 后面写测试点 - 多条用例有大量重复内容时, 需要说明它们之间的差异点
- 以
- 编写 前置条件 时
- 首先保证 操作步骤 的正常执行, 不能有冲突
- 其次要明确边界, 刚好能完成 操作步骤 即可
- 编写 操作步骤 时
- 要突出测试点, 非测试点放在 前置条件 里一笔带过
- 当 步骤描述 包含多项检查时, 在 预期结果 中应给出多项结果
- 当 预期结果 里包含文本检查时, 需要考虑多语言的场景
- 当 步骤描述 只有单行文本时, 不用有序或无序列表
- 编写用例内容时
- 包含专业或难理解的词汇时, 补充简单描述或添加文档链接
- 包含
uuid
、id
等动态数据时, 用参数描述指代 - 包含多个测试对象时, 可以用 “A~Z”、“a~z” 或数字指代
- 包含有序列表时, 数字后应用
.
而不是其他符号 - 当同一个页面有多个入口时, 固定一个入口作为路径, 避免模糊不清
- 编写前端UI组件的测试用例时
- 用例内不能依赖设计稿、开发或自己的Demo,要做到只看用例就能测试
- 如果必须要引用外部内容,可以用文件或图片以附件形式贴到用例里
- 验证测试点的组件属性或事件要明明白白地写在用例中
- 在文档不明确时,用别名代替属性或事件,待文档明确后再修改别名
- 条件允许时,贴上组件属性或事件的配置代码,让用例有较强的可执行性
- 根据测试点是否复杂,来控制用例的颗粒大小
- 复杂时,设计多条用例实现
- 简单时,在一条用例中,将组件属性或事件变成参数,并在步骤中修改参数
具体场景下的用例测试点设计:
- 接口或函数测试
- 列表参数
- 排序用途
- 首尾和中间插入新值
- 首尾和中间移除旧值
- 排序用途
- 列表参数
- UI组件库测试
- 浏览器(Safari/Edge/Chrome/Firefox)兼容性
- 最新的版本
- UI组件库支持的最低版本
- 浏览器(Safari/Edge/Chrome/Firefox)兼容性
相关文章:
测试用例的设计思路
接到提测单后要做的事情: 测试准备阶段 确认提测单内包含的文件、URL地址可以访问确认需求 (迭代目标、用户故事、用户愿望、问题反馈等)确认回归测试范围、更新测试范围、新增测试范围编写测试点思维导图,过程中有问题及时进行沟通与迭代相关人员约一个…...
HCIP——交换综合实验
一、实验拓扑图 二、实验需求 1、PC1和PC3所在接口为access,属于vlan2;PC2/4/5/6处于同一网段,其中PC2可以访问PC4/5/6;但PC4可以访问PC5,不能访问PC6 2、PC5不能访问PC6 3、PC1/3与PC2/4/5/6/不在同一网段 4、所有PC通…...
大学生如何搭建自己的网站
这篇是我在大一的时候,写过的一篇文章。 前言 作为一名大学生,我觉得搭建个人网站很有意义。 这篇博客讲述的是这个寒假,我是如何从零到搭建好个人网站的过程。我提供的主要是具体的思路,也附带了一些零零散散的细节。时间跨度…...
linux 路由表的优先级
[rootlocalhost cc]# ip rule list 0: from all lookup local 32765: from 10.0.19.24 lookup 4096 32766: from all lookup main 32767: from all lookup default 现在有 4 条路由规则,优先级是怎样的,0 代表最低优先级还是最高优先级 在 Linux 的 IP …...
毕业项目分享
大家好,今天给大家分享112个有趣的Python实战项目,可以直接拿来实战练习,涵盖机器学习、爬虫、数据分析、数据可视化、大数据等内容,建议关注、收藏。 项目名称 主要技术 2023招聘数据分析可视化系统爬虫 7种薪资预测模型 Flas…...
Android启动系列之进程杀手--lmkd
本文概要 这是Android系统启动的第三篇文章,本文以自述的方式来讲解lmkd进程,通过本文您将了解到lmkd进程在安卓系统中存在的意义,以及它是如何杀进程的。(文中的代码是基于android13) 我是谁 init:“大…...
tex中的边框
文章目录 利用tcolorbox宏包给公式加框 利用tcolorbox宏包 tcolorbox可以创建一个盒子的环境,例如: \documentclass{article} \usepackage{tcolorbox} \begin{document}\begin{tcolorbox}[left1cm, right1cm, top0.5cm, bottom0.5cm,colbackblue!10!wh…...
面试题库之JAVA基础篇(三)
final 被final修饰的类不可以被继承。被final修改的方法不可以被重写。被final修改的方法,jvm会尝试内联,以提高运行效率。被final修改的变量不可变,如果修改的是引用,那么引用不可变,引用指向的对象内容可变。被fin…...
CTF-虚拟机-QEMU-前置知识-操作流程与源码阅读
文章目录 总览内存PCI设备PCI配置空间前64个字节对应源码Memorry空间的BARIO空间的BAR MMIOPMIOIspci访问PCI设备配置空间中的Memory空间和IO空间MMIOPMIO QQM(qemu object model)简洁概要将 TypeInfo 注册 TypeImpl:ObjectClass的初始化&…...
java成神秘籍第一卷
前言 适合还没有入行小白学习,有些朋友会跑来问我这行的一些问题,下面算是详细系统的整理了一下啦。 全当是学习 复盘 整理 记录了 java成神秘籍第一卷 前言一 前提1 要不要考公,考编,考研2 语言选择3 就业岗位4 目标5 考不考虑…...
golang实现文件上传(高并发+分块+断点续传+加密)
运行视频 // todo 根据前端传递文件加密 func (s *FileProcess) FileProcessEncryptionByFront(file multipart.File, h *multipart.FileHeader) interface{} { //根据字节直接处理文件 这个是前端传递的二进制流s.FileProcessInit() //文件初始化 设置原来文件…...
用HeidiSQL在MySQL中新建用户
用HeidiSQL登录到MySQL数据库,注意登录的时候要使用有权限的用户: 选择工具-》用户管理: 点击左上角的“添加”: 输入用户名、密码,并且分配权限: 点击右边的“添加对象”: 可以根据自己…...
【IPv6】IPv6协议
一、IPv6数据报格式 这是与v4报头的对比 1.8bit的版本保留了,v4版本就是4,v6就是6。 2.v6去除了v4的首部长度字段,因为v6的首部长是固定的40字节。 3.服务类型(Type of Service, ToS)和通信类型(Traffi…...
无需服务器,无需魔法,拥有一个微信机器人就是这么简单
前情提要 还没看过的朋友可以看一下上一篇文章《拥有一个微信机器人总共需要几步?》在这篇文章里,我们提到,创建微信机器人需要一个大前提--你得有一台服务器。现在,不再需要了!没错,上一篇提到的Serverles…...
1、命名空间、C++的复合类型、缺省参数
命名空间 1、命名空间的定义 使用namespace定义,使用作用域限定符::访问 #include <iostream> namespace ICBC{int money 0;void save( int m){money m;} } int main( void ){ICBC::save( 100); std::cout << "工行卡余额:"…...
colab notebook导出为PDF
目录 方法一:使用浏览器打印功能 方法二:使用nbconvert转换 方法三:在线转换 方法一:使用浏览器打印功能 一般快捷键是CTRLP 然后改变目标打印机为另存为PDF 这样就可以将notebook保存为PDF了 方法二:使用nbconver…...
【Python动漫系列】名侦探柯南(完整代码)
文章目录 名侦探柯南环境需求完整代码程序分析系列文章名侦探柯南 《名侦探柯南》是由青山刚昌创作的一部侦探漫画,于1994年开始连载,并被改编为动画、电影、游戏等多种形式。故事讲述了高中生侦探工藤新一在破案时被不良组织所毒害,身体缩小成了一个小学生,为了寻找解药并…...
【matlab】QR分解
QR分解 给定一个mn的矩阵A,其中m≥n,即矩阵A是高矩阵或者是方阵,QR分解将矩阵A分解为两个矩阵Q和R的乘积,其中矩阵Q是一个mn的各列正交的矩阵,即QTQI,矩阵R是一个nn的上三角矩阵,其对角线元素为…...
Liunx系统使用超详细(三)
本篇内容开始逐渐描述有关liunx的各种命令的使用方法! 目录 一、目录和文件区别 1.1目录: 1.2文件: 1.3总结: 二、Linux命令的写法 三、linux命令清屏 四、pwd命令 五、ls命令 5.1 ls: 5.2 ls -l:…...
Kubernetes学习笔记-Part.06 Docker安装
目录 Part.01 Kubernets与docker Part.02 Docker版本 Part.03 Kubernetes原理 Part.04 资源规划 Part.05 基础环境准备 Part.06 Docker安装 Part.07 Harbor搭建 Part.08 K8s环境安装 Part.09 K8s集群构建 Part.10 容器回退 第六章 Docker安装 在master、worker、harbor上均需…...
现在的00后,实在是太卷了......
现在的小年轻真的卷得过分了。前段时间我们公司来了个00年的,工作没两年,跳槽到我们公司起薪18K,都快接近我了。后来才知道人家是个卷王,从早干到晚就差搬张床到工位睡觉了。 最近和他聊了一次天,原来这位小老弟家里条…...
Maven项目目录结构
项目结构 目录说明.ideaIDEA工具的配置文件.mvn用于运行Maven项目src源码文件夹target字节码文件夹.gitignore配置git忽略文件HELP.md自述文件mvnw运行Maven命令(Linux)mvnw.cmd运行Maven命令(Windows)pom.xml依赖管理文件 如图…...
感慨!一路从测试小白到现在的高级测试工程师,方向不对真的很艰辛
1 功能测试人员,也就是我们常常俗称的进行点点点测试工程师。前 1-2 年做功能测试,使用其他人开发的工具进行测试。这个阶段的测试工作都比较初级,严重依赖于别人开发的工具和系统。当系统进行升级换代的时候,强哥会明显的感觉到…...
字符串经典基础面试题
关卡名 字符串经典基础面试题 我会了✔️ 内容 1.理解字符串反转的处理方法 ✔️ 2.熟练掌握回文串的判断方法 ✔️ 3.掌握字符串中搜索第一个唯一字符的方法 ✔️ 4.掌握判断是否互为字符串重排的处理技巧 ✔️ 1 反转的问题 我们知道反转是链表的一个重要考点…...
【华为OD题库-062】计算礼品发放的最小分组数目-java
题目 又到了一年的末尾,项目组让小明负责新年晚会的小礼品发放工作。为使得参加晚会的同时所获得的小礼品价值相对平衡,需要把小礼品根据价格进行分组,但每组最多只能包括两件小礼品,并且每个分组的价格总和不能超过一个价格上限。…...
[go 面试] 构建高效微服务通信:选择合适的通信方式
关注公众号【爱发白日梦的后端】分享技术干货、读书笔记、开源项目、实战经验、高效开发工具等,您的关注将是我的更新动力! 构建分布式系统或微服务架构时,服务间通信成为至关重要的一环。不同的通信方式各有优劣,因此在选择时需根…...
【华为OD题库-048】拔河比赛-java
题目 公司最近准备进行拔河比赛,需要在全部员工中进行挑选。选拔的规则如下: 1.按照身高优先、体重次优先的方式准备比赛阵容 2.规定参赛的队伍派出10名选手 请实现一个选拔队员的小程序。 输入为一个数组,记录了部门人员的身高、体重信息,如…...
【WebSocket】通信协议基于 node 的简单实践和心跳机制和断线重连的实现
前后端 WebSocket 连接 阮一峰大佬 WebSocket 技术博客 H5 中提供的 WebSocket 协议是基于 TCP 的全双工传输协议。它属于应用层协议,并复用 HTTP 的握手通道。它只需要一次握手就可以创建持久性的连接。 那么什么是全双工呢? 全双工是计算机网络中的…...
【有ISSN、ISBN号!往届均已完成EI检索】第三届电子信息工程、大数据与计算机技术国际学术会议(EIBDCT 2024)
第三届电子信息工程、大数据与计算机技术国际学术会议(EIBDCT 2024) 2024 3rd International Conference on Electronic Information Engineering, Big Data and Computer Technology 第三届电子信息工程、大数据与计算机技术国际学术会议(…...
【Windows】使用SeaFile搭建本地私有云盘并结合内网穿透实现远程访问
1. 前言 现在我们身边的只能设备越来越多,各种智能手机、平板、智能手表和数码相机充斥身边,需要存储的数据也越来越大,一张手机拍摄的照片都可能有十多M,电影和视频更是按G计算。而智能设备的存储空间也用的捉襟见肘。能存储大量…...
真人性做爰官方网站/成都seo培训
介绍 本文介绍,在Eclipse插件开发过程中,经常会遇到的有关菜单路径和工具栏路径的使用问题。最常见到的可能就是additions了,那除了这个还有些什么呢,请看下文。 菜单 工具栏 查看原文:http://surenpi.com/2015/08/2…...
为什么使用html5网站/沈阳seo优化
常见的集合如下:在集合框架中,有些类是线程安全的,这些都是jdk1.1中的出现的。在jdk1.2之后,就出现许许多多非线程安全的类。 下面是这些线程安全的同步的类:vector:就比arraylist多了个同步化机制(线程安全)ÿ…...
南昌高端网站定制/丁的老头seo博客
线程安全 定义:Doug Lea 大佬说过 如果多线程情况下使用这个类,无论多线程如何使用和调度这个类,这个类总是表示出正确的行为,这个类就是线程安全的。 类的线程安全表现为: 操作的原子性,类似数据库事务。内存的可见性,当前线程修改后其他线程立马可看到。不做正确的同…...
怎么做网站外链接/最新百度快速排名技术
技术特征:1.一种基于树状结构的测试用例管理方法,其特征在于:所述的方法包括:获取测试用例文件;获取数据存储策略和数据存储空间;读取所述测试用例文件,以建立节点树,并根据所述数据…...
怎么自己做网站模板/seo技巧课程
傅里叶变换是信号分析中最重要的工具没有之一。对于一个复杂输入信号我们除了用单位冲击信号来分解方法以外,还可以将其分解为复指数信号,对于周期函数来讲这个分解成为傅里级数对于非周期信号称为傅里叶变换。分解是现代科学的最主要的方法,…...
wordpress 主题 lbs应用/百度seo排名优化提高流量
Class Check{/*** IsUsername函数:检测是否符合用户名格式* $Argv是要检测的用户名参数* $RegExp是要进行检测的正则语句* 返回值:符合用户名格式返回用户名,不是返回false*/function IsUsername($Argv){$RegExp/^[a-zA-Z0-9_]{3,16}$/; //由大小写字母跟数字组成并且长度在3-1…...