【测试基础】05-测试用例【核心重点】

1. 什么是测试用例

我们之前学习了在需求分析中已经搞懂了这个项目的逻辑,同时呢,我们已经通过xmind为项目提取出了一些测试点(这个项目有哪些东西是需要我去验证的);那下一步我们每个测试点怎么去测?用什么样的数据去测?应该有什么样的结果?这个环节就是我们本期要说的测试用例。

1.1 定义

测试用例也称为test case,他是为项目需求而制定的,一组测试输入执行条件以及预期结果,以便测试某个程序是否满足客户需求。可以总结为测试用例是每一个测试点(我们以前说过测试点怎么写的)的数据设计步骤设计

或者说它是对每个测试点进行数据及步骤设计的文档,包括数据输入、执行条件以及预期结果(结合需要应该是什么样的)。

补充:

  • 预期结果:就是结合需求应该是怎样的结果?
  • 实际结果:就是我们对被测软件进行执行实际测试得到的结果。

比如我们需求分析:手机的摄像头是3个(预期结果),我们去执行测试,实际的结果只有2个摄像头(实际结果)。

1.2 目的

主要就是为了验证程序是否与需求一致。

1.3 编写测试用例的工具是什么?

  • excel
  • xmind

2. 测试用例包含哪些内容【模版】

2.1 用例编号

用例编号的特点,编号必须是唯一的。

格式

  • 项目名称_编号
  • 项目名称_测试阶段(IT/ST/UAT)_测试项_编号

IT:指的是单元测试

ST:指的是系统测试

UAT:指的是验收测试

例如:

XX项目系统_ST_登录_001 或者 XX项目系统_001 或者 001

2.2 模块

什么是模块:模块是为了处理某一个事务对应的所有功能的集合。

测试项与模块的关系: 一个模块包含多个测试项。

补充:一个项目包括多个模块

2.3 用例标题

目的:用的标题是概括你测试的目的的,一般情况必须要言简意骇,标题不能太长。

这个标题怎么去概括怎么去起这个标题呢?如果你不知道就看下述技巧
编写的技巧 :输入+结果【使用你输入什么得到什么结果来作为他的目的】

比如我们的测试点:用户名与密码正确点击登录按钮,进入系统首页。

用例编号 模块 标题
xxx电商系统_ST_001 【属于】用户管理模块 (目的)验证登录成功/输出正确的用户名和密码,登录成功

2.4 用例级别

  • 高1:主要核心业务功能、冒烟用例
  • 中2:错误异常的测试点
  • 低3:兼容性(浏览器或者操作系统的兼容)、界面错误

2.5 预置条件

什么是预置条件:就是执行当前用例的时候,我需要做什么特殊的前提准备(比如什么环境/测试数据等)

注意:我们在一般情况下是不需要去填写这个预置条件的。
什么情况下需要填写这个预置条件?:就是需要做特殊准备的情况下。

当你不知道要不要写的时候,你先别写,把其他的写完再回来看。

比如我们上边的测试点,我们必须得是用户名和密码都存在,才能登录成功,这就是我们的预置条件。

用例编号 模块 标题 预置条件
xxx电商系统_ST_001 【属于】用户管理模块 (目的)验证登录成功/输出正确的用户名和密码,登录成功 存在于注册账号用户名admin密码admin

2.6 测试步骤

测试步骤包含什么?怎么写?

包含

具体数据+操作步骤

格式

  1. 路径:将从哪个地方入口进来找到被测的测试项
  2. 输入什么样的数据
  3. 动作:你会做什么样的操作

例如:测试点:用户名与密码正确点击新增功能

用例编号 模块 标题 预置条件 测试步骤
xxx电商系统_ST_001 【属于】用户管理模块 (目的)验证新增成功/输出正确的用户名和密码,新增成功 1、[用户管理]>用户列表,点击[新增] 2、输入用户名:admin 密码:admin3、点击[登录]

2.7 预期结果

预期结果就是按照操作步骤,应该有什么样的结果【该结果应该与用户需求一致】

编写格式:参考测试步骤

  • 多对一:多个步骤对应一个结果【常用,因为简单】
  • 一对一:一个步骤对应一个结果

对于多对一:

对于1对1:

2.8 实际结果

实际结果就是我们执行的测试结果。

执行的测试结果一般会有以下几个内容

  • pass通过:用例测试通过(预期结果和实际结果一致)
  • failed不通过:用例测试不通过(预期结果与实际结果不一致)
  • 阻塞:用例没法执行

你在写测试用例的时候,这个实际结果是不需要去写的,这个实际结果是在测试执行之后才去写的。


软件上线标准

测试覆盖率

测试覆盖率是由我们的测试人员控制的,测试的覆盖率越高越好,理想状态是趋向100%。

  • 我们测试点覆盖率达到100%,是(在需求分析阶段),我们尽可能把所有的测试点都给找出来。
  • 我们将测试点提取出来之后,每一个测试点用什么样的方法来测,怎么去测,就是通过我们编写测试用例去完成,测试点覆盖率要100%,那这里就涉及到测试用例的覆盖率100%(在我们是用例设计阶段)。
  • 那上述测试点的覆盖率,测试用例的覆盖率都只是制定,都没有去具体的做,那接下来如何将所有点都进行一个具体的验证,我们就进入测试执行覆盖率100%(用例执行阶段)。

我们影响覆盖率的核心是在于需求分析阶段的测试点覆盖率,他是前提。

bug遗留率

理想状态尽可能找出所有的bug,尽可能把所有的bug修复好。但是有时候我们会遗留一些bug到下一个版本继续修复或者暂时修复不了。

所以

bug遗留率=遗留的bug 除以 bug的总数

bug的遗留率是由我们的开发控制的


那么疑问:一个用户名的输入框,我们既要去测试符合要求的用户名,又要去测不符合要求的用户用户名。这样我们上述说测试覆盖率要达到100%,那么是不是要把所有的可能都给列出来,去进行无穷测?

但事实上并不是这样的,此时我们该怎么去测呢?也就是说用较少的测试次数,能够保证我们的覆盖率高,这个就是下期要提到的测试用例的方法,那么下一期我们先介绍测试用例设计方法之等价类。

最后如果觉得这篇知识的整理对你有帮助,别忘了
👍 点赞
⭐ 收藏
👀 关注

相关推荐
姚青&3 小时前
Pytest 测试用例生命周期管理-自动注册(conftest.py)
测试用例·pytest
姚青&4 小时前
Pytest 测试用例生命周期管理-自动生效(autouse)
测试用例·pytest
姚青&4 小时前
Pytest 测试用例执行顺序自定义 Pytest-ordering
测试用例·pytest
姚青&8 小时前
Pytest 测试用例并行运行与分布式运行
分布式·测试用例·pytest
念越8 小时前
第十七届蓝桥杯软件测试模拟赛1期题目及解析
蓝桥杯·测试用例·测试
twc8299 小时前
需求条目化与RAG:让大模型生成测试用例真正可用的两把钥匙
软件测试·大模型·测试用例·rag
奋斗中的小猩猩3 天前
Test Case Generator / AI 测试用例生成器(多Agent组合,效果可观)
人工智能·测试用例