当前位置: 首页 > news >正文

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

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

 如何编写测试用例?

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

如何写出高效的软件测试用例?

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

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

  1. 测试用例概念、作用、内容等介绍
  2. 如何编写测试用例?
  3. 微信发送朋友圈案例分享

​​​​​​《测试用例模板大全》

 一、测试用例介绍

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

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

  1. 是测试工作的指导,是软件测试质量稳定的根本保障,评估测试结果的基准。
  2. 有一份用例来指导测试执行,可以在测试人员疲累的时候起到一个牵引作用。
  3. 编写用例的过程中,通过熟悉需求,对系统架构或业务有更深入理解
  4. 可避免测试背锅

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

  • 用例编号:唯一性,一般规则:产品名_测试阶段(it st uat)_测试项_数字
  • 测试项目:对应一个功能或子功能模块
  • 测试标题:一句话总结当前测试的用意和目的
  • 重要级别:高/中/低
  • 预置条件:需要满足一些前提条件,否则用例无法执行
  • 测试输入:需要加工的输入信息,跟步骤结合起来一定要具有指导性意义
  • 操作步骤:明确给出每个步骤的描述,执行人员可以根据该步骤完成执行工作
  • 预期结果:根据预期输出比对实际结果,来判断被测对象是否符合需求
  • 实际结果:通过测试执行后的实际结果,写用例时为空。

3、测试用例编写形式

  1. 通过 Excel 编写,上述给出的模板就是该种形式 ,适用于项目开发时间比较充分的情况下
  2. 通过 Xmind 梳理测试点,适用于项目开发时间紧急情况下
  3. 项目管理平台例如禅道上编写,不常用

二、如何编写测试用例

大体思路分为三步:

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

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

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

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

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

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

 

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

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

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

这份资料分享如下:

 

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

  1. 表单测试:涉及到数据提交的页面,包含新增或删改数据页面
  2. 搜索测试:为数据查询的页面
  3. 删除测试:为数据删除的页面
  4. cookies、session 等测试:用户操作角度,补充测试
  5. 数据库测试:页面添加、修改、删除、查询业务相关操作,就是对数据库数据的增改删查

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

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

 

728 x 291 1254 x 502

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

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

三、总结

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

《测试用例模板大全》

 学习资源安排上:

 

 

 

 

 

 

相关文章:

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

经常看到无论是刚入职场的新人,还是工作了一段时间的老人,都会对编写测试用例感到困扰?例如: 如何编写测试用例? 作为一个测试新人,刚开始接触测试,对于怎么写测试用例很是头疼,无法…...

动态网页的核心——JSP

文章目录1,JSP 概述2,JSP 小案例2.1 搭建环境2.2 导入 JSP 依赖2.3 创建 jsp 页面2.4 编写代码2.5 测试3,JSP 原理4,JSP 总结4.1 JSP的 缺点4.2技术的发展历程4.3JSP的必要性最后说一句1,JSP 概述 JSP(全称…...

RK3588平台开发系列讲解(系统篇)init.d介绍

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、Linux启动简介二、sysvinit配置三、inid.d介绍沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇介绍init.d相关知识。 一、Linux启动简介 Linux用户空间启动时,第一个会启动init进程,用来引导启动其…...

taobao.user.buyer.get( 查询买家信息API )

¥开放平台基础API必须用户授权 查询买家信息API,只能买家类应用调用。 公共参数 请求地址: HTTP地址 http://gw.api.taobao.com/router/rest 公共请求参数: 公共响应参数: 请求参数 响应参数 点击获取key和secret 请求示例 TaobaoClient client new…...

python学生信息管理系统

wx供重浩:创享日记 对话框发送:python学生信息 免费获取完整源码源文件配置教程说明等 在IDLE中运行《学生信息管理系统》即可进入如图1所示的系统主界面。在该界面中可以选择要使用功能对应的菜单进行不同的操作。在选择功能菜单时,有两种方…...

【微信小程序】-- WXML 模板语法 - 条件渲染 -- wx:if hidden (十一)

💌 所属专栏:【微信小程序开发教程】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &…...

2023上半年软考,广州/东莞/深圳/江苏报班是明智的选择

软考是全国计算机技术与软件专业技术资格(水平)考试(简称软考)项目,是由国家人力资源和社会保障部、工业和信息化部共同组织的国家级考试,既属于国家职业资格考试,又是职称资格考试。 系统集成…...

C++修炼之练气期一层——命名空间

目录 1.引例 2.命名空间的定义 3.命名空间的使用 4.命名空间使用注意事项 1.引例 #include <stdio.h> #include <stdlib.h>int rand 10;int main() {printf("%d\n", rand);return 0; } 当我们用C语言写下这样的代码&#xff0c;看着并没有什么语法…...

matplotlib综合学习

1.arange函数arange函数需要三个参数&#xff0c;分别为起始点、终止点、采样间隔。采样间隔默认值为1看例子&#xff1a; import numpy as np #import matplotlib.pyplot as plt xnp.arange(-5,5,1) print(x)2.绘制sin(x)曲线import numpy as np import matplotlib.pyplot as …...

IIS .Net Core 413错误和Request body too large解决办法

错误描述图片比较大时&#xff0c;在前端上传就报413错误。根本到不了后端。在网上看到这个文章比较有用。https://blog.csdn.net/wstever/article/details/1288707421、修改网站Web.config配置文件加入下面这段配置<?xmlversion"1.0" encoding"utf-8"…...

Spring Boot数据访问—(springboot 多数据源)—官方原版

Spring Boot 包含许多用于处理数据源的启动器&#xff0c;本文回答与执行此操作相关的问题。一、配置自定义数据源要配置自己的DataSource&#xff0c;请在配置中定义该类型的Bean。Spring Boot在任何需要的地方重用DataSource&#xff0c;包括数据库初始化。如果需要外部化某些…...

高燃!GitHub上标星75k+超牛的Java面试突击版

前言不论是校招还是社招都避免不了各种面试。笔试&#xff0c;如何去准备这些东西就显得格外重要。不论是笔试还是面试都是有章可循的&#xff0c;我这个有章可循‘说的意思只是说应对技术面试是可以提前准备。运筹帷幄之后&#xff0c;决胜千里之外!不打毫无准备的仗,我觉得大…...

grid宫格布局新手快捷上手-f

前言 grid 网上有很多&#xff0c;但都是大而全的&#xff0c;感觉新人上手很吃力&#xff0c;本文仅以最快捷的方式进行介绍&#xff0c;如何使用grid宫格布局 本文是新人上手&#xff0c;若想了解更多grid布局&#xff0c;请阅读其他文章 使用 声明布局 display: grid;声…...

面试必刷101 Java题解 -- part 3

part1 – https://blog.csdn.net/qq_41080854/article/details/129204480 part2 – https://blog.csdn.net/qq_41080854/article/details/129224785 面试必刷101 Java题解 -- part 3动规五部曲71、斐波那契数列72、跳台阶73、最小花费爬楼梯74、最长公共子序列(二)75、最长公共…...

干货满满!MES的简介和运用

导读 谈及MES必须先谈生产&#xff0c;生产体系模型如图所示&#xff0c;涉及人、财、物、信息等资源&#xff0c;产、供、销等环节&#xff0c;以及供应商、客户、合作伙伴等。 其中&#xff0c;生产管理是通过对生产系统的战略计划、组织、指挥、实施、协调、控制等活动&…...

【ElasticSearch系列-01】初识以及安装elasticSearch

elasticSearch入门和安装一&#xff0c;elasticSearch入门1&#xff0c;什么是elasticSearch2&#xff0c;elasticSearch的底层优点2.1&#xff0c;全文检索2.2&#xff0c;倒排索引2.2.1&#xff0c;正排索引2.2.2&#xff0c;倒排索引2.2.3&#xff0c;倒排索引解决的问题2.2…...

【Leedcode】栈和队列必备的面试题(第一期)

栈和队列必备的面试题&#xff08;第一期&#xff09; 文章目录栈和队列必备的面试题&#xff08;第一期&#xff09;一、题目二、思路&#xff08;图解&#xff09;三、存在的问题与隐患&#xff08;报错提示&#xff09;&#xff08;1&#xff09;s中只有右括号&#xff0c;无…...

Unity 渲染流程管线

渲染流程图可以把它理解为一个流程&#xff0c;就是我们告诉GPU一堆数据&#xff0c;最后得出来一副二维图像&#xff0c;而这些数据就包括了”视点、三维物体、光源、照明模型、纹理”等元素。参考如下图(来自视频)CPU应用阶段剔除视锥剔除由Unity依据Camera直接完成&#xff…...

c++之引用

目录 引用的概念 引用做函数参数 引用的本质 常引用 引用的概念 在c中新增加了引用的概念&#xff0c;引用可以看作一个已定义变量的别名。 引用的语法&#xff1a;Type &name var; int main() {int a 10;int &b a;printf("b%d\n", b);printf(&quo…...

Java-扑克牌的创建以及发放

Java-扑克牌的创建以及发放题目&#xff1a;创建一个扑克牌(不需要包含大小王)&#xff0c;分别分发给3个人&#xff0c;一个人发5张牌&#xff0c;输出结果要求包含全套牌(52张牌)&#xff0c;以及3个人各自的牌的花色以及数字。1.扑克牌的源代码2.扑克牌运行结果3.扑克牌代码…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

pam_env.so模块配置解析

在PAM&#xff08;Pluggable Authentication Modules&#xff09;配置中&#xff0c; /etc/pam.d/su 文件相关配置含义如下&#xff1a; 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块&#xff0c;负责验证用户身份&am…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。

1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj&#xff0c;再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 思路 右视图是指从树的右侧看&#xff0c;对于每一层&#xff0c;只能看到该层最右边的节点。实现思路是&#xff1a; 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S &#xff08;client/server 客户端/服务器&#xff09;&#xff1a;由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序&#xff0c;负责提供用户界面和交互逻辑 &#xff0c;接收用户输入&#xff0c;向服务器发送请求&#xff0c;并展示服务…...

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要&#xff1a; 近期&#xff0c;在使用较新版本的OpenSSH客户端连接老旧SSH服务器时&#xff0c;会遇到 "no matching key exchange method found"​, "n…...

深度学习水论文:mamba+图像增强

&#x1f9c0;当前视觉领域对高效长序列建模需求激增&#xff0c;对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模&#xff0c;以及动态计算优势&#xff0c;在图像质量提升和细节恢复方面有难以替代的作用。 &#x1f9c0;因此短时间内&#xff0c;就有不…...