卷麻了,00后测试用例写的比我还好,简直无地自容......

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

 如何编写测试用例?
作为一个测试新人,刚开始接触测试,对于怎么写测试用例很是头疼,无法接触需求,只能站在用户角度去做测试,但是这样情况会导致不能全方位测试APP......

如何写出高效的软件测试用例?
从事软件测试大半年,基本上都是靠着对软件产品的大致了解来进行测试工作,很难对产品 进行一个全面细致的测试。现在想学习一下怎么写测试方案和测试用例,有哪些相关书籍可以参考?

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

测试用例概念、作用、内容等介绍
如何编写测试用例?
微信发送朋友圈案例分享
​​ 一、测试用例介绍
测试用例是为项目需求而编制的一组包含测试输入、执行条件以及预期结果的文档,以便测试某个程序是否满足客户需求。

1、为什么要写测试用例?
是测试工作的指导,是软件测试质量稳定的根本保障,评估测试结果的基准。
有一份用例来指导测试执行,可以在测试人员疲累的时候起到一个牵引作用。
编写用例的过程中,通过熟悉需求,对系统架构或业务有更深入理解
可避免测试背锅
2、测试用例模板:每家公司模板可能会有差异性,一般大致包含以下内容

用例编号:唯一性,一般规则:产品名_测试阶段(it st uat)_测试项_数字
测试项目:对应一个功能或子功能模块
测试标题:一句话总结当前测试的用意和目的
重要级别:高/中/低
预置条件:需要满足一些前提条件,否则用例无法执行
测试输入:需要加工的输入信息,跟步骤结合起来一定要具有指导性意义
操作步骤:明确给出每个步骤的描述,执行人员可以根据该步骤完成执行工作
预期结果:根据预期输出比对实际结果,来判断被测对象是否符合需求
实际结果:通过测试执行后的实际结果,写用例时为空。
3、测试用例编写形式
通过 Excel 编写,上述给出的模板就是该种形式 ,适用于项目开发时间比较充分的情况下
通过 Xmind 梳理测试点,适用于项目开发时间紧急情况下
项目管理平台例如禅道上编写,不常用
二、如何编写测试用例
大体思路分为三步:

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

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

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

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

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

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

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

这份资料分享如下:

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

表单测试:涉及到数据提交的页面,包含新增或删改数据页面
搜索测试:为数据查询的页面
删除测试:为数据删除的页面
cookies、session 等测试:用户操作角度,补充测试
数据库测试:页面添加、修改、删除、查询业务相关操作,就是对数据库数据的增改删查
通过测试理论方法和测试经验,我们可以得出微信朋友圈的测试点:

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

728 x 291 1254 x 502

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

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

三、总结

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

《测试用例模板大全》

学习资源安排上:

 

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

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

相关文章

ffmpeg参数介绍

一:主要参数 -i 设定输入流。 支持本地和网络流 -f 设定输出格式(format)。 当未指定输出格式的情况,是以文件名的后缀为准 -ss 开始时间 -t 时间长度二:音频参数 -aframes 设置要输出的音频帧数 -b:a 设置音频码率 -ar 设定采样率 -ac 设定…

【从删库到跑路】详解MySQL数据库的视图以及相关操作

🎊专栏【MySQL】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 🥰欢迎并且感谢大家指出小吉的问题 文章目录 🎄视图介绍🎄视图特点🌺基本操作⭐创建视图⭐查询…

【【深入浅出了解AXI4协议 - 2】】

深入浅出了解AXI4协议 - 2 AXI总线共有五个通道 read address channel write address channel read data channel write data channel write response channel 信息源 通过VALID 信号 来指示 通道中的 数据和 控制信号 什么时候 有效 目的源 READY 表示何时接收数据 读数据 …

Flask蓝图(Blueprint)

Flask 是一个流行的 Python Web 框架,它提供了蓝图(Blueprint)的概念,用于帮助组织和管理大型的 Web 应用程序。本文将介绍 Flask 蓝图的基本概念、如何使用蓝图构建应用程序,以及深入理解蓝图的一些高级特性。 1. 蓝图…

天拓四方分享:企业安全生产管控系统的构建、实施与优化

在当今社会,安全生产已成为各行各业的重要关注点。对于企业而言,构建和实施一套有效的安全生产管控系统是确保员工生命安全、提高工作效率以及维护企业稳定发展的关键。本文将深入探讨企业安全生产管控系统的构建、实施与优化。 一、企业安全生产管控系…

MIT6.5830 Lab1-GoDB实验记录(二)

MIT6.5830 Lab1-GoDB实验记录(二) – WhiteNights Site 标签:Golang, 数据库 接下来我们将完成tuple.go的缺失代码,并通过tuple_test.go的测试。 实验步骤 观察tuple.go 观察肯定是第一步,先打开tuple.go。 快300行代…

20 分钟搭建一个串流服务器

步骤1:准备Nginx RTMP容器 首先,您可以使用官方的Nginx RTMP Docker镜像来创建Nginx RTMP容器。运行以下命令: docker run -d -p 1935:1935 --name nginx-rtmp tiangolo/nginx-rtmp 这将在后台运行Nginx RTMP容器,将本地1935端…

解决POI的SXSSFSheet 创建excel下拉框,下拉框内容过多时不显示的问题

1. 复现 :使用POI导出带下拉框的excel文件,如果下拉框内容过多,下拉框变为了空 解决思路 : 导出时创建隐藏的sheet,下拉框的取值从隐藏的sheet中获取,下拉框显示正常 记录:因为网上的一些代码…

requires SDK version >=3.0.1 <4.0.0, version solving failed

这个很明显是FLUTTER SDK不匹配的问题,需要更新flutter SDK,最简单的办法,在flutter官网的页面直接下载最新的,然后替换之前旧版本的flutter 官网: 在 Windows 操作系统上安装和配置 Flutter 开发环境 - Flutter 中文…

基于GPIO子系统的LED驱动程序

这两个系统属于软件层,让我们不用直接对硬件配置,一般由芯片出产商写好,我们只要基于它们改就行。 设备树操作 1.使用官方的工具来编写pinctrl设置gpio的设备树代码。 如图,生成代码 ![在这里插入图片描述](https://img-blog.cs…

比亚迪今年的薪资。。

大家或许已经对比亚迪在西安的宣讲会有所耳闻,那场面真的是座无虚席。如果你稍微迟到了一些,那么你可能只能在门外或是走廊听了。 事实上,许多人早早地抵达了,只要稍微晚到,就可能错过了室内的位置。 更令人震惊的是&…

HCIA数据通信——静态路由

之前的文章中我提到过静态路由: 数据通信——网络层(路由器以及数据转发流程)_路由器如何转发数据_咕噜跳的博客-CSDN博客这里只做一些简单描述。 路由器关注的是网络之间的通信。路由器以自身为中心,考虑的是如何将数据发送到目…

优维产品最佳实践第13期:如何避免拨测机自身网络问题?

受限于拨测节点自身的环境,单一节点的拨测结果可能并不能反映出监控实例的真实运行状态 本期EasyOps产品使用最佳实践,我们将为您揭晓: 如何基于多点决策配置拨测监控,以避免拨测机自身网络问题而误告警? 如何对指标…

如何在家庭网络中开启 IPv6内网穿透

随着互联网的不断发展,IPv4地址资源逐渐枯竭,而IPv6作为它的继任者,为网络连接提供了更多的IP地址。启用IPv6对于家庭网络来说变得越来越重要,因为它可以提供更稳定、更安全、更快速的互联网连接。本文将指导如何在家庭网络中启用…

【Linux】服务器间免登陆访问

准备两台服务器,服务器A,服务器B 在服务器A中实现免登陆服务器B 进入服务器A操作 进入目录/root/.ssh cd /root/.ssh秘钥对使用默认文件名 生成秘钥对,在输入秘钥文件时直接回车则会使用默认文件名:id_rsa ssh-keygen -t rsa…

软考 系统架构设计师系列知识点之系统架构评估(1)

所属章节: 第8章. 系统质量属性与架构评估 第2节. 系统架构评估 8.2.1 系统架构评估中的重要概念 1. 概述 系统架构评估是在对架构分析、评估的基础上,对架构策略的选取进行决策。它利用数学或逻辑分析技术,针对系统的一致性、正确性、质量…

Paddle炼丹炉炸了Unexpected BUS error encountered in DataLoader worker

Paddle训练报错,内存不足 python train.py -c config/ResNet_W18.yaml修改配置文件config/ResNet_W18.yaml # 原配置 loader:num_workers: 4use_shared_memory: True# 修改后 loader:num_workers: 2use_shared_memory: False

基于GB28181-2022实现web无插件播放H265视频

目前发布的GB28181-2022增加了对前端设备视频H265编码格式的支持,所以实现国标平台通过浏览器对H265视频流的无插件的解码播放将是未来的趋势。 目前大多的方案都是通过平台端把H265转码为H264,再推送到web前端进行解码播放,这种方式因为需要…

MAA连不上MUMU模拟器

之前一直能正常用,最近突然连接不上,最终发现是adb版本不同造成的,我系统变量的adb版本如下: MUMU自带adb版本如下: 解决办法: 把mumu的adb复制到系统变量路径下,或者把adb的系统变量删除

小红书协议算法最新版

如果您想通过学习来了解小红书的点赞、关注、私信等功能的实现,以下是一些一般性的思路和示例代码,供您学习参考: 1. 点赞功能: - 后端实现:在后端,您可以创建一个用于存储用户点赞信息的数据库表。对于每…