你真的会设计测试用例吗?

news2025/1/1 9:28:06

前言

最近干的最多的事情就是设计测试用例、评审测试用例了,于是我不禁又想到了一个经典的问题:如何设计出优秀的测试用例?

可能有些童鞋看到这个问题会有些不以为然,这有什么好想的?干个测试谁还不会设计测试用例?

但是以我个人经历,以及一些接触来说,这个测试基本功确实不是那么容易做好的。可能很多人都觉得这个太基础了,往往就越容易忽略,而喜欢趋之若鹜的追求各种开发语言、自动化测试、测试平台这种上层建筑。

在我看来,业务测试是基础,其他的各种技术栈都是用来提效的手段,主次是分明的。另一方面来说,只有深入透彻得理解业务,才能更好的挖掘可以提效的点。

ok,言归正传,下面以我个人理解来浅谈如何设计测试用例,欢迎交流。

如何设计测试用例

一、研究需求文档

通常来说,正确的测试流程应该是:需求评审->测试用例设计->测试方案设计->测试环境\数据准备->提测后执行用例进行测试&查漏补缺,所以仔细的研究需求文档是重中之重。

一般来说需求文档里会定义产品的功能点,我们可以先通篇阅读对整个产品功能有个整体的印象,然后再开始从多个角度去深入产品细节中去,挖掘有价值的东西:

产品显性功能点:这个很简单,就是产品里明确定义出来的内容。
产品隐性功能点:产品没明确定义,但是会涉及到的功能点。
疑问点:需求定义不清楚的地方,或者涉及到一些测试范围的确认等等。
在需求文档输出之后,一般相关部门也会跟着输出其他辅助文档,比如:UE交互文档,UI设计页面,这些可以更好地帮助我们形象化产品,更好的去设计测试用例。

二、知晓开发设计

需求确定后,开发一般也会开始进行开发设计。通常会有一些架构设计、流程图、时序图、接口文档等内容输出,千万不要忽略这些文档,我觉得是非常有价值的。

记住:就算是做黑盒测试,也不要把被测系统真正的当做一个大黑盒。

必须对内部的架构有清楚的认识,数据背后传输的链路、数据库的读写分离、消息中间件 Kafka 的配置、缓存系统的层级分布、第三方系统的集成等。

拿最近在忙的车控业务来说吧,当你在手机APP上点击开车门后,这个指令如何达到车端,车端又是如何返回结果的。整个链路经过了哪些服务,中间件等你都要清楚才行,否则你就不能说是真正地熟悉这个业务。不是真正的熟悉业务,那么又如何真正设计出一份优秀的测试用例呢?

单单根据测试需求点设计的用例,只能覆盖“表面”的一层,往往会覆盖不到内部的处理流程、分支处理,而没有覆盖到的部分就很可能出现缺陷遗漏。

另外,我们可以去了解开发的实现思路,有能力的童鞋或许可以直接去看开发代码。看不了的也可以通过跟开发沟通了解实现过程,这些对我们都有很大的帮助。

有时候开发在给你讲述实现过程的时候,甚至就能自觉地发现一些问题。

但是,我们也不要完全根据开发的代码实现为依据去设计测试用例,还是根据原始需求来设计。

三、用例设计方法

了解的足够多了,开始要去设计测试用例了。我们是先写脑图,记录出思路和问题点,最后我们才会编写Excel版的测试用例。一般传统互联网可能也不要求写Excel了,这个看不同公司规定。

然而不管你用什么形式,你还是要通过运用一些方法来设计你的case,这里提一下最常用的三种测试用例设计方法:

等价类划分方法
边界值
错误推断法
当然了这里只列出了这三种,我觉得是最常用的,起码对于大多数的软件测试场景都是这样的。除非一些特定的领域,还会用到因果图方法、判定表驱动分析法、正交实验设计方法等等,这些就不表了。

方法在于你能真正的实际运用好才行,记得在面试的时候问到候选人类似问题,方法说的头头是道,让举个具体的例子有的人就开始支支吾吾了,这些都是基本功不扎实的表现。

四、多角度拓展

基本功能点都设计完了,就要站着更多的角度去拓展下,挖掘一些隐形需求了。比如:

  • 功能:与其他模块产生交互,集成测试是否充分

  • 性能:涉及到的接口是否存在压力场景,并发场景等

  • 安全:数据传输/存储的加密、是否脱敏等

  • 兼容性:不同设备、不同系统、不同屏幕是否显示完好,覆盖市面主流机型

  • 易用性:功能是否好友,提示是否友好等

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!  

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

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

相关文章

IDEA插件的在线离线安装

插件的使用 插件的设置 在 IntelliJ IDEA 的安装讲解中我们其实已经知道,IntelliJ IDEA 本身很多功能也都是通过插件的方式来实现的,只是 IntelliJ IDEA 本身就是它自己的插件平台最大的开发者而已,开发了很多优秀的插件。 官网插件库&…

pdf怎么转换成ppt?可以试试这三种方法

pdf怎么转换成ppt?PDF和PPT是我们工作、学习中最为常见的文档格式之一,特别是PPT,几乎成为了商务汇报和学术演示的标配。有时候,我们需要将PDF文档转换成PPT格式以方便编辑和演示。那么,PDF怎么转换成PPT呢&#xff1f…

信息化建设第三方验收测试报告要求

信息化建设是企业未来高质量发展的必由之路,也是企业法治的必要手段。 信息化建设指品牌利用现代信息技术来支撑品牌管理的手段和过程。随着计算机技术、网络技术和通信技术的发展和应用,企业信息化已成为品牌实现可持续化发展和提高市场竞争力的重要保…

【UE 材质】力场护盾和冲击波效果

目录 效果 步骤 一、制作力场护盾材质 二、制作冲击波材质效果 三、制作冲击波粒子效果 四、制作震动效果 效果 步骤 一、制作力场护盾材质 1. 首先新建一个第一人称角色游戏模板 2. 新建一个材质,用于作为力场护盾的材质,这里命名为“Mat_for…

释放数据的潜力:用梯度上升法解锁主成分分析(PCA)的神奇

文章目录 🍀引言🍀什么是主成分分析(PCA)?🍀传统PCA vs 梯度上升PCA🍀PCA的优化目标🍀代码实现🍀求解第一主成分🍀求解第二主成分 🍀在sklearn中封…

数据结构:线性表之-循环双向链表(万字详解)

目录 基本概念 1,什么是双向链表 2,与单向链表的区别 双向链表详解 功能展示: 1. 定义链表 2,创建双向链表 3,初始化链表 4,尾插 5,头插 6,尾删 判断链表是否被删空 尾删代码 7&a…

怎么用excel管理固定资产

在当今的数字时代,我们已经习惯了使用各种电子工具来提高我们的生产力。其中,Excel无疑是一个强大的工具,它不仅可以帮助我们处理数据,还可以用来进行复杂的计算和分析。然而,你可能不知道的是,Excel也可以…

【已解决】src/spt_python.h:14:20: 致命错误:Python.h:没有那个文件或目录

src/spt_python.h:14:20: 致命错误:Python.h:没有那个文件或目录 问题 其中重点的报错信息 src/spt_python.h:14:20: fatal error: Python.h: No such file or directory 思路 sudo yum install python-devel然后重新安装需要的依赖。 解决 成功。…

DBeaver使用

一、导出表结构 二、导出数据CSV 导出数据时DBeaver并没有导出表结构,所以表结构需要额外保存; 导入数据CSV 导入数据时会因外键、字段长度导致失败;

4. HBase必知必会理论基础篇

HBase必知必会理论基础篇 1.1 HBase简介1.2 HBase 数据模型1.3 HBase整体架构1.4 HBase 读写流程1.4.1 客户端读取流程1.4.2 客户端写入流程 1.5 HBase 客户端常用的方法1.5.1 scan查询1.5.2 get查询1.5.3 put查询1.5.4 delete 查询1.5.5 append 查询1.5.6 increment查询 1.6 H…

从零开始在树莓派上搭建WordPress博客网站并实现公网访问

文章目录 序幕概述1. 安装 PHP2. 安装MySQL数据库3. 安装 Wordpress4. 设置您的 WordPress 数据库设置 MySQL/MariaDB创建 WordPress 数据库 5. WordPress configuration6. 将WordPress站点发布到公网安装相对URL插件修改config.php配置 7. 支持好友链接样式8. 定制主题 序幕 …

今天给大家分享一个绘图的 RGB COLOR TABLE

如果大家觉得有用,就点个赞让更多的人看到吧~

微信支付上新的“分分捐”很暖心,一起吗?

今天在买东西付款后发现,在付款页面发现下方出现了一个公益项目,名为“为乡村儿童送鸡蛋 去捐 0.01元”的提示。去查了一下才知道该功能名叫“分分捐”。 微信分分捐是什么? 当微信支付金额超过 5 元且为非整数的订单(红包、转账…

如何激励员工?

如何激励员工?激励就是发现员工的需求,并满足它。 今天想给大家介绍下“马斯洛需求理论”,毕竟想要更好的激励下属创造价值,你首先需要了解他想要什么。对吧。 马斯洛需求理论是美国心理学家马斯洛在上世纪四十年代年提出的。他…

钢建筑模板和木建筑模板的优缺点?

当涉及到建筑模板材料时,钢模板和木模板都是常见的选择。它们各自具有一些优点和缺点,下面是钢模板和木模板的介绍: 钢模板的优点: 强度和稳定性:钢模板具有高强度和稳定性,能够承受较大的荷载和压力&…

人大女王金融硕士——不要成为群羊中盲从的羊,别人疯狂你要冷静

随着社会经济的迅速发展,经济全球化不断扩大,教育体系的完善。越来越多的人追求高学历,通过系统的学习来提升自己的知识储备,增长见识。这也导致每年考研成人逐年增加,录取率也逐年下降。很多选择考研的人,…

做游戏开发需要读研吗?

主观建议版 【是否要读研再工作——不建议】 游戏行业不太看重研究生上学就是为了更好的进入工作,许多人考研就是为了拿到工作的敲门砖。而你现在已经一脚迈入门里面了。对于游戏开发从业者而言,走企业路线的,工作中的经验远比课堂上的知识…

适合小企业的CRM客户管理系统

对于小企业而言,选择一款适合自己的CRM系统可以帮助他们更好地管理客户关系,提高销售业绩,加强市场营销和客户服务等方面的能力。但是,由于市面上CRM系统品牌众多,功能各异,价格不一,小企业适合…

vulnhub靶机Brainpan

主机发现 arp-scan -l 端口扫描 nmap --min-rate 10000 -p- 192.168.21.156 服务扫描 nmap -sV -sT -O -p9999,10000 192.168.21.156 这个地方感到了有点不对劲,python起来的一个web端口 漏洞扫描 nmap --scriptvuln -p9999,10000 192.168.21.156 意料之中&…

java接入apiv3微信小程序支付(以java的eladmin框架为例)

一、需要准备的资料 1.小程序AppID 如:wx2e56f5****** 2.商户号 如:1641****** 3.商户API私钥路径:什么是商户API证书?如何获取商户API证书? 获取文件如下图: 如: 本地路径:E:\Env\e…