使用Python编写自动化测试代码规范整理

news2024/9/24 9:24:43

        大家好,我们平时在写自动化测试脚本或者性能测试脚本时,需要注意代码规范,提高代码的可读性与维护性,之前给大家分享过pycharm的两个插件,大家可以参考:Pycharm代码规范与代码格式化插件安装

        本文中主要从自动化测试代码与性能测试代码的功能性、可读性、维护性和版本控制出发,和大家一起探讨一下规范与需要注意的点,希望能给大家带来一点帮助。

一、代码功能性

1、测试用例的准确性: 

1)确保测试用例的执行期望结果是正确的,并且与实际预期功能一致。
2)测试用例应该覆盖预期的各种场景。

2、测试用例的隔离性:

1)确保测试用例之间相互隔离,以防止一个测试用例的失败影响其他用例的执行。

3、步骤清晰程度:

1)确保测试用例的执行步骤清晰、详细,能够被其他人容易理解、维护和执行。

4、测试用例的断言与验证:

1)确保测试用例中的断言和验证机制正确,并且能够准确地判断测试是否通过。
2)断言应该与预期结果相匹配。

5、测试数据管理:

1)检查测试数据的来源和测试数据管理方法。
2)确保测试用例能够在不同环境中正确执行。

6、测试用例的边界条件:

1)确保测试用例涵盖了边界条件,例如测试参数的最大、最小和临界值。

7、异常情况与稳定性:

1)确保测试用例包含了对预期异常情况的处理,例如错误输入、无效数据或异常状态等。
2)确保系统在异常情况下能够适当地处理,不会崩溃或产生非预期后果。

二、可读性与可维护性

1、命名规范:

1)确保变量、函数、类和测试用例的命名清晰明了,并且语义命名,能够准确地反映其功能和目的。

2、代码注释: 

1)在关键逻辑或者步骤添加注释,解释代码的逻辑、用途、特殊情况等。
2)注释需要简洁明了,不宜过多或者过少。

3、代码缩进与格式化:

1)检查测试代码是否符合团队的编码规范和风格,统一代码缩进和格式化以提高代码的可读性。
2)确保代码块的缩进正确,代码对齐整齐。

4、函数与方法分解:

1)将长函数或方法拆分尽可能为更小、更简洁的功能单元。
2)每个函数或方法应该专注于一个特定的任务或逻辑。

5、重复代码:

1)检查是否有重复的代码块,需要将其提取为可复用的函数、类或模块,以减少代码冗余,降低代码重复率。

6、模块化和可复用性:

1)检查测试代码是否具有良好的模块化结构,便于测试用例可以被复用、维护和管理。

7、代码复杂度:

1)避免过于复杂的逻辑结构,保持代码的简洁性,这样其他人在阅读代码时能够更容易理解代码逻辑。

8、文档与说明:

1)提供适当的文档,解释代码的结构、用途、依赖关系等,便于其他人维护和快速上手。

三、版本控制

1、分支与版本号:

1)在重要的发布点上使用标签和版本号,以便随时能够回滚到特定版本的代码。

分支标签:

feat:新增feature

fix:修复bug

docs:仅仅修改了文档,比如 README、CHANGELOG等等

style:仅仅修改了空格、格式缩进、逗号等等,不改变代码逻辑

refactor:代码重构,没有加新功能或者修复 bug

perf:优化相关,比如提升性能、体验

test:测试用例,包括单元测试、集成测试等

chore:改变构建流程、或者增加依赖库、工具等

revert:回滚版本

2、提交信息:

1)编写实际代码改动功能的提交信息,说明提交的更改内容,便于其他人理解此次代码变更的目的。

3、频繁提交:

1)鼓励团队频繁提交代码,而不是等到所有工作都完成后再一次性提交。
2)减小每次提交的规模,更容易跟踪代码变更。

4、代码冲突:

1)在代码合并时,需要将最新的master或者main分支合并到自己的分支,并且处理出现的代码冲突。
2)存在代码冲突时,无法进行分支合并。

5、忽略文件:

1)确保提交的代码变更或者其他内容中忽略不必要的临时文件、构建产物等,便于保持代码仓库的整洁性。

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

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

相关文章

突破销量瓶颈:亚马逊,速卖通,国际站销量提升实战技巧

1、精心选品:选品是亚马逊销售的第一步,也是至关重要的一步。卖家应该进行市场调研,了解消费者的需求和喜好,选择有市场潜力的产品。要注意产品的差异化,避免与竞争对手的产品过于相似。 2、优化产品详情页&#xff1…

BERT模型的网络结构解析 运行案例分析

整体结构 第一部分:嵌入层第二部分:编码层第三部分:输出层 对于一个m分类任务,输入n个词作为一次数据,单个批次输入t个数据,在BERT模型的不同部分,数据的形状信息如下: 注1&#x…

(ARM-Linux) ORACLE JDK 22 的下载安装及环境变量的配置

目录 获取JDK 安装JDK 配置JAVA环境变量 其他补充:JDK 22的新特征 1. 语法 2. 库 3. 性能 4. 工具 在今年的3月份,ORACLE 更新了的JDK 发行版 JDK 22,作为了一位ORACLE Primavera系列产品的研究者,其实对JDK的迭代完全不感…

信创基础软件之操作系统

操作系统概述 操作系统是计算机系统软硬件资源的纽带。操作系统是连接硬件和数据库、中间件、应用软件的纽带,是承载各种信息设备和软件应用的重要基础软件。操作系统控制和管理整个计算机系统的硬件、软件资源,组织和调度计算机工作和资源,…

linux部署java1.8(java17)

两种方式: 方式一 1.输入查找命令: yum -y list java*2.输入安装命令: yum install -y java-1.8.0-openjdk.x86_643.测试是否已经安装: java -version方式二: 点击链接进入官网:https://www.oracle.com/…

五一反向旅游,景区“AI+视频监控”将持续助力旅游业发展

一、建设背景 每年五一劳动节出去旅游都是人挤人状态,这导致景区的体验感极差。今年“五一反向旅游”的话题冲上了热搜,好多人选择了五一之后再出去旅游,避开拥挤的人群,这个时候景区的监管力度和感知能力就更要跟上去&#xff0…

前端 | 经典代办框实现(喵喵大王ver)

文章目录 📚实现效果📚模块实现解析🐇html🐇css🐇javascript 📚实现效果 输入框输入,点击Submit按钮提交,下方显示 设置事项上限6条(按照条数设置限制,默认每…

go-mysql-transfer 同步数据到es

同步数据需要注意的事项 前提条件 1 要同步的mysql 表必须包含主键 2 mysql binlog 必须是row 模式 3 不支持程序运行过程中修改表结构 4 要赋予连接mysql 账号的权限 reload, replication super 权限 如果是root 权限则不需要 安装 go-mysql-transfer ​ git clone…

MySQL从入门到高级 --- 5.DQL基本操作

文章目录 第五章:5.基本操作 - DQL5.1 运算符逻辑运算符位运算符算术运算符 5.2 条件查询5.3 排序查询5.4聚合查询5.4.1 聚合查询-NULL值处理 5.5 分组查询 - group by5.5.1 条件筛选 - having5.6 分页查询 - limit5.7 INSERT INTO SELECT 语句5.8 练习5.9 正则表达…

服务器端优化-Redis内存划分和内存配置

6、服务器端优化-Redis内存划分和内存配置 当Redis内存不足时,可能导致Key频繁被删除、响应时间变长、QPS不稳定等问题。当内存使用率达到90%以上时就需要我们警惕,并快速定位到内存占用的原因。 有关碎片问题分析 Redis底层分配并不是这个key有多大&…

单体服务-微服务-分布式 [三兄弟的区别]

大家好,我是晓星航。今天为大家带来的是 单体服务-微服务-分布式 [三兄弟的区别] 相关的讲解!😊 文章目录 1.单体服务1.1单体服务架构的基本介绍1.2单体服务的优缺点 2.微服务2.1微服务架构的基本介绍2.2微服务架构的优缺点 3.分布式4.三兄弟…

OpenCV4.9去运动模糊滤镜(68)

返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV4.9失焦去模糊滤镜(67) 下一篇:OpenCV如何通过梯度结构张量进行各向异性图像分割(69) 目标 在本教程中,您将学习: 运动模糊图像的 PSF 是多少如何恢复运动…

SQLI-labs-第十五关和第十六关

目录 知识点: 第十五关 1、判断注入点 2、判断当前数据库 3、判断表名 4、判断字段名 5、爆值 第十六关 1、判断注入点 知识点: POST方式的时间盲注 对应的函数利用,可参考SQLI-labs-第九关和第十关_sqllab第十关-CSDN博客 第十五…

Pycharm的安装配置

pycharm的安装配置 1.pycharm的安装 pycharm进入官网下载即可:官网。 想下载老版本的点这里。 pycharm分为专业版和社区版,专业版只能免费30天过了就需要💴,社区版是开源的,功能没有专业版全面但是也差不多够用。 …

智慧水务-水源监控管理系统

通过物联网结合在线传感器,如液位、水质和视频,每一个水库的水位和降雨量,以及每个水源井的水位,泵站状态,流量和网站远程图像监控,现场提供准确和及时的信息,以确保适当的蓄水水库的防洪安全。…

新篇章!沃飞长空成为同中信海直签约的唯一中国eVTOL企业

随着城市地面交通的愈发拥堵,人们逐渐把目光投向天空。打个“空中的士”上班的城市空中出行场景,受到越来越多方的期待,相应的,eVTOL(飞行汽车)行业的相关投资与合作也愈发火热。 4月30日,国内领先的eVTOL&#xff08…

FX110网:新西兰FMA针对潜在的快速致富骗局发出警报

如果某件事听起来好得令人难以置信,那么它通常就是假的。根据新西兰金融市场监管机构FMA的说法,这种久经考验的真实市场说法可能适用于 Equity Budget,该公司承诺每天高达 7% 的“不切实际的回报”。此外,它缺乏适当的监管&#x…

[LitCTF 2023]Ping、[SWPUCTF 2021 新生赛]error、[NSSCTF 2022 Spring Recruit]babyphp

[LitCTF 2023]Ping 尝试ping一下127.0.0.1成功了,但要查看根目录时提示只能输入IP 查看源代码,这段JavaScript代码定义了一个名为check_ip的函数,用于验证输入是否为有效的IPv4地址。并且使用正则表达式re来匹配IPv4地址的格式。 对于这种写…

python(简单制作注册登录系统)

制作一个注册登录模块 注册:将用户填入的账户和密码保存到一个文件(users.bin) 登陆:将用户填入账户密码和users.bin中保存的账户密码进行比对,如果账户和密码完全相同 那么登录成功,否则登录失败。 分析: 注册部分--主要涉及到的…

图搜索算法 - 深度优先搜索法(DFS)

图搜索算法 图搜索算法也可以叫图的遍历,指从图上任意一个顶点出发,访问图上的所有顶点,而且只能访问一次。这和上一节树的遍历功能类似。但由于图没有层级结构,也没有类似树的根结点那样的特殊顶点,因此相对要复杂一…