带你了解Python的重要性,就算做测试也要会Python

news2024/10/6 1:43:25

名字:阿玥的小东东

学习:Python、C/C++

主页链接:阿玥的小东东的博客_CSDN博客-python&&c++高级知识,过年必备,C/C++知识讲解领域博主

目录

人生苦短,我用 Python

在测试工作中用好 Python

进阶:用Python构建测试框架

大厂对测试工程师的要求

本期赠书


常规测试工作给人的印象,就是弄清楚软件功能,编写测试用例,验证功能,提交Bug报告,跑压力测试,等等。

这样看起来,测试人员好像确实不需要会做开发。

在软件行业早期,测试的工作主要就是验证软件功能,但自从进入互联网时代,需求快速变化成为常态,沿用传统做法已经不合时宜。

“测试左移”这一说法渐渐被大家熟知,它强调在开发的早期阶段就要有测试工作介入。因此,具备开发能力的测试工程师不仅能更好地理解程序的功能,还能协助编写自动化测试框架,这有助于保障产品质量,并推动开发进度。

因此,想要在测试的岗位上有所进步,在新的时代生存下去,测试工程师也要懂开发,掌握好Python可以使自己的测试工作如虎添翼。资深测试工程师胡通正是通过《测试工程师 Python 开发实战》一书告诉大家,如何在工作中用好 Python。

我们先从 Python 这门编程语言说起。

人生苦短,我用 Python

测试工程师为什么要首选Python作为开发语言呢?这要从Python的自身特性说起,概括来说,就是简单而强大

Python 能够轻松调用 C/C++ 代码库的特性,因此它的可扩展能力很强。在众多技术高手的贡献下,Python 的第三方库得到了极大的丰富。对于程序员来说,几乎不用发明轮子,需要的基础功能都能在库中找到,可以说是开箱即用。

对于测试工程师来说,掌握 Python 就是拥有了一座操作简单且火力强大的“军火库”。测试工程师能够尽可能地将精力从编程的细节中解脱,专注于解决测试工作中的问题。

接下来,我们看看怎样在测试工作中用好 Python。

在测试工作中用好 Python

看到这里,你可能会有一个疑问:

我要把Python学到什么程度,才能够在工作中用上它?

《测试工程师 Python 开发实战》给出了具体的建议:遵从“二八定律”,即不要想着把 Python 的所有语法特性都掌握了才投入实际工作。只要掌握了 20% 的关键知识,就可以上手干活了,大多数需求都能在这 20% 之内解决。在边学边干的过程中,逐渐领会另外 80% 的用法。

入门的第一步是将环境配置好。《测试工程师 Python 开发实战》详细叙述了在 Linux 与 Windows 下安装与配置 Python 的过程。IDE 工具则选择了最流行的 PyCharm,并讲解常用的功能与使用方法。更多基本语法介绍可以参看书中说明。

PyCharm 项目界面

在测试工作中经常要处理的任务包括日志分析、数据分析、文件处理等。本书作者结合自己实际工作经验,精心挑选了12项常用操作,放在了“常用百宝箱”中,测试工程师对于这些知识应当熟练掌握。

这12项操作分别是:自定义异常处理、日志处理、邮件处理、时间处理、多线程处理、Excel 处理、配置文件处理、正则表达式处理、命令行参数解析、with 正确使用、文件读写处理和序列化处理。

熟悉了基本操作,那就更上一层楼,看看作者在“高级百宝箱”里放了什么宝贝。作者认为在复杂分层的系统中会大量使用消息中间件、缓存和数据库系统。在测试中要验证数据的完整性与准确性,就一定要对这些系统进行操作,因此书中针对上述三类中间件给出了具体的操作示例。

这些示例针对的程序包括:消息中间件 Kafka 和 RabbitMQ;缓存中间件 MongoDB 和 Redis;数据库中间件 MySQL 和 SQLite。它们都是目前业界普遍使用的消息和存储类开源服务,测试工程师学会这些高级工具势必如虎添翼。

Python 学到这一步,已经是测试工程师里做开发的一把好手了,那还有更大的提升空间吗?我们再来看看测试工程师的 Python 开发进阶之路。

进阶:用Python构建测试框架

对于测试工程师来说,虽然不要求精通开发技术,但知识面一定要广泛。除了对软件本身的功能测试,还要学习其他领域的知识,包括性能分析、数据分析、网络安全等,这样才能全面考察并测试一个软件系统是否健壮可靠。

在工作中做好多领域的测试,要求测试工程师能够根据业务特点编写测试框架。当然,这对测试工程师的开发能力又提出了更高的要求,这不仅是做一个工具那么简单,而是要考虑全面,同时又不能为此投入太多时间。

《测试工程师 Python 开发实战》在“实战篇”中,为测试工程师构建自己的 Python 测试框架给出了很好的建议。总体来说,就是尽量在第三方库和开源组件的基础上实现定制化开发。

下面选取测试工作中最常见的接口测试,来说明构建一个自动化测试框架的方法。对于软件中使用到的所有接口,建立一个自动化的测试平台,可以满足迭代测试、统筹管理的要求。

自动化测试分层

书中使用 requests 库构建接口自动测试框架,讲解了 http 协议的知识点、requests 库的基本用法,以及序列化与反序列化的相关知识。

然后给出了一套轻量级接口自动化测试框架的工程案例,实现了从读取配置文件、读取测试用例、执行测试用例、记录测试结果,到生成 HTML 结果文件的完整过程。

同样,书中对音视频测试、自定义套接字测试、数据测试、性能测试,以及安全测试都给出了“基础知识 + 工具说明 + 代码实现”的完整说明。

这对于学习者的体验来说非常友好,测试工程师在编写自己的测试框架遇到问题时,都可以从这些案例中寻找答案。

大厂对测试工程师的要求

随着互联网企业对产品快速发布且质量稳定的严格要求,技术人员也要“多才多艺”才能发展得更好。开发工程师与测试工程师之间的技能相互重叠,一名优秀的工程师往往在这两方面都表现出色。

谷歌公司为了响应变化,很早就对测试工作进行了探索。他们专门设置了一个 SET(Software Engineers in Test,软件测试开发工程师)岗位,SET 严格按照开发技能要求招聘,工作内容是配合开发人员完成各项测试工作,包括用例评审、编写自动化测试工具等。

得益于对测试工作的变革,谷歌的软件质量也获得了飞速提升。所以目前国内大厂也对测试工程师的开发技能十分看重,大多数招聘资深测试工程师的岗位要求中,能做开发都是必备条件。

《测试工程师 Python 开发实战》为测试工程师提供了一个很好的参考,即学习并使用 Python 这门语言,在测试工作中能够快速实现各种复杂需求,并搭建起测试框架。

想要进大厂的测试工程师,赶紧把 Python 学起来吧。

—END—

本期赠书

截止日期:7月16日20:00

参与方式:点赞+收藏+评论:人生苦短,我用Python!!!

随机抽选多位幸运观众(大于等于5)

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

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

相关文章

mysql的各类索引

MySQL的索引分三类:单列索引(普通索引、唯一索引、主键索引)、多列索引(联合主键,组合索引)、全文索引 一、单列索引:一个索引只包含单个列,但一个表中可以有多个单列索引。 (1)普通索引(二级…

阿里巴巴最受欢迎的10本书,希望能帮助你开阔眼界

读书是一件充实生活、丰富精神的事情,世界是复杂的,我们可以从书中获得包罗万象的知识,精神体验从未有过的人生。 书荒?不存在的,好书互相分享才能发挥其最大的价值。我们在内部发起了一个“晒一本你在读的书”的活动…

MyBatis 中如何使用结果映射

MyBatis 中如何使用结果映射 MyBatis 是一个开源的 Java 持久化框架,它可以将数据库中的数据映射到 Java 对象中,并且使得 Java 对象可以非常方便地存储到数据库中。在 MyBatis 中,结果映射是一个非常重要的概念,它可以将 SQL 查…

List类详解【c++】

🐔博主码云 🐔博主主页 目录 🐓list简介🐓list使用🐤list构造函数🐤list迭代器🐤list capacity🐤list element access🐤list modifiers🐤list的迭代器失效 &a…

ETH-S7200-JM01以太网模块在纺机设备网络中应用成功案例分析

内容摘要 大家好,今天我们要为大家介绍一款神奇的设备——捷米特ETH-S7200-JM01以太网模块!它可以让西门子PLC200 CPU226拥有以太网通讯接口,实现数据采集和生产管理系统构建。你以为这就是它的全部功能?那你就大错特错了&#x…

【STM32MP135】修改10.1寸屏1280x800分辨率配置,解决fb_size过小导致运行崩溃

文件路径:u-boot-stm32mp-v2021.10-stm32mp1-r1/configs/stm32mp13_defconfig

官网下载idea历史版本

1.进入官网 官网下载地址:https://www.jetbrains.com.cn/idea/ 进入后是这样的,如下图: 2.点击【下载】按钮,进入下载页面 (上图中的两个地方的【下载】按钮是一样的)。 3.选择右下角的【其他版本】就可…

LayUI入门,以及介绍

一.LayUI基本情况 1.LayUI介绍 Layui(流行于 layui.com)是一款轻量级的前端UI框架,专注于提供简洁、易用、灵活的界面组件和交互体验。它基于HTML5和CSS3技术,采用模块化开发的思想,提供了丰富的UI组件、常用的工具函数…

FTP服务器使用及配置

vsftp安装配置 环境配置 服务端:CentOS 7.6 vsftpd 客户端:Windows 10 xftp 服务端 yum -y install epel-release.noarchyum -y install vsftpd* pam* db4*systemctl restart vsftpd#修改配置前备份文件 [rootnode1 ~]# cd /etc/vsftpd/ [rootnode1 vsftpd]# ls ftpusers …

Eclipse调整系统字体(亲测)

1. 打开eclipse的菜单栏windows->preferences 2. 选择General->Appearance->colors and fonts 3. 选择字号,Apply,ok 建议选择常规18号,这样对眼睛友好一些,不易太大太小 为了大家更好的学习交流,博主新建了v…

算法训练营第三十五天||860.柠檬水找零 ● 406.根据身高重建队列 ● 452. 用最少数量的箭引爆气球

860.柠檬水找零 这道题自己不看答案能自己做出来 class Solution { public:bool lemonadeChange(vector<int>& bills) {if(bills[0]10 || bills[0]20) return false;int fivenum 0;int tennum 0;int tewentynum 0;for(int i 0;i<bills.size();i){if(bills[…

Hyper-V 虚拟机安装Ubuntu

Hyper-V 是win自带的虚拟机软件&#xff0c; 免费 进入控制面板&#xff0c;启用功能 勾选Hyper-V 然后重启电脑 打开 Hyper-v快速创建 此处可能需要 science surf network&#xff0c;否则创建虚拟机按钮为灰色 选择合适的版本&#xff0c;点击右下角的创建虚拟机进行安装&a…

【云时代数据利器】奥威BI SaaS版:一键链接云星空,套用百张报表

SaaS模式可以有效加快部署、提高效率、降低成本、提高灵活性&#xff0c;因此广受欢迎。随着市场的需求以及SaaS模式的广为人知&#xff0c;SaaS BI正逐渐成为BI的未来趋势之一&#xff0c;正逐渐成为云时代数据分析利器。奥威BI SaaS版和金蝶云星空标准方案强强联合&#xff0…

C++学习 结构体

目录 结构体 结构体定义和使用 结构体数组 结构体指针 结构体嵌套结构体 结构体做函数的参数 结构体中const使用场景 结构体 结构体定义和使用 定义&#xff1a; 结构体属于用户自定义的数据类型&#xff0c;允许用户存储不同的数据类型。 语法&#xff1a; struct 结构体…

day4 qtqtqtc++

cppcpp ui代码 <?xml version"1.0" encoding"UTF-8"?> <ui version"4.0"><class>Widget</class><widget class"QWidget" name"Widget"><property name"geometry"><rec…

Linux--获取与杀死当前进程PID

获取当前进程的代码&#xff1a; #include <sys/types.h>pid_t idgetpid();//获取的是自己的进程PID 杀死当前进程的指令&#xff1a; kill -9 进程的PID 我要是kill -9 16865(-bash进程)&#xff0c;你会发现无论你输入clear、ls、还是vim...指令&#xff0c;都无…

云深处绝影四足机器人协议学习解析

绝影四足机器人通信协议学习解析 本学习文档介绍了云深处 绝影X20 四足机器人的通信协议&#xff0c;并对相关的通信机制和命令格式进行了简单的解析。该协议在机器人系统和上位机&#xff08;例如外部板卡或系统&#xff09;之间进行TCP通信时使用。 1. 协议端口号 在此协议…

定义一个派生自D1的D2类,并且在D2中覆盖pvf();建立一个D2类的对象并且调用f()、vf()、pvf()

运行代码&#xff1a; //定义一个派生自D1的D2类&#xff0c;并且在D2中覆盖pvf() //建立一个D2类的对象并且调用f()、vf()、pvf() #include"std_lib_facilities.h" //---------------------------------------------------------------------- //定义B1类。 class …

配置通过域名访问网站(NETBASE第七课)

1 DNS服务器 域名系统_百度百科 域名和与之相对应的IP地址转换的服务器 DNS&#xff08;Domain Name Server&#xff0c;域名服务器&#xff09;是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。DNS中保存了一张域名(domain name)和与之相对应的IP地…

通过GitHub Desktop,将本地项目上传到gitee上

介绍 这里主要介绍&#xff0c;通过 gitHub Desktop 软件&#xff0c;将本地的项目&#xff0c;上传到 gitee的仓库里&#xff08;这里仓库为新建的仓库&#xff0c;什么东西都没有&#xff09;。 这里主要介绍&#xff0c;仓库的新建方式&#xff0c;及本地代码上传到远端的操…