如何编写测试用例,一篇搞定

news2024/10/7 4:32:04

前言

说到测试用例,但凡是软件测试从业人员,都不会陌生。但对于测试新手来说,测试用例仍旧有遗漏,或者写不好的时候。那么,究竟应该如何写好测试用例呢?今天就来针对性的聊聊这个话题。

在分析如何写测试用例前,有一些关键性内容是我们一定要注意到的。

同时,我也为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接点击文末小卡片免费领取资料文档

软件测试视频教程观看处:

B站封神的接口测试教程,30天练完70个项目实战(含自动化测试、性能测试),学完即就业,永久白嫖!

测试前

1)对测试目的有一个清晰的认知

无论是对任何软件或是模块,编写测试用例前,一定要弄清原始需求。最好能与提出测试需求的人,有一次比较清晰的交流,这样可以避免测试遗漏点。

2熟悉产品的功能测试点

编写测试用例,一定要覆盖所有需求点,这是我们最基本的工作,一名测试人员专业度的体现。对于功能测试需求,一定要细化到每一个使用细节,并通过测试用例展现出来。

3熟悉模块原理,避免“互相影响”问题的产生

熟悉模块原理后,注意易于分析软件模块的关联性问题。对于一款软件来说,尤其是大型软件,需要由多个模块共同组合而成。而在测试时,你会发现,软件越大,耦合越大,“互相影响”的可能性就会越高。在设计用例时,如果我们单单从模块本身考虑,不注重“共同作用”的问题,很可能会对其他模块造成“意外伤害”。

4关注用户场景问题和上网问题

在设计测试用例前,我们还应考虑应用安装在不同设备上,是否会产生使用用户场景不同,而获得的体验不同的问题。另外,网速对软件使用本身也会造成影响,在设计用例时,也需要考虑在内。

5)不可马虎的关键测试用例设计

在写测试用例时,还有一个值得注意的就是关键测试用例。何为关键测试用例?你可以把它看成是对系统最重要的功能测试用例。

举个例子:对于手机里的计算器来说,如果他不能执行“3+3=?”这个问题,那么基本这个软件也就“废了”。

所以,系统的用途决定了关键测试用例的内容。也就是说,关键测试用例必须服务于系统,并且要符合系统用途的要求。包括“正向”要求,比如“3+3”问题。当然,也会包括“逆向”要求。比如在输入银行密码时,一般最多可以错3次,否则就吞卡处理了。

编写测试用例时

1)构建测试用例框架

一个测试用例框架的构建,往往反映了一个测试人员对软件产品的熟知度,以及整体思路的专业度。而用例框架也是从大到小划分下来,依次是:UI界面、功能、容错、兼容、性能等几个大类。我们需要根据软件的逻辑等,将每个大类划分成小类,后细分到测试点。

2)测试步骤的设计

测试用例可以写的很详细,也可以写的比较简单。这当然取决于公司的要求,也取决于软件本身的复杂程度。

关于这个问题,我想说两点心得体会:一是如果步骤过于粗糙很容易出现漏测问题;二是写的过于细致,可能耗时耗力,并且会限制执行人员的思维

所以,在设计用例时,一定要把握好详细程度的分寸,符合产品本身的整体特点即可。

测试用例设计方法及思考

软件测试用例的基本要素,包括:测试用例编号、测试标题、重要级别、测试输入、操作步骤、预期结果。测试用例设计常用的7种方法,包括:等价类、边界值、场景设计法、判定表、因果图、正交法、错误猜测法。

关于上述2个内容,我们之前的内容中已经讲解了,再此就不赘述了。不清楚的同学可以翻看我们之前的内容,或者上百度查找,都是可以的。

下面说说我关于测试用例设计的一些思考。

1)切记产品测试的主要目标

测试新手们先思考一下产品测试的本质是什么。

笔者以为,产品测试的本质是发现功能、流程、界面等现存的产品问题,而不是提出功能或界面的产品优化方案。不知道大家认不认可?

虽然我们的工作也包含给出功能或界面的优化建议,但毕竟,这不是我们的主要任务。根据我的亲身经历,我认为,测试新手往往容易出现这种“本末倒置”的行为:花大量时间去思考如何优化,而非找出产品所隐含的bug。

为什么会这样呢?笔者以为,这主要是由2个原因造成的。

一是产品本身存在的优化空间很大。试想,如果你拿到一款完全不符合时下主流风格的产品,是否也会想给他提各种优化意见?这就不难理解测试新手在遇到一款设计界面糟糕的产品时,容易出现跑偏的问题了。

另一个是思维方式没有及时转变。对于测试新手来说,基于对固有事物的认知,我们往往会带有策划思维,或者追求“圆满性”思维看问题,这两问题也容易造成本末倒置的问题。

所以,对于测试人员来说,我们必须谨记测试目标,坚持以‘提bug为主,提需求为辅’的状态,来确保我们的工作进度与审美之间的两不误。

2注意用词精准问题

作为软件上线前的最后一道工序,软件测试既是对产品质量的检测,也是对普通用户的负责。因此,协助开发人员查漏补缺是我们的常态。这就不得不提到沟通问题了。

之所以笔者要写用词精准问题,主要也是为了解决由于沟通不到位,造成测试人员与开发人员“剑拔弩张”的问题。那么,日常工作我们应该如何合理的提问呢?笔者以为,可以用这个方法来描述问题:产品漏洞是什么+问题在哪里+严重程度+解决办法或意见。

例如,邮箱登录页面有一个bug。当我在密码栏输入“777777”时,无论原密码是什么,都能打开这个邮箱。这个类似于“万能钥匙”的密码可能会导致邮箱信息泄露,非常严重,请在1-2个工作日内解决。建议检查对应区域代码条件设置是否出现遗漏。

写在最后

俗话说,以人为鉴,可以明得失;以史为鉴,可以知兴替。希望测试新手们可以通过借鉴别人的经验,查漏补缺,使自己的测试之路走的更通畅,工作更顺利~

PS:这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近500个G。

☑ 240集-零基础到精通全套视频课程
☑ [课件+源码]-完整配套的教程
☑ 18套-测试实战项目源码
☑ 37套-测试工具软件包
☑ 268道-真实面试题
☑ 200个模板-面试简历模板、测试方案模板、软件测试报告模板、测试分析模版、测试计划模板、性能测试报告、性能测试报告、性能测试脚本用例模板(信息完整)

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

送给大家一句话,共勉:当我们能力不足的时候,首先要做的是内修!当我们能力足够强大的时候,就可以外寻了! 

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

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

相关文章

初识Java 10-3 集合

目录 Collection和Iterator的对比 for-in和迭代器 总结图 本笔记参考自: 《On Java 中文版》 Collection和Iterator的对比 Collection是所有序列集合的共同根接口。因此,可以认为它是一个为表示其他接口之间的共性而出现的“附属接口”。 java.util.Ab…

Linux下ThinkPHP5实现定时器任务 - 结合crontab

实例一&#xff1a; 1.在/application/command创建要配置的PHP类文件&#xff0c;需要继承Command类&#xff0c;并重写configure和execute两个方法&#xff0c;例如: <?php namespace app\command; use think\console\Command; use think\console\Input; use think\cons…

紫光展锐6nm国产5G处理器T820_国产手机芯片5G方案

紫光展锐T820是一款采用先进6nm EUV工艺的芯片&#xff0c;采用134三丛集八核心CPU架构&#xff0c;由1个主频为 2.7GHz 的 Arm Cortex-A76 大核和 3个主频为2.3GHz 的Arm Cortex-A76大核以及4个主频为2.1GHz的 Arm Cortex-A55组成 &#xff0c;支持高达3MB 三级缓存&#xff0…

【解决方案】edge浏览器批量添加到集锦功能消失的解决方案

edge的集锦功能很好用&#xff0c;右键标签页会出现如下选项&#xff1a; 但在某次edge更新后&#xff0c;右键标签页不再出现该选项&#xff1a; 这里可以参考为什么我的Edge浏览器右键标签页没有“将所有标签页添加到集锦”功能&#xff1f; - Microsoft Community 一文提出…

1794_ChibiOS网络书籍的介绍阅读

全部学习汇总&#xff1a; GreyZhang/g_ChibiOS: I found a new RTOS called ChibiOS and it seems interesting! (github.com) 看到这个介绍我觉得这个OS的作者也是一个超级hack&#xff0c;而且非常有工匠精神。为什么要推出一个全新的RTOS呢&#xff0c;其实主要的原因就是觉…

【C语言】插入排序详解

文章目录 一、直接插入排序1、插入排序思想2、程序代码3、测试 二、希尔排序1、什么是希尔排序2、希尔排序图解3、程序代码4、测试 一、直接插入排序 1、插入排序思想 直接插入排序就是将待排序的记录按照它的关键码值插入到一个已经排好序的有序序列中&#xff0c;直到所有的…

【亲测有效】解决npm报错:RequestError: unable to verify the first certificate

问题简述 帖主从nodejs官网下载安装nodejs后&#xff0c;发现使用以下命令安装electron会报错 npm install electron报错信息如下&#xff1a; npm ERR! RequestError: unable to verify the first certificate解决方案 网上列举的方案&#xff0c;无外乎&#xff1a; 设置…

一篇文章让你学会什么是哈希

一篇文章让你学会什么是哈希 哈希概念哈希冲突哈希函数1. 直接定址法2. 除留余数法3. 平方取中法4. 折叠法5. 随机数法6. 数学分析法 哈希冲突解决1. 闭散列1.1 线性探测1.2 二次探测 2. 开散列 开散列和闭散列对比 哈希概念 哈希在C中有广泛的应用&#xff0c;它是一种用于快…

Compose LazyColumn 对比 RecyclerView ,谁的性能更好?

LazyColumn 是 compose 中用来实现类似 RecyclerView 效果的控件 &#xff0c;但是大家都说LazyColumn性能比RecyclerView差太多&#xff0c;毕竟 RecyclerView google优化了十多年了&#xff0c;比RecyclerView差一点也正常&#xff0c;今天我们就用实际数据来对比LazyColumn和…

全流程HEC-RAS 1D/2D水动力与水环境模拟技术案例实践及拓展应用丨从小白到精通,十九项案例实践

目录 专题一 水动力模型基础 专题二 恒定流模型(1D/2D) 专题三 一维非恒定流 专题四 二维非恒定流模型&#xff08;一&#xff09; 专题五 二维非恒定流模型&#xff08;二&#xff09; 专题六 HEC-RAS的水质模型 专题七 高级主题 水动力与水环境模型的数值模拟是实现水…

如何安全传输存储用户密码?(程序员必备)

前言 我们开发网站或者APP的时候&#xff0c;首先要解决的问题&#xff0c;就是「如何安全传输和存储用户的密码」。一些大公司的用户数据库泄露事件也时有发生&#xff0c;带来非常大的负面影响。因此&#xff0c;如何安全传输存储用户密码&#xff0c;是每位程序员必备的基础…

基于springboot+vue的大学生科创项目在线管理系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

Git大全

目录 一、Git概述 1.1Git简介 1.2Git工作流程图 1.3查看Git的版本 1.4 Git 使用前配置 1.5为常用指令配置别名&#xff08;可选&#xff09; 1.5.1打开用户目录&#xff0c;创建 .bashrc 文件 1.5.2在 .bashrc 文件中输入如下内容&#xff1a; 1.5.3打开gitBash&#xff0c;执行…

若依框架集成WebSocket带用户信息认证

一、WebSocket 基础知识 我们平时前后台请求用的最多的就是 HTTP/1.1协议&#xff0c;它有一个缺陷&#xff0c; 通信只能由客户端发起&#xff0c;如果想要不断获取服务器信息就要不断轮询发出请求&#xff0c;那么如果我们需要服务器状态变化的时候能够主动通知客户端就需要用…

商家收款码费率是什么意思

今天&#xff0c;我将分享如何有效地降低日常中的收款手续费率。我们都知道&#xff0c;不管是微信支付还是支付宝&#xff0c;平台都会从中扣除一定的手续费。但你是否知道&#xff0c;其实手续费率是可以降低的呢&#xff1f;今天介绍如何申请最低手续费率为0.2%的方法&#…

【从0学习Solidity】26. 删除合约

【从0学习Solidity】26. 删除合约 博主简介&#xff1a;不写代码没饭吃&#xff0c;一名全栈领域的创作者&#xff0c;专注于研究互联网产品的解决方案和技术。熟悉云原生、微服务架构&#xff0c;分享一些项目实战经验以及前沿技术的见解。关注我们的主页&#xff0c;探索全栈…

酒店外卖小程序商城的作用是什么

随着线上餐品销售属性增强&#xff0c;传统酒店除了承接到店客户&#xff0c;外送也成为生意的一部分&#xff0c;但传统打电话、微信发送的方式无法实现餐品全面呈现和客户随时订购需求&#xff0c;在配送方面也无法规范化。 除此之外&#xff0c;还需要完善营销、会员管理、…

好玩的调度技术

好玩的调度技术 文章目录 好玩的调度技术前言一、乱金柝-空间剥离二、拖拽编辑三、全端兼容 前言 最近感觉自己抑郁了&#xff0c;生态技术实在太庞大太复杂&#xff0c;所以我决定先停一段时间&#xff0c;在停下写生态的这两天写了几个调度的小玩意换换脑子&#xff0c;很有…

java Spring MVC主动解决请求跨域问题,别再依靠前端代理帮你解决问题啦,老铁!!

前端发展至今 已经有了很多代理工具可以帮助我们解决跨域 但说到底 跨域还是后端能解决的话最好 那么 我们先来看一个请求 很明显 这个接口发生了跨域 因为这里我是用的Spring MVC 而 Spring MVC 解决跨域的代码非常简单 我们只需要加一个注解 CrossOrigin 参考代码如下 Cr…

冒烟测试到底多重要?

冒烟测试介绍 冒烟测试一词&#xff0c;来源于电路板测试&#xff1a;电路板拼接或组装完成后&#xff0c;进行通电测试&#xff0c;如果冒烟&#xff0c;则说明存在缺陷。 而软件应用中&#xff0c;对其的定义为&#xff1a;在软件开发过程中的一种针对软件版本包的快速基本…