你真的会写用例吗?自动化测试用例如何编写?看着资深测试的总结...

news2024/11/26 0:50:38

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

Python自动化测试:https://www.bilibili.com/video/BV16G411x76E/

万物皆对象

学过java或python的同学应该都知道这句话吧,没错,在我们设计自动化测试用例的时候也需要这个理念。

编写用例的过程与其他开发人员的编码工作没有什么本质上的区别,也别指望用例脚本可以一次性的编写到位,脚本大多数都是需要一次又一次的优化,起初写的效率低一点也没关系,我们先确保可以跑通,复用性和健壮性可以稍微差点。

但是跑通之后,我们就应该着眼于性能方面,如果用的python,跑几条用例是完全没有问题的,因为python是动态语言,变量指向对象的时候编译器无法做任何预测,另外加上他本身是解释执行,所以是在跑大量测试用例的情况下,一定会出现运行周期时间长与意外报错的情况出现。

此时提高代码的性能就成为了重中之重,算法时间复杂度的优化、内置方法的合理使用、避免全局变量、减少循环等等都可以为我们的代码提供相应的性能提升。

业务强关联

自动化测试用例内的业务关联性会很强。
其实我们从其本质形态来考虑的话也就能探究一二,它需要解决的本来就是一些功能稳定、业务路径明确的正向测试场景,测试用例脚本不可能只操作某个业务界面中的某一个功能,这样就太浪费了。

一般来说测试脚本都需要覆盖某一个正常业务的整条流程,这样我们才可以在其运行的过程中,加入自己所需的各类断言,来验证多条用例中的测试预期结果。

另外由于和黑盒测试用例的本质不同,也就更好的印证了自动化测试用例可以快速进行业务验证与归回、冒烟。


【[Python自动化测试交流壹】:743262921


正向场景

对于自动化测试来说,最恐怖的情形就是将所有的正向、逆向测试场景一股脑的塞进自动化测试框架。

有些人会本能的认为既然是自动化执行,为什么不可以执行逆向测试用例呢?只要设计好合适的参数、编写进测试用例真的就万无一失了吗?

其实逆向测试场景与测试用例被适合放入自动化测试的原因就在于它本身的不确定性,这种不确定性会影响自动化测试的最终运行结果。

做过自动化测试的同学都知道,对于执行自动化测试来说真正可怕的不是逆向测试用例,而是那种不知道什么时候就会报错的测试场景和用例,而这种测试用例的所在场景,绝大多数会出现在逆向测试场景中。

我们要知道自动化测试不是帮测试人员把什么事情都干了。所以针对功能稳定、需求变动不多的正向测试场景,我们可以放心的将自动化测试投入其中,但逆向的测试场景就不建议如此操作了。

一般来说自动化测试主要覆盖产品的主体happy path即可,无需设计过多的逆向场景在其中,影响自动化测试活动的稳定性。

不要忘记了,自动化测试的主要作用还是让我们的测试人员从繁杂重复的测试工作中脱离出来,把精力投入更重要、更复杂的模块和业务测试中去。

多场景构建

这里的多场景构建理念是希望可以充分的利用自动化测试的优势,以更少的运行次数来尽可能的覆盖更多的测试场景。

举个例子,一个自动化测试脚本中存在多条测试用例,那么我们在设计用例的过程中需要充分的利用脚本中的业务界面,来进行多个场景的组合构建。

诸如CRM,我们都会在客户信息界面中验证客户的各类信息、增删改查操作,而这些操作如果可能尽量放在页面的一次性操作中,除非和后面的业务有强关联(后续操作的必要数据),否则基本都是按照这个原则。

这也就是上面说的尽量在一遍中将可以验证的业务场景组合在一起,而非跑多轮同样的业务线却只是验证的测试点不同。

独立测试功能点

这个也很好理解,和黑盒测试用例没有区别,虽然脚本里会设计某个页面当前整体的线性业务操作,但是我们仍旧要确保好每条自动化测试用例中只验证一个功能点,切不可图方便把一条用例中放入多个功能点进行确认。

这时一定有人会问,我多放几个断言不就可以进行多功能确认了吗?

其实这个观点是违背了测试用例设计的初衷的,多个断言自然可以判断多个功能点,但大家试想一下,一条测试用例中有多个验证点是否会让用例本身的步骤变多,且无法拆解,这个和写黑盒测试用例不一样的地方就在于你的代码是无法独立拆解出来的。

那么接下来的问题就是同样是测试用例,是一堆组合后的测试用例复用度高?还是独立测试功能点的用例复用度高?

大家都不用细想,答案就已经很明显了。就好比是乐高积木,如果需要你设计一座城堡,是一整块不规则形状的大积木好还是一小块一小块规整的小积木好?

在日常工作中,我们的自动化测试也不是只要设计相关的功能测试点即可的,这里还包括了相关的一些测试数据操作。那么测试数据的前后置操作也就理所当然的变成了设计测试用例中必须的步骤之一了。

一般来说我们会把需要生成的测试数据提前的放入某个独立的测试用例内进行预先创建,这个称为前置操作,其实也就是我们所说的前提条件。

而同样的,我们在执行完某些操作或业务流之后,也可以将这些测试数据进行回收、删除,这被称为后置操作。这样我们就可以时刻保证我们的测试环境可以重复的进行同样的测试用例而不会担心环境或数据等因素发生改变。

市场主流配套自动化测试框架
接口自动化测试:Python+requests+pytest+yaml+alluer+Jenkins;
web自动化测试:Python+selenium4+pytest+POM+allure+Jenkins;
app自动化测试:Python+appium+POM+pytest+allure+Jenkins;

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只有拥有不断前行的勇气,才能实现自己的梦想。每一步脚印都是迈向成功的必经之路。坚持不懈、努力奋斗,终将收获美好的人生。相信自己,你一定能成为最好的自己!

只有拥有不懈的努力和坚定的信念,才能获得自己想要的一切。无论你现在身处何种困境中,只要不放弃奋斗,勇往直前,最终必将收获成功与幸福。

世界上没有捷径可走,只有不断努力奋斗才能获得成功。坚持梦想,持之以恒;勇敢面对挑战,超越自我。每一步的努力都将成就未来的辉煌,加油!

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

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

相关文章

Rocky9配置固定IP

vim /etc/NetworkManager/system-connections/enp4s0.nmconnection[ipv4] methodmanual # 子网掩码为 255.255.254.0 address1192.168.1.207/23,192.168.1.1 # 如果子网掩码为 255.255.255.0 则使用下面配置 # address1192.168.1.207/24,192.168.1.1 dns192.168.1.200;45.116.2…

Springcloud--异步通信RabbitMq

RabbitMQ 1.初识MQ 1.1.同步和异步通讯 微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,需要实时响应。 异步通讯:就像发邮件,不需要马上回复。 两种方式各有优劣,打电话可以立即得到响应&am…

全网对BGP团体属性讲的最透彻的一篇,附华为、思科、瞻博网络三厂商配置!

你好,这里是网络技术联盟站。 Border Gateway Protocol(边界网关协议,简称BGP)是一种广泛用于互联网的路由选择协议。BGP的设计目标是实现自治系统(AS)之间的路由选择和交换,它决定了网络中数据…

性能测试loadrunner

目录 基本概念 性能工具jemeter代码调试 loadrunner实战代码笔记 使用Loadrunner的步骤 性能指标分析结果 基本概念 一、什么是性能: 性能:是用来描述产品除功能外的所具有的速度,效率和能力的综合能力评价。 二、什么是性能测试&…

【马蹄集】第十四周作业

第十四周作业 目录 MT2134 泡泡MT2135 调整队伍MT2141 快排变形MT2142 逆序MT2143 线段树 MT2134 泡泡 难度:黄金    时间限制:1秒    占用内存:128M 题目描述 小码哥小时候喜欢吹泡泡,有一次他吹出了 n n n 个一样小的泡泡&…

工业无监督缺陷检测,提升缺陷检测能力,解决缺陷样品少、不平衡等问题

1. 简介 在工业生产中,质量保证是一个很重要的话题, 因此在生产中细小的缺陷需要被可靠的检出。工业异常检出旨在从正常的样本中检测异常的、有缺陷的情况。工业异常检测主要面临的挑战: 难以获取大量异常样本正常样本和异常样本差异较小异常的类型不能预先得知这些挑战使得…

Linux Tomcat服务 【Tomcat-JVM-系统内核】 优化

---------------------Tomcat 优化------------------------- Tomcat默认安装下的缺省配置并不适合生产环境,它可能会频繁出现假死现象需要重启,只有通过不断压测优化才能让它最高效率稳定的运行。优化主要包括三方面,分别为操作系统优化&…

智能电表价格比机械电表价格高那么多?为什么?

智能电表是一种电子式电表,采用微处理器进行数据处理和控制,具有远程监控、数据传输、电量显示等多种功能。而机械电表则是传统的机械式电表,采用旋转式或弹簧式机械结构进行计量。 智能电表的价格比机械电表高,这主要是由于以下几…

【每日挠头算法题(1)】——旋转字符串|亲密字符串

文章目录 一、旋转字符串思路1思路2 二、亲密字符串思路 总结 一、旋转字符串 点我直达终点~ 思路1 前提:如果s串和goal串长度不等,则goal串不可能是s串旋转得来,直接返回false; 通过观察,可以发现每旋转一次&#…

HCIA-流量管理方案

目录 ACL访问控制列表 ACL分类: ACL的工作原理: ACL的组成: 规则编号: 通配符 ACL的匹配机制 ACL的匹配位置 基本ACL的部署与配置 基本ACL的配置命令 基本ACL案列 高级ACL 高级ACL的创建命令 高级ACL案例 ACL访问控制列表…

安卓大作业:使用Android Studio开发天气预报APP(使用sqlite数据库)

使用Android Studio开发天气预报APP 今天我来分享一下如何使用Android Studio开发一个天气预报APP。在文中,我们将使用第三方接口获取实时天气数据,并显示在APP界面上。 步骤一:创建新项目 首先,打开Android Studio并创建一个新…

串口屏自制电脑机箱监控副屏-HF035

前言 如果程序员配电脑要干点什么酷酷的事情的话,那就自己DIY一个机箱监控副屏吧。监控副屏在某宝最便宜也要上百块,本文介绍了怎么使用成本几十块的串口屏模块从0开始完成一个酷炫的机箱监控副屏。主要是软件编程较多,仅涉及到一点硬件知识&…

在迷茫之中找到职业发展的方向!软件测试人员的迷茫

目录 出现迷茫或焦虑的原因是什么? 1、敏捷和DevOps开发模式的推行 2、测试的天花板比较低,自己上升的空间比较小 3、35岁是一个门槛,许多人也担心到了这个年龄 4、测试工作被机器人替代 如何走出迷茫? 1、坚守现在的测试岗位&am…

解决鞋业管理难题:低代码平台的应用与实践

如今,低代码平台正在逐渐发展成为一个重要的系统开发方式。与传统的编码方式相比,低代码平台更加注重“可视化”和“快速开发”。在这种情况下,低代码平台的应用范围也在不断拓展。在鞋业管理中,低代码平台也逐渐成为一种重要的技…

从小白到大神之路之学习运维第34天---第三阶段---mysql数据库之优化数据库、数据库备份、win10客户端连接

第三阶段基础 时 间:2023年6月6日 参加人:全班人员 内 容: Mysql数据库 目录 前提环境配置 优化 MySQL 数据库备份 Win10客户端连接 前提环境配置 关闭防火墙 (systemtl stop firewalld、iptables -F、setenforce 0)…

Linux线程互斥与同步

目录 🍑一、线程互斥 1.1、进程线程间互斥相关背景概念 1.2、互斥量mutex 1.3、互斥量的接口 1.4、互斥量使用 1.5、互斥量实现原理探究 1.6、RAII风格的设计加锁 1.7、可重入VS线程安全 🍑二、常见锁概念 2.1、死锁 🍑三、Linux线…

HTML 标签的学习

1.HTML 的结构 前端三剑客: HTML CSS JS,本章我们学习的是HTML HTML > 超文本标记语言 HTML代码是由"标签"构成的. 形如 <body>hello</body>标签名 (body) 放到 < > 中大部分标签成对出现. 为开始标签, 为结束标签.少数标签只有开始标签…

Windows系统图标混乱(丢失)

1. 进入文件夹选项设置显示隐藏系统文件 2. &#xff08; Win7&#xff09;进入 C:\\Users\\%username%\\AppData\\Local 删除&#xff1a;IconCache.db (Win10/Win8.1) 进入 C:\\Users\\%username%\\AppData\\Local\\Microsoft\\Windows\\Explorer\\ 删除一系列iconcache…

网络协议——STP协议是什么?是如何实现的?

作者&#xff1a;Insist-- 个人主页&#xff1a;insist--个人主页 作者会持续更新网络知识和python基础知识&#xff0c;期待你的关注 目录 一、STP协议是什么 二、为什么需要STP协议 三、STP的实现过程 ​编辑 1、选举跟桥 2、给非跟桥交换机选举跟端口 3、给每个网段选…

高性能计算究竟是不是好的职业方向?

你只恍惚听人说高性能计算小众&#xff0c;你却不知道前因后果 你只仿佛听人说高性能计算很难&#xff0c;你却不曾尝试过并行 你只知道国内高性能计算就业机会不算很多&#xff0c;你却不知道国外早已如火如荼 你不知道自己的路怎么走&#xff0c;却忘记该看看别人的路怎么…