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

🍅 视频学习:文末有免费的配套视频可观看

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

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、场景法

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

同时,在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看。

【2024最新版】Python自动化测试15天从入门到精通,10个项目实战,允许白嫖。。。

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

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

相关文章

最新区块链论文速读--CCF A会议 ICSE 2024 共13篇 附pdf下载 (2/2)

Conference:International Conference on Software Engineering (ICSE) CCF level:CCF A Categories:Software Engineering/System Software/Programming Languages Year:2024 Num:13 第1~7篇区块链文章请点击此处…

电脑技巧:认识全能绘画软件Krita

目录 一、软件简介 二、软件功能 2.1 强大的画笔引擎 2.2专业色彩管理 2.3 多层编辑与管理 2.4 动画制作 三、软件特点 四、安装说明 五、使用技巧 六、快捷键大全 对于喜欢绘画的朋友来说,Krita 是一款不可多得的绘画工具,它具有开源、免费、…

基于CNN-RNN模型的验证码图片识别

基于CNN-RNN模型的验证码图片识别是一个在计算机视觉和自然语言处理领域的经典应用场景,特别适合处理复杂的验证码(如字符连成一条线的或扭曲的验证码)和序列数据。这个任务通常包括以下几个步骤: 数据预处理: 图像增强…

Android中球体碰撞代码分享-kotlin,入门版

* 可以产生形变,回弹的小球 * * 整个view的核心: * Scroller函数 * 1.调用scroller.public void startScroll(int startX, int startY, int dx, int dy, int duration); * 在指定时间范围内,startX,startY,会移动dx,dy距离 * * 2.然后调用:in…

RedHat9 | Mariadb数据库的配置与管理

一、实验环境 1、Mariadb数据库介绍 MariaDB数据库管理系统是一个开源的关系型数据库管理系统,与MySQL高度兼容,并提供了更多的功能和性能优化。 起源和背景 MariaDB是MySQL的一个分支,主要由开源社区维护。由MySQL的创始人Michael Widen…

体验亚马逊AIGC——Amazon Bedrock

前言 随着人工智能技术的不断发展,我们已经进入了一个全新的时代,即AI驱动的时代。在这个时代,人工智能已经逐渐成为我们生活中不可或缺的一部分,它可以帮助我们更好地处理各种复杂的问题,提高我们的工作效率&#xff…

UDP的组播发送与接收C语言测试和nc接收组播测试

组播这个东西&#xff0c;很多年前用过一次。本身的原理不复杂&#xff0c;未知的是使用的环境&#xff0c;受使用环境的影响有多大&#xff0c;还是那句废话&#xff0c;具体问题具体分析。 发送端代码multicast.c #include <stdio.h> #include <stdlib.h> #…

鸿蒙开发:【设置任务快照的图标和名称】

设置任务快照的图标和名称 设置任务快照的图标和名称是为了提高用户界面的可视化性和用户体验&#xff0c;以便更好地管理和跟踪应用程序中的任务和功能。通过为每个任务快照设置不同的图标和名称&#xff0c;可以更轻松地区分和识别每个任务的功能。 默认情况下任务快照的图…

python-pandas获取excel表中每个sheet的名称

安装 pandas 首先确保安装了 pandas 和 openpyxl&#xff08;用于处理 Excel 文件&#xff09; pip install pandas openpyxlimport pandas as pd 加载 Excel 文件 excel_file pd.ExcelFile(your_excel_file.xlsx)获取所有工作表的名称 sheet_names excel_file.sheet_na…

C++基础知识(八:STL标准库 Map和multimap )

Map C 标准模板库&#xff08;STL&#xff09;中的 map 容器是一种非常有用的关联容器&#xff0c;用于存储键值对&#xff08;key-value pairs&#xff09;。在 map 中&#xff0c;每个元素都由一个键和一个值组成&#xff0c;其中键是唯一的&#xff0c;而值则可以重复。 基…

vue3+el-plus对eleplus对el-table表格进行拖拽(使用sortablejs进行列拖拽和行拖拽):

先看看是不是你需要的&#xff1a; 表格行和列拖拽 如有对表格拖拽进行限制某列或某行不进行拖拽的需求&#xff0c;请点击&#xff1a; vue3ele-plussortableJs对el-table使用sortableJs插件对表格拖拽时限定某列或某行不允许拖拽-CSDN博客 如果你已实现拖拽需求&#xff0c…

mybatis中resultMap和resultType的区别

总结 基本映射 &#xff1a;&#xff08;resultType&#xff09;使用resultType进行输出映射&#xff0c;只有查询出来的列名和pojo中的属性名一致&#xff0c;该列才可以映射成功。&#xff08;数据库&#xff0c;实体&#xff0c;查询字段,这些全部都得一一对应&#xff09;…

编程入门:Visual Studio探秘之旅

编程入门&#xff1a;Visual Studio探秘之旅 步入编程的世界&#xff0c;选择一个合适的开发工具至关重要。Visual Studio&#xff0c;这款由微软推出的强大集成开发环境&#xff08;IDE&#xff09;&#xff0c;无疑是初学者的理想之选。它不仅提供了丰富的功能&#xff0c;还…

运算符分为哪几类?哪些运算符常用作判断?简述运算符的优先级

运算符包含6大类&#xff1a;算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三元&#xff08;目&#xff09;运算符。 逻辑运算符常用作布尔判断 typeof 运算符: typeof 运算符用于确定变量或表达式的数据类型&#xff0c;并返回一个表示类型的字符串。 typeof …

一文让你清晰了解医疗行业采购堡垒机的必要性

医疗行业&#xff0c;一个与大家息息相关的行业。随着医疗行业的快速发展和信息化建设的深入推进&#xff0c;传统网络安全防护手段已经难以满足现代医疗信息系统的安全需求&#xff0c;特别是在处理敏感的患者信息和保障医院内部数据安全方面。因此采购堡垒机是非常必要的。 堡…

ssm160基于Java技术的会员制度管理的商品营销系统的设计与实现+vue

商品营销系统计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本商品营销系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理…

【面试经典150题】【双指针】392. 判断子序列

题目链接 https://leetcode.cn/problems/is-subsequence/?envTypestudy-plan-v2&envIdtop-interview-150 题解思路 首先如果s的长度大于t的长度&#xff0c;那么s肯定不是t的子序列如果s的长度等于t的长度&#xff0c;那么st的情况下s才是t的子序列如果s的长度小于t的长…

单片机课设-基于单片机的电子时钟设计(仿真+代码+报告)

基于单片机的电子时钟设计 前言一、课设任务是什么?二、系统总体方案硬件设计2.1 系统硬件总体设计2.2 键盘电路设计2.3 DS1302实时时钟芯片电路设计2.4 复位电路2.5 LCD电路设计 三、软件设计3.1 主程序流程图3.2 主要程序设计代码3.3 修改时间函数3.4 扫描键盘函数 四、仿真…

Pytest 记录日志输出到控制台和写入文件

目录 自定义日志记录器和内置的日志记录器 项目代码 项目目录树 自定义日志记录器 函数源代码 pytest中定义和覆盖日志记录信息 使用cli定义Logging 使用pytest.ini定义Logging 修改单个测试级别的日志 日志输出的重要性不言而喻&#xff0c;不仅可以观测执行过程&…

纵深发力 持续推进,富格林平台发展势头喜人

自2024年2月1日正式上线以来,富格林互联网投融资平台已迅速崛起,吸引了业内专家学者的高度认可以及广大投资者的青睐。平台规模持续扩大,目前累计注册用户已超过10万人,总投资额突破50亿美元。这一卓越表现不仅体现了平台的稳健运营和出色的投资项目,也展示了其在互联网投融资领…