关于测试用例编写你不得不了解的那些事...

程序员二黑 程序员二黑     2023-02-04     382

关键词:

对于一个软件测试人员来说,编写测试用例是不可或缺的一项技能,但怎么写好一个需求的测试用例却不是很容易,特别对于新手来说,更是不容易,我也是从新手一步步走过来的,下面我就把我的经验总结出来供大家参考吧。

测试用例是什么

这个问题很简单但却不能不知道,刚入行,我们会很懵,弄清楚这个问题,对我们接下来写测试用例非常有帮助。

测试用例顾名思义就是用来测试的例子,但这个例子却不是随便的,而是通过我们分析后精心设计出来的,是我们测试的一个标准。

书写结构要符合规范

测试用例不仅是我们测试的例子,还是我们软件功能的一个详细描述,一个好的测试用例,不仅仅是自己能看得懂、测试场景全面,还要能让别人看得懂,让别人通过你的测试案例能对你所测试的那个功能有一个全面的了解和认识。

所以测试用例的书写也不是随便的,它有一定的结构。一般有以下几部分组成:

  • 测试用例名称

这个一般是在你写多个需求测试功能点时用它来标记你当前写的是哪个功能测试点的用例,比如你正在写登录账号的测试用例,你就可以在这一栏写上账号登录测试。

  • 测试用例描述

这个一般是对你当前所写测试用例功能点进行一个简单的描述,让人一眼能看出你这个是在测试哪个点。

还拿上面的登录测试来说,我们就可以这样写:输入正确的账号、正确的密码、登录成功。

  • 测试前置条件

前置条件一般就是指在你接下来的操作之前要做的准备工作。

比如有一个需求是这样的:当订单所选国家对应的是否汇总物料的字段标识为Y时,就把这个订单下的所有备件物料汇总到一起,否则不时进行汇总。

那么在我们写这个测试用例的时候,它就有一个前置条件就是所选国家是否汇总物料的标识为Y或N。

  • 测试操作步骤

测试步骤这个很简单,就是把我们执行测试的操作一步步写下来,这个一定要写清楚,方便后来人查阅和学习。

  • 期望结果

就是你在前置条件下执行当前测试用例步骤后得到的一个正确的结果也就是你想要的结果就是期望结果。

了解需求的背景、开发实现方案

为什么要了解需求背景和开发实现方案?了解需求背景可以帮助我们分析哪些应用场景是合理的,哪些是不合理的,哪些场景是涉及到此需求的,我们接下来的测试用例写的才能更接近实际应用。

那如何了解需求背景,一般是从需求提出人那里了解,有的是从产品经理统一了解,这个要根据不同公司的不同安排进行了解。

了解开发实现方案有助于我们从代码层面和实现逻辑上来识别一些潜在的风险问题,同时也给我们测试用例提供更清晰的思路和场景。

开发实现方案的一般是通过开发设计评审,有的公司没有这个步骤,那只有自己主动跟开发小哥沟通了,只有这个了解清楚了,你才能更清楚的知道功能的实现输入和相应的输出是否正确,才能提前识别期望结果与需求提出人的结果是否一致,你的测试用例写得场景才能更全面。

掌握必要的测试用例设计方法

测试用例设计方法也是编写测试用例不可缺少的一部分,掌握一定的测试用例设计方法有助于我们分析测试场景。

不同的需求不的功能实现点要用不同的方法进行分析设计。

一般来说有做比较判断或分类的,在比较判断这个点上常用边界值分析和等价划分方法来分析设计。

有逻辑判断的或功能较复杂的就要用因果图法,正交实验法等这些(这些方法网上都有详细的介绍我就不详细说了)。

比如一个需求功能是这样的:根据报销单中出差人员的出差的城市进行判断所提交的报销金额是否超标。

这里面有一个隐藏的信息就是出差城市和报销金额的对应的关系,这个是在后台的一张表中,这张表结构是这样的:


类别标记这个城市是一类城市还是二类城市,金额就是报销限制金额。

从上述的信息中我们可以看出这个既有分析还有比较判断,所以我们这里要用到边界值分析法和等价划分来分析设计场景。

边界值来分析金额比较的场景,等价划分来划分城市分类,所以得出的分析场景如下几个:

  • 一类城市,报销金额小于给定金额

  • 一类城市,报销金额大于给定金额

  • 一类城市,报销金额等于给定金额

  • 二类城市,报销金额小于给定金额

  • 二类城市,报销金额大于给定金额

  • 二类城市,报销金额等于给定金额

充分考虑功能、性能、安全问题

这个是测试用例编写一个比较重要的点,无论是你做哪个功能软件测试都要考虑这几个点,一般的话我会从这几方面考虑:


在我们了解清楚我们的需求功能以后,一般按照上面这个思路去设计我们的测试场景都是比较全面的。

比如在一个原有的网页上面新增一个查询库存产品余量的功能。

查询条件有:1.产品名称;2.产品型号。

两者可组合查询。

查询结果展示有:

产品名称、产品型号、库存余量、出库总量。

这是一个很简单的查询功能,通过分析我们知道:

01、数据存于本地数据库表中,直接取的就是一张叫产品余量表里面的数据。

02、由于产品种类型号比较多,存在单个产品名称查询时数据量比较大的情况。

03、因为是在原有网页上新增的功能,网页的安全性不需要考虑,但查询接口的安全需要考虑。

04、由于是新增功能影响到页面布局,所以要考虑易用性和兼容性。

05、查询功能可能会存在多人同时查询和一个人多次频繁查询的情况,所以性能这块要需要考虑并发,和频繁操作的场景。

基本场景分析完了,我们就可以根据我们上面所说的考虑点列我们的测试场景了,如下:


最后也给软件测试的朋友们分享一份测试资料:

以上内容,对于软件测试的朋友来说应该是最全面最完整的备战仓库了,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你。关注我公众号:程序员二黑,免费获取!

机会只垂青有准备的人,这是一个靠本事的社会。有时候,你之所以发展得不好,不是因为没有机遇,而是因为你没有准备好,导致机遇与你擦肩而过。如果你想要学习,什么时候开始都不晚,而不是瞻前顾后,你只要用尽全力,剩下的交给时间!

加油吧,测试人!路就在脚下,成功就在明天!

推荐阅读

在职阿里6年,一个29岁女软件测试工程师的心声

当过服务员、快递员,现在年薪30W,历尽山河叛逆少年终会成长

公司新来的阿里p8,看了我做的APP和接口测试,甩给了我这份文档

关于单元测试你不知道的那些事

查看详情

关于单元测试你不知道的那些事

查看详情

关于单元测试你不知道的那些事

查看详情

java并发编程解析|关于线程机制的那些事,你究竟了解多少?

苍穹之边,浩瀚之挚,眰恦之美;悟心悟性,善始善终,惟善惟道!——朝槿《朝槿兮年说》写在开头众所周知,在计算机操作系统中,进程(Process)是一个很关键的概念,最本质的理解就是操作系统执行的一个应用程序(Application... 查看详情

关于性能测试的那些事

 之前有做过几次做性能测试,略有心得和大家分享一下 从测试需求开始,到完成测试,都需要经过很多阶段 首先是测试需求,要评估测试需求是否合理,并不是所有的性能测试需求都需要直接来安排测试,而是评估... 查看详情

pytest那些事01_执行结果内容改造(代码片段)

前言改造pytest命令行执行测试用例时,返回的内容。添加用例描述在编写测试用例时,若将测试目的写为测试用例名称,可能会导致用例名称过长,但是使用简短的编号表示用例名称时,从执行结果中又无法知晓具体的测试逻辑... 查看详情

关于前后端分离,你需要知道的那些事

对于刚入门前端或者是想要入门前端,并追随时代的潮流,想要做前后端分离的小伙伴们来说,这篇文章是为你们而写的。至于想多了解一些前后端分离的知识,可以参考https://www.kancloud.cn/chandler/web_technology/741853&... 查看详情

cdn百科第七期|关于cdn的原理术语和应用场景那些事

关于CDN,想必你一定看过很多官方的解释。今天,CDN百科第七期,将用一篇3844字的文章,来带你了解CDN的诞生、术语、原理、特征以及应用场景,看完这篇文章,相信你将会对CDN这项互联网基础设施有更加透彻的了解。CDN的全... 查看详情

测试用例你了解多少

什么是测试用例?一组由前提条件、输入、执行条件、预期结果、等组成,已完成对某个特定需求或者目标测试的数据,体现测试方案,方法,技术和策略的文档。为什么要写测试用例?科学有效的对测试步骤进行组织规划,方... 查看详情

关于cdn那些事

对于前端性能优化我们不得不了解的几个知识点:CDN、HTTPheader信息今天我就来谈谈我对cdn的理解1、CDN是什么:CDN全称是ContentDeliveryNetwork,即内容分发网络。将网站内容发布到接近用户的服务器上。用户访问网站时,用户访问就... 查看详情

(十八)atp应用测试平台——关于springboot应用监控的那些事(代码片段)

前言什么?你一个请求的事,就把我刚刚启动好的项目关停了,又要挨打了吧。哈哈,生活不易,求放过。放过你也行,快快告诉我你的绝招。本节内容我们主要介绍一下springboot应用的常见应用参数监控... 查看详情

(十八)atp应用测试平台——关于springboot应用监控的那些事(代码片段)

前言什么?你一个请求的事,就把我刚刚启动好的项目关停了,又要挨打了吧。哈哈,生活不易,求放过。放过你也行,快快告诉我你的绝招。本节内容我们主要介绍一下springboot应用的常见应用参数监控... 查看详情

自动化测试用例编写

...尽可能小,短小简单的测试用例易于调试。如果测试用例不得不长而复杂,则把它分成两个或更多的私有方法,并单独调用这些方法。尽量把重复任务放入一个方法中,这样它可以被多个测试用例调用;所有的测试用例必须作为... 查看详情

关于selenium2的那些事

  selenium2可用于web端自动化测试selenium2可用于web端自动化测试selenium2可用于web端自动化测试selenium2可用于web端自动化测试selenium2可用于web端自动化测试selenium2可用于web端自动化测试selenium2可用于web端自动化测试selenium2可用于web... 查看详情

关于android性能监控matrix那些事?你知道那些?(完)(代码片段)

关于Android性能监控Matrix那些事?你知道那些?(上)关于Android性能监控Matrix那些事?你知道那些(中)?视频也更新了:微信Matrix卡顿监控实战,函数自动埋点监控方案今天抽空把后面的... 查看详情

一文带你了解如何编写测试用例?0基础也能看懂(代码片段)

📢我是小濠,一个快要秃头的测试人📢欢迎点赞👍收藏⭐留言📝如有错误敬请指正!📢我收集了一些软件测试资料,关注我公众号:程序员小濠,免费领取!📢送给大家一句话&#x... 查看详情

关于thread的那些事

关于Thread的那些事 1 : 你能够调用线程的实例方法Join来等待一个线程的结束.比如: publicstaticvoidMainThread(){Threadt=newThread(Go);t.Start();t.Join();Console.WriteLine("Threadthasended!");}staticvoidGo(){for(inti 查看详情

记录-关于console你不知道的那些事

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 了解console● 什么是console?console其实是JavaScript内的一个原生对象内部存储的方法大部分都是在浏览器控制台输出一些内容并且还提供了很多的辅助方法... 查看详情