七分钟教会你如何编写一个合格的测试用例

news/2024/11/29 10:43:32/

在这里插入图片描述

1、测试用例编写依据

测试用例编写应严格根据PRD(产品说明书)

没有PRD应根据与客户的沟通和确认结果编写

开发的技术文档和流程图

2、测试用例的组成元素

【用例编号】测试用例的编号。

【用例等级】测试用例的重要级别,一般核心功能的用例登录即冒烟用例,非核心功能的测试用例但是使用频率高的级别是高,其次是中,使用频率不高功能要求低的级别是低。

【测试模块】一般可以分成功能,性能,安全,兼容,稳定性等。

【测试项目】用例的测试相关的主要功能名称。

【测试点】能够清晰表达测试用例的测试目的和关键测试要素。

【前提条件】需要描述测试所需要处于的外部环境和测试前测试对象及辅助对象所需要处于的状态和配置。需要保证在完成预置条件中所描述的状态和配置以及外部环境后,测试执行的正确性、一致性。

【操作步骤】为了达到测试用例的测试目的,所需要执行的操作;每个操作步骤对应一个预期结果。

【预期结果】针对测试用例的测试目的,测试步骤中操作后对应的预期输出状态。

【实际输出】根据测试用例操作的实际结果。

【结论】测试用例的测试结果,一般分为Pass,Fail,Block(暂时阻塞的功能),N/A(不需要的功能)。

【执行方式】选手动或者自动。

3、测试用例编写规则

1、用例名称要求

(1)包含测试模块和功能点,体现测试要点

(2)不要包括具体操作步骤

(3)简洁明了,一句话能描述出测试点,一般不超出15个字

2、用例重要性要求

(1)高,产品基本的核心功能验证,即关键路径的测试用例,包括最常执行的功能、基本流程的输入(正向流程+正向数据)

(2)中,产品非核心功能验证,包括界面数据有效性校验、默认值、边界值

(3)低,建议执行的测试用例,包括不常执行的功能、异常流程的输入以及异常数据的输入

3、前置条件

测试执行前需准备的相关操作,如测试数据、角色权限,或登入系统某页面等

4、测试步骤要求

(1)用例描述中不允许出现二义性语句

(2)操作和结果是一一对应的,但操作中不要包含结果的检查

(3)用例描述中不允许出现假设性词汇,比如:假如,或许,可能,…的时候等

(4)用例描述中不允许存在连词、介词,比如:而且,和,还(这种情况可以拆分为多个点)

(5)操作步骤描述清晰。如:在什么页面,点击什么链接或按钮;页面入口、链接、按钮名称都要写清楚

5、预期结果要求

(1)结果中只能包含结果,不能有步骤

(2)一个结果有多个检查点时,确保检查点完整

(3)原则上每个用例必需要有预期结果,结果不能为空

(4)结果涉及消息:需明确关键查看内容

(5)结果涉及页面,需明确页面提示结果、数据变化

(6)结果对应不同输入数据有差别时需分别对应描述清晰

(7)结果含需要验证的所有结果输出,如页面检查、存储检查、消息检查等

(8)结果涉及存储:需明确关键值变化、数据库具体的表和关键字字段值变化

4、测试用例设计方法

1、等价类

等价类划分法是把所有可能输入的数据,即程序的输入域划分策划国内若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。

例如:

我们要测试一个用户名是否合法,用户名的定义:8位数字组成的字符。
我们可以先划分子集:空用户名,1-7位数字,8位数字,9位或以上数字,非数字。
然后从每个子集选出若干个有代表性的值:
空用户名:“” (无效等价类实例,指对于软件规格说明而言,没有意义的、不合理的输入)
1-7位数字:“234” (无效等价类实例)
8位数字:“00000000” (有效等价类实例,能检验程序是否实现了规格说明中所规定的功能和性能)
9位或以上数字:“1234567890” (无效等价类实例)
非数字:“abc&!!!” (无效等价类实例)

2、边界值

边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。

例如:

假定 X 为整数,10≤X≤100,那么 X 在测试中应该取的边界值为:10,11,99,100。
注:上面只是说边界值,如果是完整的测试,除了边界值外,还需要一个正常值,即12-98之间的任意值。

3、因果图

因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。

4、判定表

判定表是分析和表达多逻辑条件下执行不同操作的情况的工具。

5、正交分解法

从大量的(实验)数据(测试例)中挑选适量的,有代表性的点(例),从而合理地安排实验(测试)的一种科学实验设计方法。

6、错误推测法

基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。

7、场景法

现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。


资源分享【这份资料必须领取~】

下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

在这里插入图片描述

在这里插入图片描述


http://www.ppmy.cn/news/3989.html

相关文章

HTML人物介绍、个人设计web前端大作业、贝聿铭人物介绍(带报告3000字)

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

【Vue脚手架】总结笔记

脚手架文件结构 ├── node_modules ├── public │ ├── favicon.ico: 页签图标 │ └── index.html: 主页面 ├── src │ ├── assets: 存放静态资源 │ │ └── logo.png │ │── component: 存放组件 │ │ └── HelloWorld.vue │ │…

8年软件测试工程师感悟—我亲身经历的2022年软件质量工作

这两天和朋友谈到软件测试的发展,其实软件测试已经在不知不觉中发生了非常大的改变,前几年的软件测试行业还是一个风口,随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业,目前软件测试行业“缺口”已经基本饱和。当然&a…

RTOS概念及线程的引入

目录 RTOS的概念 用人来类比单片机程序和RTOS 程序简单示例 提出问题 RTOS的概念 用人来类比单片机程序和RTOS 妈妈要一边给小孩喂饭,一边加班跟同事微信交流,怎么办? 对于单线条的人,不能分心、不能同时做事,她只…

【java】java JSR 269 自定义注解实战 Lombok @Data注解

1.概述 本节会演示一个实际的例子,使用JSR 269 API为类中的字段自动生成get、set 方法。首先定义一个自定义注解类Data,如下所示。 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import

项目里接入了MQ消息中间件以后,我摸鱼的时间更长了~

V-xin:ruyuanhadeng获得600页原创精品文章汇总PDF 一、前情回顾 之前给大家聊了一下,面试时如果遇到消息中间件这个话题,面试官上来可能问的两个问题: 你们的系统架构中为什么要引入消息中间件?系统架构中引入消息中…

点云中点法向量,点拟合的直线,点拟合的平面

点云中点法向量 计算步骤: 找到点pi相邻点集合S所有点Vi,然后去中心化,并构造协方差矩阵,公式如下: 二维点云该点曲率计算方法: 三维点云该点曲率计算方法: 最小特征值对应的特征向量就是点的法向量 Eigen::Vector2d ComputeNormal(std::v…

S3 Drive支持以及FIPS 140-2兼容性

S3 Drive支持以及FIPS 140-2兼容性 在Windows Arm64上运行-添加了在Microsoft Windows for Arm64上的功能。无需额外下载,安装程序将为您的系统选择正确的驱动程序和库。 现在符合FIPS 140-2。 现在,您可以使用新的CacheOnlyFiles设置阻止上载临时(或其他…