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

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

时间:2024-04-26 15:55:23浏览次数:29  
标签:10 框架 Python 接口 避坑 测试 自动化 搭建 软件测试

我是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,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

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

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

搜索

复制

标签:10,框架,Python,接口,避坑,测试,自动化,搭建,软件测试
From: https://www.cnblogs.com/nhb1234/p/18160256

相关文章

  • 实验3:软件测试
    一、实验题目:软件测试二、实验目的1、熟悉开发环境下的自动化测试工具;1、利用自动化测试工具进行自动化单元测试。三、实验内容1、选择开发环境,IDEA或PYCHARM任选其一;2、基于所选择的开发环境实现对输入的n个整数进行排序的代码;3、对所编写代码设计测试用例;4、基于所选择......
  • 实验3:软件测试
    一、实验题目:软件测试二、实验目的1、熟悉开发环境下的自动化测试工具;1、利用自动化测试工具进行自动化单元测试。三、实验内容1、选择开发环境,IDEA或PYCHARM任选其一;2、基于所选择的开发环境实现对输入的n个整数进行排序的代码;3、对所编写代码设计测试用例;4、基于所选择......
  • 实验3-软件测试
    一、实验题目:软件测试二、实验目的1、熟悉开发环境下的自动化测试工具;1、利用自动化测试工具进行自动化单元测试。三、实验内容1、选择开发环境,IDEA或PYCHARM任选其一;2、基于所选择的开发环境实现对输入的n个整数进行排序的代码;3、对所编写代码设计测试用例;4、基于所选择......
  • 实验三:软件测试
    一、实验题目:软件测试二、实验目的1、熟悉开发环境下的自动化测试工具;1、利用自动化测试工具进行自动化单元测试。三、实验内容1、选择开发环境,IDEA或PYCHARM任选其一;2、基于所选择的开发环境实现对输入的n个整数进行排序的代码;3、对所编写代码设计测试用例;4、基于所选择......
  • 实验3: 软件测试
    一、实验题目:软件测试二、实验目的1、熟悉开发环境下的自动化测试工具;1、利用自动化测试工具进行自动化单元测试。三、实验内容1、选择开发环境,IDEA或PYCHARM任选其一;2、基于所选择的开发环境实现对输入的n个整数进行排序的代码;3、对所编写代码设计测试用例;4、基于所选择......
  • 实验三-软件测试
    一、实验题目:软件测试二、实验目的1、熟悉开发环境下的自动化测试工具;1、利用自动化测试工具进行自动化单元测试。三、实验内容1、选择开发环境,IDEA或PYCHARM任选其一;2、基于所选择的开发环境实现对输入的n个整数进行排序的代码;3、对所编写代码设计测试用例;4、基于所选择......
  • 实验3:软件测试
    一、实验题目:软件测试二、实验目的1、熟悉开发环境下的自动化测试工具;1、利用自动化测试工具进行自动化单元测试。三、实验内容1、选择开发环境,IDEA或PYCHARM任选其一;2、基于所选择的开发环境实现对输入的n个整数进行排序的代码;3、对所编写代码设计测试用例;4、基于所选择......
  • 实验三-软件测试
    一、实验题目:软件测试二、实验目的1、熟悉开发环境下的自动化测试工具;1、利用自动化测试工具进行自动化单元测试。三、实验内容1、选择开发环境,IDEA或PYCHARM任选其一;2、基于所选择的开发环境实现对输入的n个整数进行排序的代码;3、对所编写代码设计测试用例;4、基于所选择......
  • ABS10-ASEMI开关电源整流桥ABS10
    编辑:llABS10-ASEMI开关电源整流桥ABS10型号:ABS10品牌:ASEMI封装:ABS-4正向电流(Id):1A反向耐压(VRRM):1000V正向浪涌电流:30A正向电压(VF):1.10V引脚数量:4芯片个数:4芯片尺寸:50MIL功率(Pd):小功率设备工作温度:-55°C~150°C类型:贴片整流桥、小功率整流桥ABS10整流桥描述:ASEMI品......
  • P10371 「LAOI-4」石头 题解
    原题链接:P10371。首先我们设\(l_{i,0/1}\)表示\(i\)左边的第一,二个比\(a_i\)大的数的位置。\(r_{i,0/1}\)同理。考虑一个区间\([L,R]\)在什么时候满足条件,设\(p,q\)分别为区间中最大/次大值的位置,我们分三种情况讨论。情况一:\(L<p<R\)。考虑从\(L,R\)开......