「深度好文」如何写一份高质量的测试用例?

2023-12-04

测试一个新功能时,最重要的一个步骤就是编写测试用例,测试用例写好了,那么后面的测试工作基本就非常顺利了,那么怎样提高测试用例的质量呢?

充分理解需求

拿到测试需求后,不应该拿到什么就是什么,需求上怎么写就怎么做,要有自己的见解。

举个例子来说,某个网站年终大促,要搞个优惠活动,有两种优惠方式:

第一种是店铺自己发的优惠,两件8折、3件7折;

另一种是平台提供的优惠,满100-10、200-30。

测试人员A拿到这个需求后,发现非常简单,迅速的就将测试用例编写完了,如下:

乍一看是没有问题的,所有情况也都考虑到了,但是仔细研究的话会发现,其中漏掉了好多场景。

测试人员B拿到这个需求后,发现有好多不明确的地方。

比如说,两种优惠同时满足的时候,优先使用哪种优惠,优惠可不可以叠加使用,店铺发放的优惠只针对当前店铺吗,一个账号每种优惠是不是只能使用一次等等。

带着这些问题,测试人员B就会与需求人员去沟通,等需求了解透彻之后,开始编写测试用例,对上面的补充用例如下:

所以说提高测试用例质量的一条重要途径就是挖掘潜在需求,只有将需求了解透彻之后,才能提高测试用例的覆盖率。

参照其他同类型网站和功能

如果一个新功能,你之前没有接触和了解过,完全没有头绪的话,不妨借鉴一下同类型的网站上的类似需求,通过实践来帮助自己理解这个需求。

虚心求教

编写完测试用例后,让老员工来指导一下,是否有需要改进的地方,毕竟老员工的工作经验丰富,对容易出现bug的地方比较敏感,看有没有漏掉的地方。

而且老员工一般对项目都已经非常熟悉了,通过跟他们沟通之后,可能自己也会发现一些不容易想到的点。

站在使用者角度看问题

功能的最终使用者是客户,我们要站在客户的角度来测试。

比如说我们做了一个搜索产品的功能,作为测试人员我们会考虑:支持模糊搜索,可以搜索产品名、产品编码,可以按照产品颜色搜索等等。

那么如果站在用户的角度,他们最关心的是什么呢?是搜索的速度、使用起来方便等等。

所以站在客户的角度看问题能让我们收获更高的满意度。

测试用例步骤清晰

测试用例步骤一定要清晰,让不懂测试的人看了也能执行。

我们在写测试用例时,一定要将所有信息都描述清楚。

比如说上面的最后一条用例,执行这条用例的条件是:该用户已经参与过优惠活动。这个一定要写清楚,不然容易造成测试用例错误的执行结果。

那么,一份高质量测试用例的形成,会包含哪些因素和步骤呢?

测试用例是测试设计的一个产出物,它直接体现测试设计的思想,一份漂亮的测试用例不仅仅是设计思路的优秀体现,更是便于流转和执行,具有可读性、传递性。

首先,我们要一份测试用例例模板,模板可以将测试用例的结构形式固定化、标准化,对编写者启引导作用,保证一份测试用例数据完整。

其次,测试用例的目标、可读、简洁是从各个属性所填的内容散发出来的。

1、用例编号

用例编号就是测试用例文档中一个代号,需全局唯一,我们可以通过代号快速找到测试用例。

用例编号的书写,建议是项目名_模块名_001,我们可以通过编号快速知道一个项目有多少用例,项目中一个模块有多少用例。

2、用例标题

目的:概述测试用例的主要内容,明确用例意图

在做用例评审时,通过浏览一个模块的用例标题,能快速判断有没有遗漏功能;通过浏览一个功能用例标题,能快速判断出有没有遗漏正常或异常case。

一个测试用例的好坏,一半体现在测试用例标题上。

一个好用例的标题,书写方式有三种:

一:一句完整的话(不超过30个汉字)

二:功能简报形式例:电影详情页-返回例:栏目-发布例:电影-添加

三:按条件/状态例:发起转码-无源媒体文件例:发起转码-有源媒体文件例:鉴权-已订购产品已过期例:鉴权-已订购产品未过期例:鉴权-未订购产品

3、预置条件

预置条件-测试用例能执行的前提条件。可以是到达某一状态,也可以是一些配置。

书写要求:一个简洁的结果。

用户已成功登陆自动审核的开关已关不需要写是怎么登陆的/如何将开关关掉的。

4、测试步骤

测试步骤是指如何执行用例,先做什么后做什么,是有顺序的概念在的。步骤和用例的目标需要是一致的,任意一个偏离目标整个case就是无意义的。

书写要求:可执行的操作,功能用例步骤不大于7,流程用例步骤随业务而定-这里不做限制。

(1) 采集电影[check1](2) 预处理电影[check2](3) 审核电影[check3](4) 发布电影[check4]

5、预期结果

预期结果是和测试步骤一一对应的,有几个检查点,就需要有几个结果。预期结果需要是可检查的,可从三个方面进行校验:

一:界面(结果会直接显示在界面上的)二:数据库(有些数据只会存于数据库中)三:磁盘(文件数据需具体到磁盘上看是否存在,数据是否正确)

书写要求:和测试步骤中check点一一对应,检查点>=1个

6、测试数据

测试数据:测试时使用到的数据。

书写要求:可用电影。

不用写到实际数据,在测试添加电影功能时,不需要写具体电影、导演、演员、宣传图片。

具体的数据-可以在数据准备时做好,如符合规格的图片(海报、图标、剧照),符合码率的媒体文件(正片和预览片)。

最后,测试用例整体是有逻辑的-需要有用例设计的魂。

编写测试用例的两个途径

1)先有用例设计,从整个产品/项目出发,先确定测试范围、测试目标,再细化范围到具体对象->具体功能,确定设计用例技术和测试方法,再来编写用例。

2) 测试执行后-通过Bug反推 修改补充用例。

两者相结合才会产出一份高质量且有效的测试用例,理论->实践->理论过程。

附上编写测试用例常见问题

1、用例标题意图不明确2、用例中引用其他用例3、用例中包含过多的细节4、用例中出现笼统的词反复、多次确定反复的具体次数确定一个反复的范围长时间确定长时间的具体时间确定一个长时间的范围大量确定具体的数据量从需求/规格中中参照值5、用例中步骤不可执行6、用例中期望结果不可验证

最后就是用例的预期结果,一定要将所有涉及到的结果都列出来,不然执行测试的时候容易将要验证的点漏掉。

希望对大家能有所帮助。觉得有用的点个赞呗

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

「深度好文」如何写一份高质量的测试用例? 的相关文章

  • 测试工程师能否作为一份「终身职业」?30岁+怎么办?

    讨论 测试工程师可否作为一份终生的职业 这是我在论坛看到的一个讨论 你的答案是什么呢 我希望大家能认真思考后给出一个属于自己的答案 无论你是新手入门 还是资深专家 回答这个问题请不要凭一腔热血 也不用过分消极 别总和钱挂钩 平心而论即可 就
  • 微信小程序的自动化测试框架

    微信发布了小程序的自动化测试框架Minium 提供了多种运行验证方式 其特点 支持一套脚本 iOS Android 模拟器 三端运行 提供丰富的页面跳转方式 看不到也能去得到 可以获取和设置小程序页面数据 让测试不止点点点 可以直接触发小程
  • 测试用例评审流程优化

    测试用例 评审是QA日常工作流程中的关键一环 是QA同学完善测试用例 交流测试经验的好机会 负责组内测试用例建设以来 作者对于评审流程做了一些优化工作 本文作者将整个优化过程中的心得体会做了一个总结 希望能给大家带来帮助 01 原始流程 1
  • 软件测试|Pydantic详细介绍与基础入门

    简介 Pydantic 是一个强大的 Python 库 用于数据验证和解析 特别是用于处理 JSON 数据 它的主要目标是使数据验证和解析变得简单 直观和可维护 本文将介绍 Pydantic 的基础知识 包括如何定义模型 验证数据以及处理错
  • 软件测试|Python中如何提取列表中索引为奇数的元素

    简介 在Python中 我们经常需要从列表中提取特定位置的元素 如果我们想要提取列表中索引为奇数的元素 可以使用一些简单的方法来实现这一目标 本文将介绍如何在Python中提取列表中索引为奇数的元素 并提供示例代码来帮助大家更好地理解这个过
  • 软件测试|web自动化测试神器playwright教程(三十八)

    简介 在我们使用selenium时 我们可以获取元素的属性 元素的文本值 以及输入框的内容等 作为比selenium更为强大的web自动化测试神器 playwright也可以实现对元素属性 文本值和输入框内容的抓取 并且实现比seleniu
  • 软件测试|pycharm关联GitHub的详细步骤

    简介 GitHub 是全球最大的开源代码托管平台之一 而 PyCharm 是一款强大的 Python 集成开发环境 将两者结合使用 可以提高团队协作和代码管理的效率 本文将详细介绍如何在 PyCharm 中管理 GitHub 账号 包括如何
  • 开眼了,自动化测试还能这样用?

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 新手也能看懂的【前端自动化测试入门】

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • HarmonyOS 基于eTS高效开发HarmonyOS课程类应用

    随着HarmonyOS 3 0 Beta版的发布 API Version 8新增了大批JS eTS API接口 相信很多开发者已经迫不及待想体验基于eTS的HamronyOS应用开发 本期Codelab 我们将基于API Version 8
  • 不要再苦苦寻觅了!AI 大模型面试指南(含答案)的最全总结来了!

    AI 大模型技术经过2023年的狂飙 2024年必将迎来应用的落地 对 IT 同学来讲 这里蕴含着大量的技术机会 越来越多的企业开始招聘 AI 大模型岗位 本文梳理了 AI 大模型开发技术的面试之道 从 AI 大模型基础面 AI 大模型进阶
  • 数据库 | 面试官:一次到底插入多少条数据合适啊?.....面试连环炮

    数据库 面试官 一次到底插入多少条数据合适啊 面试连环炮 数据库插入操作的基础知识 插入数据是数据库操作中的基础 但是 我们程序员将面临随之而来的问题 如何快速有效地插入数据 并保持数据库 性能 当你向数据库中插入数据时 这些数据直接存储到
  • 程序员找工作难!拿到外包公司的 offer 我应该去么?

    引言 前一阵子有一个帖子引起了非常广泛的讨论 描述的就是一个公司的外包工作人员 加班的时候因为吃了公司给员工准备的零食 被公司的HR当场批评 这个帖子一发出来 让现在测试行业日益新增的外包公司备受关注 那么外包公司和非外包公司有什么样的不一
  • 最新整理Java面试八股文,大厂必备神器

    在此 我采访了数十名大厂的面试官和上百的的面试者 总结出了这一套Java面试八股文 这套八股文已经帮助了上百人拿到自己心仪的offer 我们先来看看这套八股文 Java基础面试八股文 操作系统中 heap 和 stack 的区别 什么是基于
  • 面试官:分库分表后如何生成全局ID?

    分库分表后就不能使用自增 ID 来作为表的主键了 因为数据库自增 ID 只适用于单机环境 但如果是分布式环境 是将数据库进行分库 分表或数据库分片等操作时 那么数据库自增 ID 就会生成重复 ID 从而导致业务查询上的问题 所以此时 可以使
  • 外包干了2个月,技术倒退2年。。。

    先说一下自己的情况 本科生 20年通过校招进入深圳某软件公司 干了接近4年的 功能测试 今年国庆 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了3年的女朋
  • 15:00面试,15:06就出来了,问的问题有点变态。。。

    从小厂出来 没想到在另一家公司又寄了 到这家公司开始上班 加班是每天必不可少的 看在钱给的比较多的份上 就不太计较了 没想到9月一纸通知 所有人不准加班 加班费不仅没有了 薪资还要降40 这下搞的饭都吃不起了 还在有个朋友内推我去了一家互联
  • 一文让你快速写出高效的软件测试用例

    前言 编写测试用例的目的就是确保测试过程全面高效 有据可查 但要编写出高效的测试用例 需要搞清楚什么是测试用例 以及如何编写出高效的测试用例 接下来将从以下几个部分来进行展开 1 什么是测试用例 2 如何编写测试用例 3 软件测试学习资源分
  • 软件测试面试:还没有自动化测试项目经验,3个项目帮你走入软测职场!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 2024最强Java面试八股文合集(持续更新)

    今天要谈的主题是关于求职 求职是在每个技术人员的生涯中都要经历多次 对于我们大部分人而言 在进入自己心仪的公司之前少不了准备工作 有一份全面细致 面试题 将帮助我们减少许多麻烦 在跳槽季来临之前 特地做这个系列的文章 一方面帮助自己巩固下基

随机推荐