做梦我都没想过,我会在软件测试行业一干就是10年【避坑指南】

这篇具有很好参考价值的文章主要介绍了做梦我都没想过,我会在软件测试行业一干就是10年【避坑指南】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我是14年毕业的,普通本科,计算机系也算是一个对口专业。那时候互联网行业是个很不错的发展方向,也是机缘巧合之下,让我走上了测试工程师的道路。但是我没想到,在这个行业一干就是10年。

第一份工作

还记得我刚入行的时候,进了一家社交平台公司做测试,公司最开始只我人一个做软件测试,没有任何的流程和规范,但好在平时工作比较轻松。然而当我真正工作了半年,我就产生了一个疑惑:每天我怎么就在做一些一模一样的事啊。每天有点不完的网页,写不完的文档。随着时间的消磨,让我产生了对自我价值和岗位意义的困惑。

那时候,测试人也都爱去论坛上交流,我至今记忆犹新的是,整个版面打开来,一半是问大家薪资多少了,另一半是“工作很多年了,感觉未来很迷茫”。每个人对迷茫的描述都不一样,但问题本质都一样:除了重复劳动,我们还有什么?

一个软件测试人员,有什么可以是拿得出手的核心技术,有什么能使你区别于应届生?最重要的是在企业的不可或缺和不可替代

当时我就有这样的想法,我不想一直做重复劳动了,即便我在刚入职的时候说,我能做好并且愿意去做繁琐工作的。但是我并不擅长机械和重复的劳动,也不喜欢重复劳动。

痛定思痛,也就是这一年开始,下定决心要把自己的专业技能提升上去。

自我成长

我开始把自己的业余时间投入到学习中来,不过,学习的内容一定要基于自己的工作来,这样才能把学来的技术变成工作经验。当时由于公司的规模和产品的局限性,我无法在那里接触到更多新兴热门技术。于是我鼓起勇气,离开了那一家公司。

后来在朋友的推荐下,进了一家电商公司,当时,有一些机会在工作中做性能测试,于是,学会了用LoadRunner和JMeter,有一次需要测试MySQL数据库的性能,用JMeter搞了半天不知道怎么设置,结果叫一位开发的同事帮我过来很快就搞定了。

这让我了解到开发知识对于测试工作的帮助,编程语言的能力会决定你测试技术的深度。

那时候,Python开始流行起来,公司产品开始选用Python开发的,所以,我毫不犹豫的选择了Python。因为Python简单好学,容易上手,学起来也没花多少时间。也是因为这个在后面学习自动化测试帮助很大。

公司为了提高效率,测试必须要引入自动化的手段。注意,不是替代不替代手工测试的问题,而是必须引入自动化才能进一步提高效率。手工测试仍然在,只要他在一些领域上效率高于自动化,就仍然会继续存在下去。

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

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

随着移动App越来越流行,乘着换工作的间隙,我还学习了一个月的appium自动化工具,也了解了网易开源的Airtest框架的使用。

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

为什么我越来越有更多机会去做自动化相关的工作,当然,是我先学会了这项技能,然后,公司项目又比较适合去做自动化,所以,我就尝试去做了,最后,这就变成了我的经验。2018年我开始做全栈工程师,和团队一起从0开发内部管理平台,后端用Django框架设计接口,前端用vue.js框架设计页面,项目已经在整个公司得到应用。

这个阶段跨度有点大,但应了我前面的一些思路,当你掌握的更多的技术,那么你也会有更多的机会继续提升自己。在这个过程中,我也养成了对于技术关注和追求的好习惯,这个好习惯一路以来对我帮助特别大,不管是在职场上,还是生活上都有很大收益,我有满意的薪资回报,生活上也不会有焦虑。因为学习和成长让我远离了那些精神内耗的问题。

我的一些建议

我从13年入行到现在,从初级手工到开始做自动化测试,到现在做测试平台开发,带团队。这中间真是走了很多弯路,踩了很多坑,接触过各种公司和项目:小到初创企业,大到独角兽公司,外资合资,自研外包,电商网站,互联网金融。主要用过4种语言,十几种工具,见过各种测试框架、工具平台,写过大大小小的类库、工具、改造过平台。虽然我只工作了10年,但换了7次单位,真是说多了都是泪啊。。。

我这次想分享的,是我当时转型的经历、对现在测试行业技术大方向的分析和转型方向的建议。另外通过这次分享也希望揭开自动化测试、测试开发、持续集成等等的神秘面纱,让大家了解真实的自动化测试相关人员的工作是怎样的,供大家在自己转型时参考。

 

如何从初级功能测试到高级自动化测试开发,达到技术提升和待遇提高的目的,是很多初级测试人必经的一个阶段。作为一个过来人,对学习过程中的困难深有体会。

所以我喜欢收集整理资源,记录踩坑到爬坑的过程。希望能把自己掌握,实际工作中用到的技术、学习方法及踩过的一些坑,记录下来。也希望想做自动化的你一样,通过我的分享可以少走一些弯路,可以形成一套自己的方法,并应用到实际中。

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的十年测试之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,所以,我和朋友特意花了一段时间整理编写了下面的《测试工程师学习路线》,也整理了不少【网盘资源】,需要的朋友可以在上方小卡片获取网盘链接。希望会给你带来帮助和方向。也可以加入我们一起交流技术,讨论行业资讯。

1. 自动化测试必备Python编程

自动化测试必备Python编程内容
Python环境搭建
Python语法规则
Python运算符
Python数据类型
Python流程控制
对象,类,模块与包概念
Python文件操作
Python高级应用

2. Web自动化测试基础

Web自动化测试基础内容
自动化测试流程概述
selenium环境搭建
常规页面元素定位方式
xpath元素定位方式详解
css元素定位方式详解
元素组定位
特殊元素定位
浏览器操作
三种等待时间详解
切换操作技巧
鼠标,键盘操作技巧
鼠标,键盘操作技巧

3. Web自动化测试项目

Web自动化测试项目内容
WebUI自动化用例编写
unittest自动化框架:unittest组织测试用例的原理
unittest自动化框架:unittest语法详解
unittest自动化框架:unittest批量运行用例
unittest自动化框架:用例的前置后置操作,跳过运行
自动化用例断言
自动化测试之POM模型:POM的意义与原理
自动化测试之POM模型:POM页面对象模型
数据驱动:DDT实现自动化测试驱动
数据驱动:yaml文件驱动
分布式测试:selenium分布式原理
分布式测试:分布式环境搭建
分布式测试:大规模自动化测试

4. APP自动化测试基础

APP自动化测试基础内容
自动化框架与工具使用
ADB命令操作
Monkey稳定性测试:Monkey稳定性测试原理
Monkey稳定性测试:Monkey指令详解(基础参数,事件参数,调试选项)
Monkey稳定性测试:Monkey日志分析(日志定位,回归验证)
自动化配置项:Desired Capabilities配置文档
自动化配置项:常见配置项介绍和使用场景分析
APP界面元素查看工具
APP元素定位:元素定位方式详解
APP元素定位:元素组定位方式
APP元素操作:元素属性操作
APP元素操作:常用API函数
APP元素操作:点击,滑动,输入字符,点击坐标等操作技巧

5. APP自动化测试项目

APP自动化测试项目内容
微信小程序自动化操作:Appium手势连续性操作
微信小程序自动化操作:Appium键盘事件
微信小程序自动化操作:切换操作
微信小程序自动化操作:小程序自动化原理
微信小程序自动化操作:Webview元素定位
微信小程序自动化操作:小程序自动化实现
H5,Webview自动化:H5的概念
H5,Webview自动化:H5与原生页面的对比
H5,Webview自动化:H5测试技术详解
H5,Webview自动化:Webview元素定位,自动化实现
UIautomator2测试框架:UIautomator2测试框架介绍
UIautomator2测试框架:UIautomator2测试框架环境搭建
UIautomator2测试框架:常用关键字封装,滑动,APP点击
安卓集群服务搭建:集群环境搭建
安卓集群服务搭建:批量管理测试真机
Pytest测试框架+分布式运行脚本

6. 接口自动化测试基础

接口自动化测试基础内容
接口自动化测试概述:接口测试的定义与意义
接口自动化测试概述:接口测试的实现方式
接口自动化测试概述:接口自动化的实现流程
HTTP协议:通信协议原理解析
HTTP协议:HTTP与HTTP协议详解
HTTP协议:session,cookie,token鉴权
JSON数据格式详解:JSON与XML的比较
JSON数据格式详解:JSON的语法规则
JSON数据格式详解:JSON的数据类型介绍
JSON数据格式详解:JSON的练习
Requests模块基础:Requests安装
Requests模块基础:使用Requests发送请求
Requests模块基础:不同格式解析响应数据
Requests之session模块:session模块应用,接口请求,会话管理
Requests请求HTTP接口实战:GET,POST,DELETE,文件上传
Requests请求HTTP接口实战:接口类型,json,from-data,参数类型
Requests请求HTTP接口实战:场景实战演练

7. 接口自动化测试实战

接口自动化测试实战内容
HTTP接口测试实战之论坛接口:项目接口文档分析
HTTP接口测试实战之论坛接口:接口测试用例编写规范
HTTP接口自动化测试实战:Requests进行接口自动化测试实战
HTTP接口自动化测试实战:封装HTTP请求类
HTTP接口自动化测试实战:unittest组织测试用例
Mock server:Mock server应用场景,实现原理
基于Flask实现Mock server:Flask项目搭建
基于Flask实现Mock server:开发get,post,delete,form-data的mock
基于Flask实现Mock server:文件上传接口,auth认证
WebSocket协议接口:WebSocket协议接口原理
WebSocket协议接口:搭建WebSocket测试环境
WebSocket接口测试实战:Jmeter测试WebSocket协议接口
WebSocket接口测试实战:Python测试WebSocket接口
基于RPC协议之Dubbo接口测试:Dubbo接口测试原理
基于RPC协议之Dubbo接口测试:Dubbo基础架构解析
Dubbo接口测试实战:telent测试Dubbo接口
Dubbo接口测试实战:Jmeter测试Dubbo
Dubbo接口测试实战:Python进行Dubbo接口测试

8.持续集成专项技术

持续集成专项技术
Jenkins介绍,环境搭建:部署Jenkins环境
Jenkins介绍,环境搭建:常用Jenkins插件安装
构建自动化测试任务:自动化测试用例结合Jenkins构建任务应用
构建自动化测试任务:自动化测试用例结合Jenkins定时运行
构建自动化测试任务:自动化测试用例结合Jenkins批量运行
自动化发送邮件测试报告
git仓库的使用:git版本库创建
git仓库的使用:添加远程仓库
git仓库的使用:克隆,pull,push,commit命令使用
Docker容器技术:Docker使用原理
Docker容器技术:Docker环境搭建
Docker容器技术:Docker在自动化测试中场景应用
流水线:构建CI/CD流水线流程

9. 自动化测试框架技术

自动化测试框架项目技术
Pytest
Pytest基础语法
Fixture的使用
Allure测试报告:Pytest之conftest使用
Allure测试报告:集成Allure测试报告
框架搭建原理思路:搭建框架之前的准备
框架搭建原理思路:框架的意义,设计思路,代码模块分层思想
UI自动化测试框架搭建一:代码模块分成
UI自动化测试框架搭建一:搭建日志系统
UI自动化测试框架搭建一:搭建断言系统,报告系统
UI自动化测试框架搭建二
接口自动化测试框架搭建一
接口自动化测试框架搭建二
UI测试框架和接口测试框架一体化
HTML前端
Flask后端api编写:Resful API开发规范,构建一套API服务

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群:731789136,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

做梦我都没想过,我会在软件测试行业一干就是10年【避坑指南】

如果你想学习软件测试和需要软件测试资料,欢迎加入扣扣交流群:731789136,里面可以免费领取软件测试+自动化测试资料+软件测试面试宝典+简历模版+实战项目+面试刷题工具和大佬答疑解惑,我们一起交流一起学习!

搜索

复制文章来源地址https://www.toymoban.com/news/detail-858898.html

到了这里,关于做梦我都没想过,我会在软件测试行业一干就是10年【避坑指南】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【软件测试】| 软件测试 - 答疑篇

    🎗️ 主页:小夜时雨 🎗️ 专栏:软件测试 🎗️ 如何优雅的活着,是我找寻的方向 最常见的理解是:软件测试就是找BUG,发现缺陷。 软件测试就是验证软件产品特性是否满足用户的需求。 测试试图验证软件是“工作的”,也就是验证软件功能执行的正确性 测试的活动是

    2024年02月05日
    浏览(36)
  • 【软件工程】软件测试

    软件=程序+文档 测试对象:各个阶段产生的源程序和文档。 基于不同的立场,对软件测试的目的存在着两种完全对立的观点。 (1)一种观点是通过测试暴露出软件中所包含的故障和缺陷(从用户的角度); (2)另一种是希望测试成为表明软件产品中不存在错误的过程,验证该

    2024年02月13日
    浏览(45)
  • [软件测试] 01 软件测试基础概念 习题

    软件测试期末复习系列 课件知识点整合 : 软件测试基础 白盒测试 黑盒测试 PTA习题汇总 : 软件测试基础 白盒测试-逻辑覆盖测试 白盒测试-基本路径测试 白盒测试-静态测试 黑盒测试-等价类划分 黑盒测试-边界值测试 黑盒测试-场景法 提示 : 篇幅较长,可以使用 Ctrl+F ,在

    2024年02月04日
    浏览(37)
  • 软件安全测试-软件安全测试概述

    目录 1. 写在前面 2. 什么是安全测试? 3. 安全测试和渗透测试的区别? 4. 何为安全漏洞? 4.1. 常见的漏洞类型 4.2. 漏洞等级 5. 安全漏洞的危害? 6. 如何发现或预防安全漏洞? 6.1 安全测试方法  6.2 安全测试内容 6.3 安全测试过程 7. 写在最后 关于安全的重要性以及安全意识

    2023年04月10日
    浏览(30)
  • [软件测试] 第一部分 软件测试基础

    软件测试期末复习系列 课件知识点整合 : 软件测试基础 白盒测试 黑盒测试 PTA习题汇总 : 软件测试基础 白盒测试-逻辑覆盖测试 白盒测试-基本路径测试 白盒测试-静态测试 黑盒测试-等价类划分 黑盒测试-边界值测试 黑盒测试-场景法 软件危机 :软件危机是指落后的软件生

    2024年02月04日
    浏览(52)
  • 【软件质量与软件测试 第一章】

    1.1 软件特征与软件工程 软件的定义(IEEE) 软件是计算机程序、规程以及可能的相关文档和运行计算机系统需要的数据。 软件包含计算机程序、规程、文档和软件系统运行所必需的数据四个部分 计算机硬件vs计算机软件 软件是逻辑产品,而不是物理产品,所以, 软件具有和

    2024年02月07日
    浏览(31)
  • 【软件测试】软件测试的基本概念和开发模型

    在进行软件测试的学习之前,我们要了解软件测试一些基本概念. 这些基本概念将帮助我们更加明确工作的目标以及软件测试到底要做什么. 软件测试的基本概念有3个,分别是 需求,测试用例和BUG. 这里的需求还可以分为 用户需求和软件需求 ,用户需求: 简单理解为甲方提出的需求

    2023年04月15日
    浏览(104)
  • 软件工程头歌软件测试(实验五)软件项目管理(实验六)

    白盒测试 单元测试 软件维护 维护的事件流 通常维护的事件流如下图所示: 维护记录的内容 1)程序标识; 2)源语句数; 3)机器指令数; 4)使用的程序设计语言; 5)程序安装的日期; 6)自安装以来程序运行次数; 7)自安装以来程序失效次数 8)程序变动的层次和标识

    2024年02月05日
    浏览(41)
  • 【软件测试】浅了解什么是软件测试及开发测试模型

    目录 1.什么是软件测试? 2.什么是需求? 3.什么是测试用例 4.什么是软件错误(bug)? 5.开发模型和测试模型 5.1软件的生命周期 5.2瀑布模型 5.3螺旋模型 5.4软件测试V模型 5.5软件测试w模型 6.软件测试的生命周期 7.bug的生命周期 最常见的理解是:软件测试就是找 BUG ,发现缺陷

    2023年04月19日
    浏览(70)
  • 软件测试/测试开发丨ChatGPT在软件测试领域的应用

    随着互联网技术的迅速发展,软件已经成为现代社会中不可或缺的一部分。而软件测试作为保障软件质量的关键环节,也越来越受到人们的关注。在这个领域,ChatGPT作为一种新型的人工智能技术,正逐渐应用于软件测试领域,为软件测试带来了诸多创新和改进。 在软件测试

    2024年02月14日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包