这可能是你少有的能get到测试用例编写精髓的机会!

news2025/2/25 15:42:32

自动化测试用例的编写是实现项目自动化的核心,合理的用例设计是保证自动化效益和实用性的关键,也直接决定了自动化脚本是否具备可扩展和可维护性。由此,本篇文章主要为大家介绍了测试用例编写的规范和注意事项。

一、自动化测试用例选择

自动化测试主要应用于基础功能的验证和回归,对于在项目迭代过程中不断修改的功能来说,手工测试的效率是大大高于自动化测试的。因此,我们在进行自动化之前,要挑选基础功能来进行自动化。在这个过程中,我们可以从手工测试用例中进行挑选,也可以专门为自动化编写一套用例。

在自动化初期,建议从手工测试用例中进行挑选。一方面手工测试用例的覆盖度最为全面,可以保证测试的全面性;另一方面,也会提高测试效率。我们挑选用例的原则是:清晰、简单、基础、改动小的功能。

二、自动化测试用例编写

挑选完合适的用例之后,就是通过代码编写自动化用例的过程。这个过程主要包括数据预置、用例编写和用例后置三个步骤。

1、数据预置

在进行用例编写之前,我们需要准备一些数据,保证用例能够真正的执行起来。比如,我们在测试一个网页登录功能,我们需要系统的URL参数、需要一个可以登录的用户名和密码;我们需要测试删除文件的功能,就需要提前上传一个文件,这个文件可以提前预置,也可以在执行删除操作之前,执行一个上传操作;通过哪种方式预置数据,需要根据项目的实际情况选择。我们将数据预置和用例编写分开是为了减少用例之间的耦合度,保证上一个用例执行的结果不会对下一条用例产生影响。此外,有利于用例的维护和修改。

2、用例编写

我们准备好测试数据后,就要开始自动化用例的编写,在编写过程中需要注意以下几个方面:

熟悉业务。自动化测试是为了业务系统服务的,只有充分的了解业务,明确如何将手工测试用例通过自动化实现,才能保证用例质量。

使用变量。通常,我们需要将变量统一管理,写入配置文件,这样方便统一修改。例如:我们需要测试一个业务系统,这个系统包含测试环境和生产环境,我们需要将自动化脚本灵活的适用于每个环境,这个时候,我们就需要将url等系统参数写入配置文件,方便修改和迁移。

写明操作过程。在编写操作过程时,代码注释必不可少。每一步都是怎么操作的,需要验证什么功能。

设置检查点。在编写测试用例的过程中,需要设置合理的检查点,添加断言,判断用例是否执行成功。在用例执行后,将预期结果和实际结果进行对比,输出测试结果,明确功能是否执行成功,是自动化测试的关键。不添加断言的用例执行,是没有任何意义的。

3、用例后置

用例后置时指用例执行完成之后的操作,与数据预置相对应,是为了自动化能够循环执行。比如:我们需要测试文件上传功能,在用例执行通过之后,需要将文件删除,便于下一次自动执行。

此外,我们应该在用例后置之后进行一些合理的检查,比如上个步骤中,我们如果删除文件失败的话,依然会影响下一次的操作。因此,我们需要结合项目实际情况,对一些核心文件进行检查,保证自动化的顺利执行。

三、用例编写规范

在用例编写过程中,我们需要遵守一些规范来提高用例质量。主要包括:连续性、独立性、完整性、可重用性、可维护性和逻辑分块。

1、连续性

保证用例之间的连续性,保证用例可以批量执行。比如,我们在进行UI自动化时,要保证上一个操作之后进入下一个操作的执行界面。

2、独立性

用例之间要相互独立,保证上一个用例的执行结果不会对下一个用例的执行产生影响。这样,才能更清楚的定位到问题。此外,需要保证一个用例的执行不会修改到下一个用例的数据。

3、完整性

每一个用例都需要有数据准备、操作过程,断言和用例后置的全部过程,能够根据用例明确具体的测试内容。

4、可重用性

类似于开发的公共代码,我们要抽象出自动化测试的原子操作,提供给其他用例调用,这样可以减少开发成本

5、可维护性

用例名要清晰,做到见名知意;对每个步骤、每个变量添加明确的注释;对哪些是预置数据、哪些是检查项、预期结果都有明确的说明;用例步骤要简单明了

6、逻辑分块

根据一定的规则进行逻辑分块(例如可以根据不同功能划分),保证逻辑块的独立性,可以抽出单个功能用例进行验证

最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们 如果需要可以自行免费领取 【保证100%免费】
在这里插 入图片描述

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

如何在宝塔面板中设置FTP文件传输服务并实现远程文件管理

文章目录 1. Linux安装Cpolar2. 创建FTP公网地址3. 宝塔FTP服务设置4. FTP服务远程连接小结 5. 固定FTP公网地址6. 固定FTP地址连接 宝塔FTP是宝塔面板中的一项功能,用于设置和管理FTP服务。通过宝塔FTP,用户可以创建FTP账号,配置FTP用户权限…

APRISO的低代码能力降低MOM系统全生命周期成本

前言 进入21世纪以来企业之间的竞争发生了巨大的变化,特别是近10年来,客户对产品的需求逐渐多样化,制造企业的生产模式也开始由大批量的刚性生产变为了多品种、小批量的柔性生产模式,生产线也从以前的手工方式转为了以自动化的机…

【软考高项】【计算专题】- 6 - 成本类 - 挣值管理

目录 一、知识点 1、基础概念 1.1 教材定义 1.2 理解方式 方式一:使用公式理解 方式二:使用语言描述 2、总结 2.1 三个参数 2.2 四个指标 2.3 其他关键参数 二、真题举例 高级2014年下半年案例分析试题 【问题1】 【问题2】 【问题3】 一…

将任何网页变成桌面应用,全平台支持 | 开源日报 No.184

tw93/Pake Stars: 20.9k License: MIT Pake 是利用 Rust 轻松构建轻量级多端桌面应用的工具。 与 Electron 包大小相比几乎小了 20 倍(约 5M!)使用 Rust Tauri,Pake 比基于 JS 的框架更轻量和更快内置功能包括快捷方式传递、沉浸…

【Python 数据分析 实战案例】通过用户和订单的数据分析,制定营销策略

在互联网行业中,电子商务领域绝对是数据分析用途最多的地方,各大电商平台都依赖数据分析帮助其挖掘用户订单增长机会。比如某宝的随手买一件,核心思路也就是根据用户的日常浏览内容及停留时间,以及订单的关联度来进行推荐的。 本…

秒杀小程序怎么做_尽享指尖上的超值优惠!

秒杀小程序:掀起购物狂潮,尽享指尖上的超值优惠! 在当下数字化、信息化的社会里,购物方式也在不断地变革和升级。其中,秒杀小程序以其独特的魅力和便捷性,逐渐成为了众多消费者热衷的购物渠道。那么&#…

1854034-70-0,Bis-Sulfone-PEG4-DBCO,能够与蛋白质上的多组氨酸缀合

您好,欢迎来到新研之家 文章关键词:1854034-70-0,Bis-Sulfone-PEG4-DBCO,双巯基磺酸四聚乙二醇二苯基环辛炔 一、基本信息 【产品简介】:Bis Sulfone PEG4 DBCO contains disulfide groups, which gives it a uniqu…

SI522一款兼容RC522/FM17522 开发资料

SI522 是应用于13.56MHz 非接触式通信中高集成度读写卡系列芯片中的一员。是NXP 公司针对"三表"应用推出的一款低 电压、低成本、体积小的非接触式读写卡芯片,是智能仪表和便携 式手持设备研发的较好选择。 SI522利用了先进的调制和解调概念,完…

【Qt学习】多元素控件:QListWidget、QTableWidget 的介绍与使用

文章目录 1. QListWidget1.1 介绍1.2 使用 - 如何添加项目1.3 实例1.4 资源文件 2. QTableWidget2.1 介绍2.2 使用 - 添加项目的方式2.3 实例2.4 资源文件 3. QTreeWidget3.1 介绍3.2 使用 - 添加数据的方式3.3 实例3.4 资源文件 1. QListWidget 1.1 介绍 QListWidget 是 Qt …

【粉丝福利第一期】小 明

Q1 - 能否自我介绍下? 嗨,大家好,我是 小 明 (小明java问道之路),互联网大厂后端研发专家,2022博客之星TOP3/博客专家/CSDN后端内容合伙人、InfoQ(极客时间)签约作者、阿里云签约博主、全网5万…

CentOS7如何使用Docker部署Wiki.Js知识库并实现公网远程访问?

文章目录 1. 安装Docker2. 获取Wiki.js镜像3. 本地服务器打开Wiki.js并添加知识库内容4. 实现公网访问Wiki.js5. 固定Wiki.js公网地址 不管是在企业中还是在自己的个人知识整理上,我们都需要通过某种方式来有条理的组织相应的知识架构,那么一个好的知识整…

请你画出一个微服务项目架构图

第一种 架构图 第二种 架构图

第四十五回 病关索大闹翠屏山 拚命三火烧祝家店-Python函数接受任意关键字参数

官府得到上报,被杀死的僧人是报恩寺的裴如海,旁边的头陀是寺后面的人叫胡道。孔目说他们两个互相杀死,没有其他人什么事,这件事也就过去了。 杨雄听说了这件事,知道是石秀干的,找石秀为自己错怪他道歉。两…

杭电OJ 2030 汉字统计 C++

#include <string> #include <iostream> using namespace std; int main() { int n; string s; cin >> n; getchar(); while (n--) { getline(cin, s); //读取一行 int count 0; for (int i 0; i < s.len…

鸿蒙Harmony应用开发—ArkTS声明式开发(触摸事件)

当手指在组件上按下、滑动、抬起时触发。 说明&#xff1a; 从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 onTouch onTouch(event: (event: TouchEvent) > void) 手指触摸动作触发该回调。 卡片能力&#xff1a; 从…

如何在Linux使用Docker部署Nexus容器并实现公网访问本地仓库【内网穿透】

文章目录 1. Docker安装Nexus2. 本地访问Nexus3. Linux安装Cpolar4. 配置Nexus界面公网地址5. 远程访问 Nexus界面6. 固定Nexus公网地址7. 固定地址访问Nexus Nexus是一个仓库管理工具&#xff0c;用于管理和组织软件构建过程中的依赖项和构件。它与Maven密切相关&#xff0c;可…

正向代理的反爬虫与防DDoS攻击:保护网站免受恶意行为

目录 前言 一、正向代理的原理 二、正向代理的反爬虫功能 1. IP地址隐藏 2. 请求多样化 三、正向代理的防DDoS攻击功能 1. 均衡负载 2. IP过滤 结论 前言 在当前互联网环境下&#xff0c;网站常常受到各种恶意行为的侵袭&#xff0c;其中包括爬虫和DDoS攻击。这些行为…

GEE:基于Landsat5/7/8/9数据提取一个点的NDVI时间序列(1986-2024)

作者:CSDN @ _养乐多_ 本文将介绍,基于Landsat5/7/8/9数据提取一个点的NDVI时间序列,时间序列数据可以是1986-2024年所有可用数据,也可以是月度合成、年度合成或者指定间隔合成的时间序列。 结果如下图所示, 文章目录 一、代码框架二、代码链接三、完整代码一、代码框架…

【JavaEE进阶】 Spring AOP详解

文章目录 &#x1f38b;前言&#x1f38d;Spring AOP核心概念&#x1f6a9;切点(Pointcut)&#x1f6a9;连接点(Join Point)&#x1f6a9;通知(Advice)&#x1f6a9;切面(Aspect) &#x1f340;通知类型&#x1f6a9;注意事项 &#x1f332;PointCut&#x1f384;切面优先级Ord…

使用分布式锁解决分布式环境下的并发安全问题

分布式锁 分布式锁的基本概念 在我们进行单机应用开发&#xff0c;涉及并发同步的时候&#xff0c;我们往往采用synchronized或者Lock的方式来解决多线程间的代码同步问题&#xff0c;这时多线程的运行都是在同一个JVM之下。但当我们的应用是分布式集群工作的情况下&#xff…