快速编写测试用例(超详细~)

🍅 视频学习:文末有免费的配套视频可观看

🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快

当你学会了如何设计测试用例之后,接下来便是开始用例的编写。

在设计阶段,更准确的说应该是识别测试点的过程,而编写阶段则是将测试点细化成一条条测试用例的过程,有了比较全的用例场景后,如何让别人更舒服、更方便、更清晰地去使用你的测试用例,如何更优雅地展示你的测试用例,如何让领导对你的测试用例满意呢?(“降本增效”,这里的“效”有时也指的是“效果”)

测试用例的编写是每一个测试工程师安身立命的家伙,也是测试的基础,更是软件测试的核心内容,正所谓“基础不牢,地动山摇”,所以一定要掌握好,有些转行的小伙伴一上来就开始自动化、性能的学习,却忽略了最基础的东西,这是不对的。

正好最近有小伙伴问到关于用例模板的问题,借此机会来聊一聊“如何编写测试用例”这个话题。

在编写测试用例之前,首先应该根据所在公司、项目组的特点,提前制定好对应的测试用例模板以及用例维护方式,比如:Excel、XMind、TestLink、禅道等。

测试用例的组成通常包含以下内容(具体字段根据业务需要取舍):

用例编号

作为测试用例的唯一标识。编号取值规则可以根据项目名称各中文首字母大写+六位数字构成,例如:“XXX电商项目”在登录功能子模块的第一条用例编号可取值为CTTDS_000001

用例标题

又称之为测试点,用一句话来描述测试用例的关注点,每一条用例对应一个测试目的。

一个好的测试用例应该关注标题的规范性,一般来说如果设计用例标题不规范,别人在使用你的测试用例时,就无法做到清晰明了,就会浪费很多时间在沟通上。

并且需要控制用例的粒度,从测试执行者的角度来说,过细的测试用例会让执行者感到疲惫繁琐,过粗的测试用例又容易导致检查点遗漏。所以测试用例标题一般控制在30个字以内。

功能模块

根据项目模块层级关系填写,例如:组织权限。

测试目的

简要的测试目的,例如:账号密码功能校验。

前置条件

用例在执行之前需要满足的一些条件,否则用例无法执行,如测试环境,需要提前执行的操作等,例如:进入到某一页面。

测试用例其实就是在某种场景下,执行一定的动作,达到什么样的结果。而前置条件决定了“在某种场景下”,所以是不可或缺的。

优先级

根据需求的优先级来定义,高优先级要覆盖核心业务,重要特性以及使用频率比较高的部分。

级别的枚举值也有多种形式,比如:P0\P1\P2\P3,1\2\3\4,高\较高\中\低。

冒烟测试(高)、基础用例(较高)、特殊场景用例(中)、错误场景用例(低)。

操作步骤

测试用例的步骤描述,执行人员可以根据测试步骤完成测试的执行,一般只需要写和测试目的密切相关的步骤,一些基础的步骤可以放在前置条件中,例如:1.输入正确的账号2.输入错误的密码3.点击登录按钮4.查看结果。

用例步骤一般不多于7步,不少于2步。

操作步骤也是不可或缺的一部分,因为它关系到如何执行。

测试数据

在执行测试时,需要输入一些外部数据来完成测试。这些数据根据测试用例的统计情况来确定,有参数、文件或数据库记录等,例如:账号:admin,密码:123456。

预期结果

测试用例中最重要的部分,主要用来判断被测对象是否正常,例如:提示用户名或密码错误。

预期结果关系到用例需要达到什么样的结果,所以也是不可或缺。

执行结果

每条用例的实际执行结果,只有三个枚举值:PASS(通过)、FAIL(不通过)、N/A(未执行)。

预期结果一般不超过5个,不少于1个。

  • 对应的 Bug Id

每条测试用例执行不通过后再记录对应一条Bug,例如:BUG-1219。

  • 编写人

用例对应的编写人员,填写编写人员姓名,例如:XXX。

  • 执行人

用例对应的执行人员,填写执行人员姓名,例如:XXX。

备注

每条测试用例的备注,备注内容可以按实际情况填写,一般有备注的测试用例都比较重要,需要格外关注。

测试用例的编写并没有好坏和对错之分,每个人编写用例的思路也是各不相同,适合当前团队就是最好的,不要盲目把所有的字段都加上,应根据实际场景进行取舍。

除此之外,还有一些注意事项值得关注。

例如:

标题要清晰,推荐采用 场景+预期结果 进行描述,比如:输入正确的用户名和密码,成功登录系统;

控制用例的粒度,比如:标题字数不超过30个字、步骤数控制在2-7步、预期结果数在1-5个;

用例之间要解耦,日常工作中经常遇到几个用例有先后顺序的情况,比如:在测试编辑之前肯定要先新建一条数据,最好把新建放在编辑用例的前置条件中,每条用例都能实现闭环;

预期要明确,不要出现一些模糊字眼,对于不明确的点应该跟产品沟通;

拒绝冗余,用例可以多,但不要冗余,尽可能以最小场景覆盖最全的范围,同一个等价类只需测一条数据,当然,因为测试不可穷尽性,测试场景肯定不会最全面,往往会受限于时间和资源等成本,这时需要在有限的资源下,寻求质量和效率之间的平衡点,优先级这个字段就起到了作用,再引申就是测试策略的问题了,整体上采取基于风险驱动的模式,有侧重点地去验证一些场景,优先核心功能,或者增加资源和延长周期,同时寻求自动化相关技术去提升整体效率。

同时,在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看。

2024花15天学完自动化测试全套教程,简单易上手,允许白嫖,拿走不谢!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【动态规划】路径问题

1.不同路径 不同路径 思路&#xff1a; 状态表示 状态转移方程 class Solution { public:int uniquePaths(int m, int n) {// 创建dp表// 初始化// 填表// 返回值vector<vector<int>> dp(m 1, vector<int>(n 1));dp[0][1] 1;for(int i 1; i < m; i…

被问了n遍的小程序地理位置权限开通方法

小程序地理位置接口有什么功能&#xff1f; 在平时我们在开发小程序时&#xff0c;难免会需要用到用户的地理位置信息的功能&#xff0c;小程序开发者开放平台新规要求如果没有申请开通微信小程序地理位置接口( getLocation )&#xff0c;但是在代码中却使用到了相关接口&#…

YUM源仓库部署和NFS共享存储服务

一.YUM源仓库部署 1.YUM 概述 &#xff08;1&#xff09;是基于RPM软件包构建的软件更新机制 &#xff08;2&#xff09;可以自动解决依赖关系 &#xff08;3&#xff09;所有软件包有集中的YUM软件仓库提供 2.准备YUM源 &#xff08;1&#xff09;软件仓库的提供方式&…

软件公司为什么很少接二开项目?

前言 很多企业由于原有项目还在继续运营&#xff0c;但原有技术公司不想再合作或者不想再维持整个技术团队等原因&#xff0c;就需要找一个新的软件公司继续维护原有软件系统。但是一接触往往发现很多软件公司拒绝接手第三方的软件项目&#xff0c;这究竟是什么原因呢&#xff…

线程数据共享和安全(ThreadLocal)

目录 介绍图解底层代码解析 ThreadLocal是一个Java中的类&#xff0c;用于在多线程环境下存储线程本地变量。每个线程都可以独立访问自己的ThreadLocal变量&#xff0c;而不会影响其他线程的变量。ThreadLocal通常用来解决多线程并发访问共享变量时的线程安全性问题。 ThreadL…

GraphGPT——图结构数据的新语言模型

在人工智能的浪潮中&#xff0c;图神经网络&#xff08;GNNs&#xff09;已经成为理解和分析图结构数据的强大工具。然而&#xff0c;GNNs在面对未标记数据时&#xff0c;其泛化能力往往受限。为了突破这一局限&#xff0c;研究者们提出了GraphGPT&#xff0c;这是一种为大语言…

OpenNJet:云原生技术中的创新者与实践者

目录 引言OpenNJet介绍OpenNJet优势1. 性能无损动态配置2. 灵活的CoPilot框架3. 支持HTTP/34. 支持国密5. 企业级应用6. 高效安全 OpenNJet 编译与安装环境准备编译环境配置配置yum源yum 安装软件包创建符号连接修改 ld.so.conf 配置 编译代码 部署 WEB SERVER配置OpenNJet部署…

计算机毕设

随着社会和国家的重视&#xff0c;大学对于大学生毕业设计越来越重视。 做软件设计设计方面&#xff0c;前后端分离是必不可少的&#xff0c;代码管理工具&#xff0c;前后端接口测试是项目中必须要用到的工具。做大数据设计方面&#xff0c;主要是要用到爬虫进行数据爬取&…

AArch64 内存管理

本文是对arm developer网站《Learn the architecture - AArch64 memory management Guide》的学习笔记&#xff08;Documentation – Arm Developer&#xff09; 一、背景概述 本文介绍了AArch64中的内存转换&#xff0c;这是内存管理的关键&#xff0c;它解释了虚拟地址如何转…

【Pytorch】2.TensorBoard的运用

什么是TensorBoard 是一个可视化和理解深度爵溪模型的工具。它可以通过显示模型结构、训练过程中的指标和图形化展示训练的效果来帮助用户更好地理解和调试他们的模型 TensorBoard的使用 安装tensorboard环境 在终端使用 conda install tensorboard通过anaconda安装 导入类Sum…

408数据结构-树与森林 自学知识点整理

前置知识&#xff1a;树的基本概念与性质 树的存储结构 树既可以采用顺序存储结构&#xff0c;又可采用链式存储结构。但无论采取哪种方式&#xff0c;都要求能够唯一地反映树中各结点之间的逻辑关系。 1. 双亲表示法 这种存储结构采用一组连续空间来存储每个结点&#xff0…

DW PCIE LINUX的初始化分析

一些定义 PCIE复位&#xff1a;一些PCIE复位的知识链接 PCIE初始化&#xff1a;初始化相关定义看下面链接和下图 C语言简化初始化看本人的《DW PCIE的PCIE的RC和EP最简初始化学习笔记》文章。 Sticky Registers&#xff1a;与传统的复位方式相同&#xff0c;FLR方式不能复位…