【软件测试】在我刚上岗时,资深测试给我的建议让我受益匪浅......

news2025/1/12 8:38:29

目录:导读

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


前言

建立测试基线
当我还是一个软件测试菜鸟时,前辈就一再强调:做软件测试一定要事前做好备份。因为采纳了这个忠告,让我在今后的测试工作中受益匪浅。

那么软件测试环境应该怎么备份,或者说怎么建立测试基线呢?
难道我们需要通过系统备份工具来备份我们的系统?
但这并不能完全备份测试环境。干脆打包备份整个测试环境所在的硬盘?
Oh,My GOD!
如果这样做了,那我能想象你向领导申请硬盘资源的情景有多美,而且这打包后还能还原回去吗?

虚拟化工具使这种要求变得非常容易。
我们只需要使用工具(如VMWare)把测试环境虚拟化,或者让测试环境在虚拟工具上搭建的系统中部署,当我们要建立测试基线时,仅需要对当前环境建立快照,就能完美地把测试环境基线化。

做测试基线有什么好处呢?
可能有以下几点:
1)方便版本的回溯,如新版发布后发现了重大的bug,通过回滚到前面测试基线,即历史版本测试环境的快照,我们能轻松地确认这个bug是什么时候引起的。
如果现在不能处理,我们需要把环境回滚到那个版本。

2)性能参数调优。每进行一次性能调优测试,可能会生成一大堆数据、文件、以及起用大堆的线程等。如中间件(Tomcat、Nginx)性能参数调优,一定要保证环境其他配置和状态都一致,只有当前调优的参数值不同。
而在搭建好测试环境时建立一个快照,让我们在下次调优时能快速还原到上次调优前的测试环境状态。

3)让测试数据轻松地实现重复使用。我们在做测试之前,通常都会做一些测试数据。如购物交易,需要在测试前建立一系列对应测试用例的商品(如单价大于多少的商品,库存量为0的商品等)。
那么在下次新版本测试时,我们想使用原来建好的测试数据该怎么办呢?
常见的做法是,备份我们的数据库。
当然,这也是个不错的主意。但是,如果能通过一键快照完成这项工作,那我可以考虑腾点时间放松下,喝杯咖啡了。

快速的部署测试环境
往往大的平台和应用,搭建测试环境是一件比较繁琐的事情。可能需要新搭建系统,配置系统参数,新建数据库,部署中间件(如nginx、tomcat等),导入数据,部署应用等。

然而,我们通过虚拟化工具把测试环境虚拟化,我们可能只需要在另一台机器上装下虚拟化工具,然后把虚拟化的测试环境文件拷贝过去就完成了新的测试环境部署。这是非常棒的体验,我们可以节约出大量的时间做更多有价值的事情。

以下这些情况这样做可能非常棒:
1)需要新部署一套环境,用于安全测或者做其他测试。
2)市场人员希望能马上能有一套独立的环境来熟悉软件功能时。

更多极端的测试
如果做一些极端的测试,如破坏性的测试时,可能会对服务器造成难以修复的损坏。

如:突然断电关机,通过漏洞使用木马、病毒等入侵应用服务器等。而如果我们的测试环境部署在虚拟化工具上,那我们可以畅快的尽情肆虐(好邪恶的感觉),从而找出更多的问题。哪怕我们的测试环境因此而遭到破坏,我们仅仅需要把它还原到上一个快照。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

纵使生活中存在着千千万万个困难,但也共存着许许多多的精彩与幸福,我们只有多去挖掘体会那些精彩与幸福,才会得到更多的快乐。

生于忧患,死于安乐。如果你想跨越自己目前的成就,就不能画地自限,而是要勇于接受挑战。对畏畏缩缩的人来说,真正的危险正在于不敢冒险!

为明天做准备的最好方法就是集中你所有智慧,所有的热忱,把今天的工作做得尽善尽美,这就是你能应付未来的唯一方法。

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

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

相关文章

BNB Chain对Zebec生态大力扶持,ZBC或继续登录一线平台

在行业早期开始,流支付赛道就已经具备了早期的轮廓,而在流支付协议Zebec Protocol出现后,该领域被推向了一个新的发展高度,并得到加密领域以及传统商业领域的高度关注。而随着生态的商业进展不断推进、生态不断壮大,Ze…

C++代码优化(1):条款1~4

"不要烟火不要星光,只要问问你内心的想法。" 本栏仅仅 由对《Effictive C》其中的一系列条款,掺杂着自己一些愚钝的理解而写的。 ---前言 条款01: 尽量以const、enum、inline 替换 #define 在谈及上述好几个关键字 与define宏定义的关系&…

Intel i226芯片4端口千兆以太网卡 2.5GPoE工业相机图像采集卡介绍

PCIe-8634图像采集卡是一款基于 Intel i226芯片高性能千兆工业级 PCIe*4 POE网卡,具有传输速度高、兼容性强、性能稳定的特点,可广泛主要应用于网络高清监控、无线覆盖、工业自动化等领域。 RJ45千兆网络采用4 k Intel226千兆网络芯片,支持10/100/1000/2500Mbps传输…

microservices 简介

油鹳视频 Microservices explained - the What, Why and How? https://www.youtube.com/watch?vrv4LlmLmVWk&t2s microservices 是一种软件体系结构, microservices architecture(微服务架构) 是与传统的 monolithic architecture(整体式架构,一体…

微信转盘抽奖小程序如何制作?

微信转盘抽奖小程序如何制作?大概需要多少钱? 价格方面,平台按年收费,一年1498至2498元。 明码标价,7天退款制度,随时退。 微信转盘抽奖小程序如何制作步骤: 1.进入第三方微信转盘抽奖小程序制作平台官…

计算机结构体系:指令调度与循环展开题型 (非凭感觉的方法详解)

文章目录题目初始分析1.确定所使用的各个寄存器的作用2.将循环体内容语句和控制语句分开3.找出每一条循环体内容指令的代价并排序4.找出每一条循环体控制指令的代价并排序5.基于贪婪算法的最优循环展开体系结构这门课程中,指令调度和循环展开可以说是课程最困难的地…

负载均衡反向代理下的webshell

负载均衡(Load Balance) 是一种廉价的扩容的方案,它的概念不是本文的重点,不知道的可以去查资料学习。实现负载均衡的方式有很多种,比如 DNS 方式、HTTP 重定向方式、IP 负载均衡方式、反向代理方式等等。 其中像 HTTP 重定向方式、DNS方式等…

BioPython ② | 面向对象编程Object Oriented Programming

BioPython ② | Python面向对象编程 题目要求 定义分子类(Molecule)作为基类,包含集合elements和weight作为其属性,用初始化函数,将elements初始化为空集,weight初始化为None;定义show_weight…

进阶 - Git的远程仓库

本篇文章,是基于我自用Windows(Win10)系统当做示例演示 Git的远程仓库 之前我们一直在探讨 Git 的一些命令,也提及了仓库的概念。如果只是在一个仓库里管理文件历史,Git 和 SVN 真没啥区别。 Git 是分布式版本控制系…

02 stata入门【计量经济学及stata应用】

安装:建议直接在微信搜索,很多公众号有安装包资源及下载教程 不同版本在基本功能上无较大差异,一般为SE,更为专业MP,只是在处理变量个数或容量等存在不同 界面 历史命令;结果窗口&命令窗口&#xff1b…

字节跳动岗位薪酬体系曝光,看完感叹:不服不行,想高薪还得是学这个。。。。

目录:导读 前言 01岗位职级 02岗位薪酬 03绩效考核与晋升 大厂软件测试岗经验分享 一、软件测试基础篇:2022版 二、MySQL篇:2022版 三、 Linux篇:2022版 四、 Web测试 五、接口测试 六、APP测试 七、性能测试 八、Se…

Nacos一些理解

下载Mysql //下载mysql docker pull mysql:5.7 //运行容器 docker run -p 3306:3306 --name mysql -v /home/mysql/log:/var/log/mysql -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORDxx -d mysql:5.7 将导入数据库 1.新建数据库 nacos /*Navicat Premiu…

HyperMesh宝典 | 跟着老师学,你也可以做好二次开发

说到二次开发,你的脑海里是不是浮现出了“码农”两个字?有人可能会问,码农又是什么? 你是不是觉得二次开发这种码农干的事情感觉起来也太困难了吧? 其实有时候二次开发真的很简单,懂一点二次开发会让你的工…

机器学习中的数学原理——多项式回归

这个专栏主要是用来分享一下我在机器学习中的学习笔记及一些感悟,也希望对你的学习有帮助哦!感兴趣的小伙伴欢迎私信或者评论区留言!这一篇就更新一下《白话机器学习中的数学——多项式回归》! 目录 一、什么多项式回归 二、算法…

Java#33(IO流)

目录 一.IO流 作用: (对于程序而言)用于读写数据(本地数据, 网络数据) 二.IO流体系 1.字节输出流 2.字节输入流 3.文件拷贝 3.字符集 字符流 字符输入流 字符输出流 缓冲流 转换流 序列化流 ​编辑反序列流 打印流 一.IO流 I: input O: output 流: 想流…

Linux下创建动态链接库与静态链接库

动态链接库 Linux下的动态链接库文件扩展名为so,可以用多个文件生成一个动态链接库。 在头文件中定义三个函数,三个函数分别于三个cpp文件中实现。 将三个cpp文件编译成动态库libdynamic.so -fPIC表示编译为位置独立的代码,如果不选择默…

使用YOLOv5练自己的数据集

说明 上次使用学习了如何运行yolov5检测自己的数据,这次学习yolov5如何训练自己的数据集 本次记录如何使用yolov5训练自己的数据集以及遇到报错解决方案 数据 使用数据:水果数据集 数据包含了png图片和相应的标注文件 切分数据 代码如下&#xff1…

[ vulhub漏洞复现篇 ] solr 远程命令执行(CVE-2019-0193)

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…

Kubernetes的基础概念

一、Kubernetes的介绍 用于自动部署、扩展和管理"容器化(containerized)应用程序"的开源系统 可以理解成K8S是负责自动化运维管理多个容器化程序(比如Docker)的集群,是一个生态极其丰富的容器编排框架工具 …

【现场问题】zookeeper的集群,其中两台起来了,但是另外一台就是起不来,或者起来也是standalone

zookeeper问题现象集群的配置zookeeper的启动以及状态查看问题报错点问题现象 1、总共三台机器,node92,node93,node94 其中node92做了拉起,但是node93(leader)和node94(follower)&a…