当前位置: 首页 > news >正文

在阿里干了2年的测试,总结出来的划水经验

测试新人

我的职业生涯开始和大多数测试人一样,开始接触都是纯功能界面测试。那时候在一家电商公司做测试,做了一段时间,熟悉产品的业务流程以及熟练测试工作流程规范之后,效率提高了,工作比较轻松,这样我就有充足的时间学习各种测试技术和工具。

当你认为工作很闲的时候,这正是你可以有更多的时间投入学习的时候,但是,学习的内容一定要基于自己的工作来,这样才能把学来的技术变成工作经验。

选择Python

最初用的是Java语言,学习各种自动化测试技术,当时觉得自动化测试特别有意思,而且挺有趣,激发了我浓厚的兴趣。后来发现Python语言越来越火,而且我发现Python来做自动化和对于编程基础比较薄弱的测试工程师来说特别的合适,Python还能用来爬虫,用Python还能写一些定时脚本,数据库脚本,效率非常高。

用Python语言和Selenium来尝试做自动化测试。那时,关于Python版的Selenium并不多,在学习的同时我开始发表相关博客。

交流是学习新技术的驱动力,大多数时候我们很难坚持学一个新技术的原因就在于缺少了反馈,不管是做内部分享或者是社群交流都是很好的反馈机制。

2014年的时候,由于项目的原因,开始使用Robot Framework测试框架,正因为有Python的基础,所以很快就理解了Robot Framework框架的工作原理,并可以根据项目的需要开发系统关键字。

掌握自动化工具的原理使用起来才会更加游刃有余,而这也需要你有一定的编程基础的原因。

2015年随着移动App越来越流行,趁着换工作的间隙,我开始学习了一个月的appium自动化工具,但工作中用不到后来就没在继续了。

后来,我开始针对另一个社区项目编写Web UI自动化测试,前后做了好几个月,积累了一些经验,开始尝试设计Web自动化框架,当时主要还是针对Selenium API的封装。

自动化测试

当时由于公司的规模和产品的局限性,导致自动化测试始终未能应用到公司实战项目中。我觉得外面的世界有更多机会,自动化已经流行而且越来越普及,我想要突破自己的测试技术瓶颈,我毅然决然的跳槽一家公司专职做自动化测试的工作。

后来的机缘巧合,朋友推荐我去一家金融公司做测试开发,负责开发公司定制化的测试质量平台。

这对于我来说是一个挑战,新的领域,测试开发在一线城市非常吃香。当时的待遇比初、中级开发工程师要高。

到岗后就是顶住压力,不断的系统学习测试开发技能,而且学以致用。技术架构采用的是前后端分享,包括Python的后端开发框架Flask,前端框架vue,elementUI组件等

坚持做了几年的测试开发,真实的体会到测试开发等于测试全周期的工作,包括产品功能业务熟悉,测试平台的需求设计,平台前后端研发,平台的自测,给到测试部门几十号人的推广、培训产品使用、运营。

所以测试开发的大前提是功能测试经验丰富,接口自动化,UI自动化非常熟练,不然很难以开展测试开发工作。

后面跳到了阿里,现在已经在阿里干了2年了,也总结了一些经验,我想说:如果你也在往自动化测试开发方向发展,在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,所以,我和朋友花了一段时间整理编写了下面的《软件测试工程师发展规划路线》,也整理了不少《教程资源》:

《软件测试工程师发展规划路线》

一、Linux必备知识

linux作为现在最流行的软件环境系统,一定需要掌握,目前的招聘要求都需要有linux能力。

二、Shell脚本

掌握shell脚本,包括shell基础与应用、shell逻辑控制、shell逻辑函数等。

三、互联网程序原理

自动化必由之路:前端开发基础知识以及互联网网络必备知识。

四、Mysql数据库

软件测试工程师必备Mysql数据库知识,不仅仅停留在基本的“增删改查”。

五、抓包工具

Fiddler、Wireshark、Sniffer、Tcpdump各种抓包工具适用于各种项目,总有一款适合你。

六、接口测试工具

接口测试神器,你绕不开的强大工具:Jmeter。小巧灵活:Postman。

七、Web自动化测试Java&Pyhton

了解自动化的目的,熟练掌握testng&unittest自动化框架,以及断言与日志处理。

八、接口自动化与手机自动化

专业接口调用、测试解决方案。组建完整的web和接口自动化框架,Appium整体使用。

九、敏捷测试&TestOps构建

揭开TestOps的神秘面纱,持续集成Jenkins框架烂熟于心。

十、性能测试&安全测试

软件测试的彼岸:性能测试和安全测试,选对方向,努力爬坑吧!


上面就是我为大家整理出来的一份软件测试工程师发展方向知识架构体系图。希望大家能照着这个体系在3-4年内完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。

《教程资源》

下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】

在这里插入图片描述

相关文章:

在阿里干了2年的测试,总结出来的划水经验

测试新人 我的职业生涯开始和大多数测试人一样,开始接触都是纯功能界面测试。那时候在一家电商公司做测试,做了一段时间,熟悉产品的业务流程以及熟练测试工作流程规范之后,效率提高了,工作比较轻松,这样我…...

硬盘分类及挂载硬盘知识补充和介绍

一、硬盘介绍Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘1.对于IDE硬盘,驱动器标识符为"hdx~",其中"hd"表明分区所在设备的类型,这里是指IDE硬盘了。"x"为盘号(a为基本盘,b为基…...

【MyBatis】自定义映射resultMap

8.1、resultMap处理字段和属性的映射关系 若字段名和实体类中的属性名不一致&#xff0c;则可以通过resultMap设置自定义映射 <!--resultMap&#xff1a;设置自定义映射属性&#xff1a;id&#xff1a;表示自定义映射的唯一标识type&#xff1a;查询的数据要映射的实体类的…...

mysql的锁和事务

mysql的锁 读写锁&#xff1a; 读锁是共享锁&#xff0c;多个用户在同一时刻可以读取同一资源&#xff0c;相互不受干扰写锁是排他锁&#xff0c;写锁会阻塞其他的写锁和读锁&#xff0c;这样可以确保在指定的时间内&#xff0c;只有一个用户可以写入 锁的颗粒度&#xff1a; …...

为什么B站中的弹幕可以不遮挡人物

上班逛B站时摸鱼时&#xff0c;看到了满屏的弹幕&#xff0c;而且还不挡脸&#xff0c;突然心血来潮来看看它是怎么实现的&#xff1f; 不难发现弹幕其实它就是有一个蒙版层div&#xff0c;遮挡在视频组件的上方&#xff0c;z-index层级设置的比较高&#xff08;这里是11&…...

数据结构 第八章 查找(静态查找表)

集合 1、集合中的数据元素除了属于同一集合外,没有任何的逻辑关系 2、在集合中,每个数据元素都有一个区别于其他元素的唯一标识(键值或者关键字值) 3、集合的运算&#xff1a; 1 查找某一元素是否存在(内部查找、外部查找) 2 将集合中的元素按照它的唯一标识进行排序4、集合的…...

【Python基础】数据类型(元组、列表)

文章目录二. 数据类型2.1 元组 tuple2.1.1 定义特性2.1.2 拼接拷贝2.1.3 元组拆包2.1.4 元组方法 count2.2 列表 list2.2.1 基础定义2.2.2 增删操作2.2.3 连接联合2.2.4 其他常规操作2.2.5 列表推导式2.2.6 生成器表达式2.x 小结&#xff1a;何时使用元组或列表二. 数据类型 Py…...

你了解互联网APP搜索和推荐的背后逻辑么?

1.搜索和推荐无处不在我们习惯了百度、Google、360搜索的便捷&#xff0c;输入你想要搜索的关键词&#xff0c;立马呈现给你一批对应的结果&#xff0c;供你筛选。我们也经常上淘宝、京东、拼多多购物&#xff0c;输入想买的商品&#xff0c;瞬间列出一页一页的商品清单供我们选…...

Bug的级别,按照什么划分

Bug分类和定级一、bug的定义二、bug的类型三、bug的等级四、bug的优先级一、bug的定义一般是指不满足用户需求的则可以认为是bug&#xff0c;狭义指软件程序的漏洞或缺陷&#xff0c;广义指测试工程师或用户提出的软件可改进的细节、或与需求文档存在差异的功能实现等对应三个测…...

微服务项目简介

项目简介 项目模式 电商模式&#xff1a;市面上有5种常见的电商模式&#xff0c;B2B、B2C、 C2B、 C2C、O2O; 1、B2B模式 B2B (Business to Business)&#xff0c;是指 商家与商家建立的商业关系。如:阿里巴巴 2、B2C 模式 B2C (Business to Consumer), 就是我们经常看到的供…...

SLAM中坐标轴旋转及ros的接口解释

读完几个loam算法&#xff0c;满篇的坐标轴旋转&#xff0c;还是手写的(作者&#xff0c;用eigen写不好嘛。。。)&#xff0c;我滴天适应了好久…&#xff0c;今天就总结一下坐标轴旋转问题。 一、首先&#xff0c;我们看一下ros中关于欧拉角旋转的函数&#xff1a;setRPY、set…...

文件管理(9)

文件管理 0 引言 为什么要引入文件系统&#xff1f; 信息管理的需要&#xff1a;用户面前提供一种规格化的机制&#xff0c;方便用户对文件的存取、提高效率。操作系统本身需要–操作系统本身也不是常驻内存的&#xff0c;也有大量的信息需要存于外存。 1 文件定义 文件&a…...

PyTorch学习笔记:nn.TripletMarginLoss——三元组损失

PyTorch学习笔记&#xff1a;nn.TripletMarginLoss——三元组损失 torch.nn.TripletMarginLoss(margin1.0, p2.0, eps1e-06, swapFalse, size_averageNone, reduceNone, reductionmean)功能&#xff1a;创建一个三元组损失函数(triplet loss)&#xff0c;用于衡量输入数据x1,x…...

冒泡排序详解

冒泡排序是初学C语言的噩梦&#xff0c;也是数据结构中排序的重要组成部分&#xff0c;本章内容我们一起探讨冒泡排序&#xff0c;从理论到代码实现&#xff0c;一步步深入了解冒泡排序。排序算法作为较简单的算法。它重复地走访过要排序的数列&#xff0c;一次比较两个元素&am…...

git极快上手指南超级精简版

注&#xff1a;本文参考https://www.liaoxuefeng.com/wiki/896043488029600 原文非常值得一读&#xff0c;作者学识渊博&#xff0c;补充了很多有意思的知识。我仅仅是拾人牙慧。 git是最先进的分布式版本控制系统。 版本控制系统——自动记录系统中文件的改动情况&#xff0…...

蓝桥杯-最长公共子序列(线性dp)

没有白走的路&#xff0c;每一步都算数&#x1f388;&#x1f388;&#x1f388; 题目描述&#xff1a; 已知有两个数组a,b。已知每个数组的长度。要求求出两个数组的最长公共子序列 序列 1 2 3 4 5 序列 2 3 2 1 4 5 子序列&#xff1a;从其中抽掉某个或多个元素而产生的新…...

GO的并发模式Context

GO的并发模式Context 文章目录GO的并发模式Context一、介绍二、Context三、context的衍生四、示例&#xff1a;Google Web Search4.1 server程序4.2 userip 包4.3 google 包五、使用context包中程序实体实现sync.WaitGroup同样的功能&#xff08;1&#xff09;使用sync.WaitGro…...

《Redis实战篇》六、秒杀优化

6、秒杀优化 6.0 压力测试 目的&#xff1a;测试1000个用户抢购优惠券时秒杀功能的并发性能~ ①数据库中创建1000用户 这里推荐使用开源工具&#xff1a;https://www.sqlfather.com/ &#xff0c;导入以下配置即可一键生成模拟数据 {"dbName":"hmdp",…...

《C++ Primer Plus》第16章:string类和标准模板库(11)

其他库 C 还提供了其他一些类库&#xff0c;它们比本章讨论前面的例子更为专用。例如&#xff0c;头文件 complex 为复数提供了类模板 complex&#xff0c;包含用于 float、long 和 long double 的具体化。这个类提供了标准的复数运算及能够处理复数的标准函数。C11 新增的头文…...

声明和定义

前言 很多编程语言的语法中都有关于声明和定义的概念&#xff0c;这种概念一般会应用于函数或变量的创建和使用中&#xff0c;但是为什么要这么做&#xff1f; 以C语言为例&#xff0c;一些书籍或教程会要求读者在程序文件开头写上函数和变量的声明&#xff0c;然后再在后面对…...

DiffBIR实战:用Stable Diffusion 2.1修复模糊老照片(附完整配置流程)

DiffBIR实战&#xff1a;用Stable Diffusion 2.1修复模糊老照片&#xff08;附完整配置流程&#xff09; 翻开泛黄的相册&#xff0c;那些承载着珍贵记忆的老照片往往因年代久远而变得模糊、褪色甚至破损。传统修复方法需要专业设计师耗费数小时手动修复&#xff0c;而如今&…...

如何用ImageGlass替代Windows默认图片查看器:90+格式支持的完整指南

如何用ImageGlass替代Windows默认图片查看器&#xff1a;90格式支持的完整指南 【免费下载链接】ImageGlass &#x1f3de; A lightweight, versatile image viewer 项目地址: https://gitcode.com/gh_mirrors/im/ImageGlass 在Windows系统中寻找一款能够完美替代默认图…...

Python 序列化实战指南:性能开销剖析、格式取舍与API/RPC协议优化

Python 序列化实战指南&#xff1a;性能开销剖析、格式取舍与API/RPC协议优化 &#x1f4cc; 为什么序列化开销值得每位Python开发者关注&#xff1f; Python作为“胶水语言”&#xff0c;从1991年诞生至今&#xff0c;已成为Web开发、数据科学、AI和自动化领域的绝对主力。其…...

H5扫码功能实战:如何在微信和原生浏览器中实现二维码解析(附完整代码)

H5扫码功能实战&#xff1a;如何在微信和原生浏览器中实现二维码解析 移动互联网时代&#xff0c;二维码已成为连接线上线下最重要的入口之一。作为前端开发者&#xff0c;我们经常需要在H5页面中实现扫码功能&#xff0c;但不同环境下的兼容性问题往往让人头疼。本文将深入探讨…...

OpenClaw+GLM-4.7-Flash:个人财务管理自动化实践

OpenClawGLM-4.7-Flash&#xff1a;个人财务管理自动化实践 1. 为什么需要自动化财务管理 每个月末&#xff0c;我都会面对一堆散乱的电子账单和银行流水。手动整理这些数据不仅耗时&#xff0c;还容易出错。直到我发现OpenClaw与GLM-4.7-Flash的组合&#xff0c;才真正实现了…...

Pixel Dream Workshop一文详解:基于diffusers的FluxPipeline定制部署

Pixel Dream Workshop一文详解&#xff1a;基于diffusers的FluxPipeline定制部署 1. 像素幻梦创意工坊概述 Pixel Dream Workshop&#xff08;像素幻梦创意工坊&#xff09;是一款专为像素艺术创作设计的AI生成工具&#xff0c;基于最新的FLUX.1-dev扩散模型构建。与传统AI绘…...

5步搭建DeepSeek-OCR服务:从部署到调用完整教程

5步搭建DeepSeek-OCR服务&#xff1a;从部署到调用完整教程 1. 引言&#xff1a;为什么选择DeepSeek-OCR 1.1 OCR技术的实际应用场景 在日常工作和生活中&#xff0c;我们经常遇到需要从图片中提取文字的场景。比如&#xff1a; 扫描的合同或发票需要转为可编辑文本手机拍摄…...

从标定板到生产线:OpenCV实战工业相机畸变校正全流程

1. 工业相机畸变&#xff1a;产线精度杀手的前世今生 第一次在产线上看到相机拍出来的零件尺寸和实物差了0.5毫米时&#xff0c;我盯着屏幕愣了三分钟——这个误差足以让整个自动化装配线变成废品生产线。工业相机的畸变就像近视眼没戴眼镜&#xff0c;看到的物体位置和形状都…...

反激式电源设计避坑指南:如何优化5V/2A方案的EMI和效率

反激式电源设计避坑指南&#xff1a;如何优化5V/2A方案的EMI和效率 在中小功率电源设计中&#xff0c;反激式拓扑凭借结构简单、成本低廉的优势占据主流地位。但当工程师面对5V/2A这类常见规格时&#xff0c;往往会陷入效率卡在65%难以提升、EMI测试屡次失败的困境。本文将从实…...

卷积神经网络原理与Baichuan-M2-32B医疗图像识别实战

卷积神经网络原理与Baichuan-M2-32B医疗图像识别实战 1. 引言 医疗图像识别一直是人工智能领域的重要应用方向。传统的图像识别方法往往需要大量的人工特征工程&#xff0c;而卷积神经网络的出现彻底改变了这一局面。今天&#xff0c;我们将深入探讨卷积神经网络的核心原理&a…...