如何高效编写测试用例?

简介: 逛知乎的时候,经常看到无论是刚入职场的新人,还是工作了一段时间的老人,都会对编写测试用例感到困扰?

逛知乎的时候,经常看到无论是刚入职场的新人,还是工作了一段时间的老人,都会对编写测试用例感到困扰?例如:


1.png2.png




固然,**编写一份好的测试用例需要:充分的需求分析能力 + 理论及经验加持**。 但这并不意味着,没测试经验、分析能力弱就不能写好用例,还是有方法可循的。作为混迹测试职场 9 年的老人,给大家分享一些用例编写的心得,接下来我会从以下几个方面展开来讲:


1.  测试用例概念、作用、内容等介绍

2.  如何编写测试用例?

3.  微信发送朋友圈案例分享

软件测试面试宝典


## 一、测试用例介绍


> 测试用例是为项目需求而编制的一组包含测试输入、执行条件以及预期结果的文档,以便测试某个程序是否满足客户需求。


#### 1、为什么要写测试用例?


1.  是测试工作的指导,是软件测试质量稳定的根本保障,评估测试结果的基准。

2.  有一份用例来指导测试执行,可以在测试人员疲累的时候起到一个牵引作用。

3.  编写用例的过程中,通过熟悉需求,对系统架构或业务有更深入理解

4.  可避免测试背锅


#### 2、测试用例模板:每家公司模板可能会有差异性,一般大致包含以下内容


3.png

3.png


*   用例编号:唯一性,一般规则:产品名_测试阶段(it st uat)_测试项_数字

*   测试项目:对应一个功能或子功能模块

*   测试标题:一句话总结当前测试的用意和目的

*   重要级别:高/中/低

*   预置条件:需要满足一些前提条件,否则用例无法执行

*   测试输入:需要加工的输入信息,跟步骤结合起来一定要具有指导性意义

*   操作步骤:明确给出每个步骤的描述,执行人员可以根据该步骤完成执行工作

*   预期结果:根据预期输出比对实际结果,来判断被测对象是否符合需求

*   实际结果:通过测试执行后的实际结果,写用例时为空。


#### 3、测试用例编写形式


1.  通过 Excel 编写,上述给出的模板就是该种形式 ,适用于项目开发时间比较充分的情况下

2.  通过 Xmind 梳理测试点,适用于项目开发时间紧急情况下

3.  项目管理平台例如禅道上编写,不常用


## 二、如何编写测试用例


大体思路分为三步:


第 1 步:依据需求梳理功能及功能点


第 2 步:通过测试理论方法及经验,梳理测试点


第 3 步:挖掘隐性需求,覆盖非功能测试层面


**举例:** 微信朋友圈动态发送


4.png



#### 第 1 步,依据需求梳理功能及功能点


简而言之,就是把你能看得到的功能及功能点梳理出来。公司一般都有产品需求资料,例如需求规格说明书文档、原型图、UI 设计图;当没有任何需求资料情况下,可以通过操作软件来熟悉业务。像发送朋友圈,我们可以**先功能模块—> 再子功能—> 再到功能需求细节**来梳理,注意一些不明确的需求细节需要及时跟产品确认。大致梳理如下:


5.png6.png



#### 第 2 步:通过测试理论方法及经验,梳理测试点


这一步非常重要,依据需求梳理完功能点后,接下来我们需要针对每个功能点拆分整理具体的测试点,这时候我们需要设想用户操作的所有情况,包含到正常及异常场景。


我们需要同时具备测试理论方法和测试经验,才能较好地设计出一份全面可靠的测试用例。常见的测试用例设计方法包括:等价类划分、边界值分析、判定表、因果图、错误推测法、场景法、正交试验法、状态迁移法等。测试经验需要多个项目测试的积累及沉淀。对于测试新人来说,测试经验可能趋于 0,这个时候可以先借鉴一些前人的经验。对于此,我曾经整理过一份资料,很多测试新人用过资料后都觉得对测试用例有了豁然开朗的感觉,知道怎么去写用例了。


这份资料分享如下:

7.png8.png


7.png8.png



注:这份资料我们可以用在任何的软件产品的分析上面,从本质上来说,任何一款基于用户角度操作的软件产品,操作功能无外乎都是对数据做增删改查,所以当需要对软件产品进行分析编写测试用例时,我们可以依据当前功能是增删改查的哪一个操作,用上面梳理的测试点来套用编写用例。按增删改查操作来梳理,分为:


1.  表单测试:涉及到数据提交的页面,包含新增或删改数据页面

2.  搜索测试:为数据查询的页面

3.  删除测试:为数据删除的页面

4.  cookies、session 等测试:用户操作角度,补充测试

5.  数据库测试:页面添加、修改、删除、查询业务相关操作,就是对数据库数据的增改删查


**通过测试理论方法和测试经验,我们可以得出微信朋友圈的测试点:**


9.png



**编写为 Excel 文档用例,可为:**


10.png




#### 第 3 步:挖掘隐性需求,覆盖非功能测试层面


除了以上这些功能层面的,对于微信移动端产品,还需要考虑到一些特性方面的测试,包括非功能测试层面,如:软件测试面试宝典


12.png



## 三、总结


编写用例虽然不是那么简单的事,但是通过以上,是不是发现还是有方法可循的?不会写的先模仿着来写,日积月累,通过项目中测试思维的长期训练,工作中出现 bug 的经验总结,相信某一天你会发现编写测试用例也没有那么难!

目录
打赏
0
0
0
0
11
分享
相关文章
学妹:你的 IDEA 主题怎么这么好看?
哈喽,小伙伴们好呀。我是狗哥,今天不聊技术,聊聊我们的吃饭工具。经常有小伙伴问我:“你的 IDEA 主题怎么这么好看,能推荐一下不?”。问的人太多了,才索性写了这篇文章。 在这篇文章中,我精选了几个比较适合 Java 编码的 IDEA 主题供小伙伴们选择。另外,我自己用的是 One Dark theme 这款。
学妹:你的 IDEA 主题怎么这么好看?
Anaconda安装使用以及Pycharm教程
Anaconda环境基本使用以及与Pycharm集成
2085 0
Anaconda安装使用以及Pycharm教程
如何解决ChromeDriver 126找不到chromedriver.exe问题
当使用Selenium与ChromeDriver 126时,遇到`chromedriver.exe`找不到的错误,可能是因为版本不匹配、文件路径错误或系统设置不当。解决方法包括:匹配Chrome浏览器版本下载ChromeDriver,确保文件在正确路径且有执行权限,以及调整系统设置允许执行。示例代码展示了如何设置代理IP、user-agent和cookie来运行Selenium爬虫。通过这些步骤,可以确保爬虫程序顺利运行。
763 2
如何解决ChromeDriver 126找不到chromedriver.exe问题
VS编译器更换背景壁纸逐步图示教程
VS编译器更换背景壁纸逐步图示教程
256 1
Python 绘制漂亮的折线图
折线图是一种用于展示数据随时间或其他变量变化趋势的图表。在 Python 中,我们可以使用`matplotlib`库来绘制漂亮的折线图。`matplotlib`是一个功能强大且广泛使用的绘图库,它提供了丰富的工具和选项来创建各种类型的图表。
Python 绘制漂亮的折线图
阿里云产品专家教你如何全方位构建ECS安全体系
2024开年伊始,阿里云弹性计算团队全新推出新一季【ECS 安全季】,通过分享云上安全体系相关产品与最佳实践,让用户快速上手构建业务的安全防护能力。 首节课程《如何全方位构建ECS的安全体系》由阿里云弹性计算高级产品专家马小婷带来,课程涵盖了“云上安全的重要性、云安全责任模型、ECS安全能力大图解读”等内容,本系列全部课程也将在阿里云官网、阿里云官方微信视频号、阿里云官方钉钉视频号、阿里云开发者微信视频号同步播出。
Spring Boot框架基础介绍
Spring Boot 是一款基于 Spring 框架的开源应用程序开发工具,它旨在简化 Spring 应用程序的配置和开发过程。Spring Boot 提供了一种简单的方式来创建可独立运行的、生产级别的应用程序,并在需要时进行部署。Spring Boot 在微服务架构和云计算环境下得到了广泛应用,本文将介绍 Spring Boot 的特性、优势以及使用方法。
3150 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问