技术分享 | 测试人员必须掌握的测试用例
测试用例(Test Case)是为特定的目的而设计的一组测试输入、执行条件和预期结果的文档。它的作用其实就是为了测试是否满足某个特定需求。测试用例是指导测试工作进行的依据。
测试用例的组成
标准的测试用例通常由以下几个模块组成:
-
用例编号:测试用例的唯一标识。
-
模块:标明被测需求具体属于哪个模块,主要为了更好识别以及维护用例。
-
用例标题:又称之为测试点,就是用一句话来描述测试用例的关注点。每一条用例对- 应一个测试目的。
-
优先级:根据需求的优先级别来定义。高优先级要覆盖核心业务,重要特性以及使用- 频率比较高的部分。
-
前提条件:用例在执行之前需要满足的一些条件,否则测试用例无法执行。比如一些- 测试环境,或者需要提前执行的操作。
-
测试数据:在执行测试时,需要输入一些外部数据来完成测试。这些数据根据测试用- 例的据统计情况来确定,有参数、文件或者数据库记录等等。
-
测试步骤:测试用例的步骤描述,执行人员可以根据测试步骤完成测试的执行。
-
期望结果:是测试用例中最重要的部分,主要用来判断被测对象是否正常。要根据需- 求来描述用户的期望
-
实际结果:PASS 通过,FAIL 失败,N/A 未执行。
测试用例优先级
在工作中,测试用例根据系统需求会划分成不同的等级:
-
P0:核心功能测试用例(冒烟测试),确定此版本是否可测的测试用例。此部分测试用例如果 FAIL,其他测试用例就可以不用执行了,需要打回去给开发重新提测。
-
P1:高优先级测试用例,最常执行用来保证功能是稳定的。包含基本功能测试和重要的错误、边界测试。
-
P2:中优先级测试用例,更全面的验证功能的各个方面,包含异常测试、边界、中断、网络、容错、UI 等测试用例。
-
P3:低优先级测试用例,不常常被执行,一般包含性能、压力、兼容性、安全、可用性等等。
在不同的公司,可能测试用例的等级划分有所差异,但是基本大同小异。
测试用例的作用
写测试用例能带来哪些好处呢?
首先,有用例就可以做到心中有数,不会一个测试点重复测好多次,就有思路,避免漏掉测试点。而且在测试用例中可以将测试数据提前准备好,这样就不会漏掉一些重要的数据了。
测试用例的执行结果也是评估测试结果的度量基准。如果设计全面覆盖需求的用例,测试用例都执行通过,发现的问题全部修改,即可放心交付给客户使用。
测试用例也是分析缺陷的标准。因为测试用例中会详细描述期望结果,这个期望结果其实就是分析是不是有 Bug 的一个标准。和预期结果一致的,就是没有 Bug。反之,和预期结果不一致,就是存在 Bug,需要研发修复。
测试用例设计工具
在写用例的时候,可以使用思维导图去把模块和用例的设计思路理清楚。思维导图完成之后就可以评审。评审完毕后,有需要修改的地方可以在思维导图直接修改。
如果要求要用表格的方式去写测试用例的话,可以再把思维导图中的测试思路转化成为表格形式。
后面我们会给大家介绍测试用例的具体设计方法哦~敬请期待!
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
相关文章:

技术分享 | 测试人员必须掌握的测试用例
测试用例(Test Case)是为特定的目的而设计的一组测试输入、执行条件和预期结果的文档。它的作用其实就是为了测试是否满足某个特定需求。测试用例是指导测试工作进行的依据。 测试用例的组成 标准的测试用例通常由以下几个模块组成: 用例编…...

Rabbit的高可用机制
RabbitMQ是一个消息中间件,提供了多种高可用机制来确保系统在出现故障时仍能保持可用性。以下是RabbitMQ的一些高可用机制: 镜像队列(Mirrored Queues): 作用: 镜像队列可以在集群中复制队列的消息到多个节…...

函数调用指令, 返回机制分析(x86_64)
预备 #include <stdio.h>int addDetail(int a, int b) {return a b; }int add(int a, int b) {int c;c addDetail(a, b);return c; }int main(int argc, char *argv[]) {int sum;sum add(3, 5);printf("sum %d\n", sum);return 0; }汇编 main add addDeta…...
mkl库配置
cmake卸载旧版本,并升级 https://blog.csdn.net/weixin_41010198/article/details/109343347 pip install -U cmake3.25.2BUILDMODEDEBUG . build.sh安装mkl https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl-download.html?operatingsyst…...

MPLAB X IDE 仿真打断点提示已中断的断点?
这种中间带裂缝的是无效断点。 原因可能与XC编译器的优化有关,最后生成的汇编与C语言并不是一一对应的(官方给的解释是效率高)。所以这一行C语言转换的汇编代码可能并不在这个位置,也可能与其它汇编合并后根本就没有 我的解决方法是把优化等级调到最低&a…...

Appium 移动端自动化测试,触摸(TouchAction) 与多点触控(MultiAction)
一、触摸 TouchAction 在所有的 Appium 客户端库里,TouchAction 触摸对象被创建并被赋予一连串的事件。 规范里可用的事件有: * 短按(press) * 释放(release) * 移动到(moveTo) * 点击(tap) * 等待(wait) * 长按(longPress) * 取消(cancel) * 执行(per…...

大厂面试题-innoDB如何解决幻读
从三个方面来回答: 1、Mysql的事务隔离级别 Mysql有四种事务隔离级别,这四种隔离级别代表当存在多个事务并发冲突时,可能出现的脏读、不可重复读、幻读的问题。 其中InnoDB在RR的隔离级别下,解决了幻读的问题。 2、什么是幻读&…...

深度学习之基于Tensorflow人脸面部表情识别系统
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 基于Tensorflow的人脸面部表情识别系统是一种基于深度学习技术的图像处理应用,该系统主要通过人脸图像数…...

centos7安装oxidized备份软件
首先需要提前下载ruby,因为默认yum安装的版本太低 https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.0.tar.gz 1、yum remove ruby ruby-devel(有就卸载,没有则忽略) 2、将下载好的ruby包解压到/opt下 [rootoxidized ruby-…...

技术分享 | App测试时常用的adb命令你都掌握了哪些呢?
adb 全称为 Android Debug Bridge(Android 调试桥),是 Android SDK 中提供的用于管理 Android 模拟器或真机的工具。 adb 是一种功能强大的命令行工具,可让 PC 端与 Android 设备进行通信。adb 命令可执行各种设备操作࿰…...

JMeter的使用——傻瓜式学习【下】
目录 前言 1、自动录制脚本 1.1、原理 1.2、JMeter脚本录制 2、JMeter直连数据库 2.1、直连数据库的作用 2.2、JMeter直连数据库的步骤 案例: 3、JMeter的逻辑控制器 3.1、if控制器 案例: 3.2、循环控制器 案例: 3.3、ForEach控…...

嵌入式中利用VS Code 远程开发原理
VS Code几乎是所有的程序员必备的工具之一,据说全球一般的开发者都使用过VS Code这款工具。 今天分享一篇 VS Code 实现远程办公相关的文章。 1、概 述 通常,我们都是每天到工作的办公室进行办公,但是,如果下班回家&#x…...
【多媒体文件格式】MP4、MPG、TS、3GP、3G2、3GPA
MP4 mp4或称MPEG-4 Part 14,是一种多媒体容器格式,扩展名为.mp4。 历史[6]: 2001年,apple的QuickTime格式,.qt和.mov的后缀名。2001年,MPEG-4 Part1,把基于QuickTime的box布局的容器格式添加…...

学习Opencv(蝴蝶书/C++)相关——1. 前言 和 第1章.概述
文章目录 1. 整体架构1.1 OpenCV3.01.2 Opencv4.xX. 在线文档X.1 Opencv cheatsheet(小抄)1. 整体架构 1.1 OpenCV3.0 对于Opencv3.x版本,网上最常见的图,图自OpenCV Tutorial-Itseez 现在已经不是500+的算法了,而是2500+,详见:About...

【数据分享】8个城市的共享单车数据(数据量约10亿条\免费获取)
共享单车数据是我们最常使用的交通大数据之一,但是共享单车数据没有公开的获取渠道,有些学者可能能通过与相关机构合作拿到数据,但是对于绝大多数普通人是没有这个机会的!那就完全没有机会能获取到共享单车数据了吗? …...
软件测试进阶篇----移动端测试
一、移动端测试概述 移动端测试不是一个新的领域,所采用的测试的理论、原则和方法、技术和之前web的是一样的。 移动端的手工测试,和web端的点点点是一样的。 移动端的自动化测试,pythonappiumunittest/pytestddtBeautifulReport/alluregi…...

偏序关系用分治优化建图:ARC165F
https://atcoder.jp/contests/arc165/tasks/arc165_f 首先可以建图,然后变成求字典序最小的的拓扑排序 然后发现这样复杂度会炸,观察连边的条件是什么: l i < l j l_i<l_j li<lj r i < r j r_i<r_j ri<rj 这是个…...

StripedFly恶意软件:悄无声息运行5年,感染百万设备
导语:最近,俄罗斯网络安全公司Kaspersky发布的一项调查显示,一种名为StripedFly的高级恶意软件伪装成加密货币挖矿程序,悄无声息地在全球范围内运行了超过5年,感染了100万台设备。这是一种复杂的模块化框架,…...

Flink SQL DataGen Connector 示例
Flink SQL DataGen Connector 示例 1、概述 使用 Flink SQL DataGen Connector,可以快速地生成符合规则的测试数据,可以在不依赖真实数据的情况下进行开发和测试。 2、使用示例 创建一个名为 “users” 的表,包含 6 个字段:id…...

【监控指标】监控系统-prometheus、grafana。容器化部署。go语言 gin框架、gRPC框架的集成
文章目录 一、监控有哪些指标二、prometheus、grafana架构Prometheus 组件Grafana 组件架构优点 三、安装prometheus和node-exporter1. docker pull镜像2. 启动node-exporter3. 启动prometheus 四、promql基本语法五、grafana的安装和使用1. 新建空文件夹grafana-storage&#…...

stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...

剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具
第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...

python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
在 Spring Boot 项目里,MYSQL中json类型字段使用
前言: 因为程序特殊需求导致,需要mysql数据库存储json类型数据,因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...