从功能测试到自动化测试,待遇翻倍,薪资也超出了我的预算...
Posted 软件测试君
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从功能测试到自动化测试,待遇翻倍,薪资也超出了我的预算...相关的知识,希望对你有一定的参考价值。
小马是一名普通大专毕业生,毕业后,偶然一个机会进入了一个小公司,当时公司给她安排的是一些很简单的测试工作,可以说是点点点操作。小马觉得这样的工作挺轻松的,不用什么费脑力,体力也谈不上,工资发下来省省也勉强够自己的开销,心想着就这么过吧。但随着时间的消磨,快1年了,感觉每天过得浑浑噩噩,薪资也从不见涨,岗位也一直得不到提升,身边的许多同事要么升职加薪,要么跳槽去了更好的公司工作,特别觉得自己碌碌无为。
于是小马思量着怎么改变这个窘境,一定要让自己过得更潇洒起来。她大胆跟自己的测试组长交流了自己面临的现状,咨询如何能改善现在的工作。测试组长看见她这么诚恳,给她整了一套方案,不过告诉她一定要自觉自律,坚持下去,想想辛苦几个月就能给你带来巨大改变,不要拖拖拉拉,前功尽弃。小马坚定的眼神给了组长答案。
一、测试工具使用
首先是学会最简单的接口测试工具使用,比如Postman、Jmeter;抓包的工具fiddler等。从测试工具的使用明白接口测试流程,接口参数的意义等等。接下来可以尝试web自动化测试工具的学习,比如selenium工具的使用。以上这几款工具基本能把测试提高了很大的效率。
二、python编程学习
编程语言的能力会决定你测试技术的深度,Python语言,了解编程的都知道Python对新人比较友好,相比其他编程语言来说会比较简单。
尽管可以在网上找了很多的学习资料和学习视频,但是学起来就会遇到很多问题,没有人能帮您解答,还有很多编程的相关知识,也不太懂,自己一个人学起来很费劲,容易从入门到放弃。所以尽量找到技术大牛或者技术团队来帮助您加快进度,还能学到他们的技巧和经验。
三、测试框架
做自动化测试需要懂测试框架,Selenium,appium,unittest,pytest,这都是一些开源的框架你至少要懂中间的一到两个。
比如说做WebUI自动化的话,要懂Selenium+python;做AppUI自动化的话,我要懂appium+python。如果是进行接口测试的话肯定也是需要去做一个接口的框架,比如:requests。
四、 测试框架开发
一般一个框架的诞生过程会经过三个阶段:
1.学会使用
大致了解框架的使用,可以去看框架的官方文档,一般里面都有详细的介绍,安装之后便可以开始尝试直接拿它来做项目。
2. 阅读源码
想要提升自己的能力、达到进阶的效果,当然不能只局限于框架的使用层面上。需要自己多花几周甚至几个月的时间去阅读框架的源码,这样有助于框架使用过程的各种问题的处理和排查。
3、自研框架
自研框架的要求就比较高,一般都是企业对性能有极高的要求,所有的开源或商业的框架都无法满足公司需求才会走上自研的道路。我们可以尝试分析整个框架性能瓶颈,用更高性能的语言替换关键模块,或用寻找、研究更好的算法去实现关键功能。
小马按照测试组长给的方案,下定决心啃下这块自动化测试的知识。从网上下载了很多资料,但是学得非常费劲,还有很多不理解的地方,幸好有他们的团队在,也给她指导了一些经验。但是团队毕竟时间有限,能教给她的东西确实很少,而且不够系统。于是她通过朋友认识到了我们极客夫子的老师,经过老师给她制定的计划与辅导,她提升得非常快,公司看她确实进步了不少,为她提升了工资,小马想着,虽然辛苦,但成就感满满。
小马的下一个目标,继续努力,进入大厂。
做为一名测试人,我想分享一下这些年来,我对于技术一些归纳和总结,和自己对作为一名高级自动化测试需要掌握那些技能的笔记分享,希望能帮助到有心在技术这条道路上一路走到底的朋友!
1、软件测试基础理论知识:
软件测试理论知识是开展测试工作的理论依据和支撑,是测试很重要的阶段必须掌握的技能。
软件的质量模型:软件测试过程保障软件的质量,从哪些方面保障可以从质量模型出发思考
测试分类:软件测试过程可以按照不同角度进行分类,基础测试到高级测试递进过程
开发流程:告诉测试人员一个软件完整的生命周期,软件从无到有到消亡的过程
测试流程:掌握并指导测试人员在实际项目中如何开展测试工作。这要求测试人员对常见的主流测试流程有较为透彻的理解。遇到不同的软件项目,知道从何处着实能最有效率的测试软件缺陷
测试计划与方案:如何规划在项目中开展测试活动,确保测试活动有序进行
设计用例方法:黑盒测试阶段必须掌握的一些测试用例的设计方法。比如黑盒测试用例的设计方法、测试用例元素等等
软件缺陷:在测试执行过程中应该确定缺陷并提交缺陷报告
缺陷管理:提交缺陷后在实际工作中如何和开发协助处理验证提交的问题。例如:bug的等级优先级分类、bug的描述、bug的生命周期、缺陷管理工具使用,如禅道等。
测试报告:测试过程的回顾和结果确认,生成系统性的专业软件测试评估报告。
2、软件测试功底技术——Linux系统
linux系统是主要的服务端操作系统,也是从事IT岗位的大部分人员必须具备的基本技术之一。
linux系统基本知识:多用户,多任务,发行版本等
常见 linux操作命令:日志查看,文件压缩、解压,用户管理,文件权限等
会部署和配置基本的应用jdk、 mysql、 tomcat
docker安装使用
编写基本的 shell RAD本
远程终端工具使用: shell, xftps等
3、软件测试功底技术——Sql数据库
数据库作为软件系统必备的应用系统,在诸如接口测试、性能测试等等过程中往往需要操作数据库,验证数据正确性完整性,都离不开数据库的增删改查操作,在项目部署阶段数据库还需要配合项目部署。在性能测试、接口自动化测试中都需要数据库的支撑。
数据库基本概念
关系型数据库
MYSQL基本的增改查语句,存储过程
MYSQL复杂查询、多表查询
MYSQL索引及事务相关概念
数据库客户端工具使用:如 Navicat
4、软件测试功底技术——编程语言
推荐没有编程基础的朋友可以学习Python语言
Python语言的学习内容包含以下知识点:
Python基础:Python语言特点、运行环境、基本语法、代码风格、示例程序
数据结构:
基本数据结构:数字、字符串、类型判断、类型转换、切片、字符串格式化、数值运算、位置参数和关键字参数;
组合数据结构:列表、元组、范围、字典、集合、不可hash对象、解包、内存地数据结构址、不可变数据
程序控制:顺序结构、循环结构、判断结构、异常处理、逻辑运算符
函数:定义函数、函数的参数、返回值、变量作用域、匿名函数、常用内置函数
模块和库:模块和包、import关键字、常用标准库、常用第三方库、包管理工具pip
面向对象:面向对象起源和优势、面向对象的特性类和对象的联系、对象的特殊方法
日志记录:baseConfig、文件日志、邮件日志、定制格式、内置占位符、等级过滤、分级传播、配置文件
测试框架:unitest、pytest等
并发编程:多进程、多线程、协程、线程池、同步控制、线程通信、分布式、猴子补丁、 async语法、生成器
网络编程:socket编程基础、TCP服务端和客户端、并行请求处理、HTTP服务端和客户端
5、软件测试自动化进阶——接口测试
接口测试本质也是功能测试的一种,通过脚本或者工具,模拟客户端对服务端接口进行调用。因为是从接口层测试,所以能更早的发现问题,从而提高测试效率,降低修复成本。
http/httpst协议学习
常见请求方法学习:GET、POST
cookie和 session学习
接口的基本概念
接口文档认识
接口测试用例编写
接口测试工具使用:postman、Jmeter、SoapUl
6、软件测试自动化进阶——性能测试
性能测试的技术要求很高,不仅仅要对性能测试的指标、测试分类、测试设计有很深刻的理解。还要学习系统业务和架构相关知识,这样才能更好的设计性能场景。
性能基本概念:性能测试意义、常见性能指标理解、性能测试的分类
性能测试流程:性能需求分析、性能场景设计、测试脚本编写、测试执行资源监控、性能调优、回归测试
Jmeter及 roadrunner使用
性能测试报告输出
7、软件测试自动化进阶——app自动化
越来越多的项目和系统通过移动端来提供服务,移动端的软件质量越来越重要,App自动化测试已经成为自动化测试的重要内容。借助Appium,使得App自动化测试和Web自动化测试有很多相通之处,不过作为测试工程师,依然需要掌握移动端应用的工具和特性。
Appium移动测试环境搭建:Appium ServerAppium和 Desktop、 android运行环境搭建、模拟器安装和连接、真机设备调试模式、adb、 weditor、 - - UiAutomator22、 Monkey
Appium元素定位:原生应用元素定位、纯web应用元素定位、混合应用元素定位
Appium元素交互:等待元素加载,元素的基本属性和方法、滑动、拖动、缩放操作、下拉选择操作、 toast消息处理、常见控件分析、常见布局分析
封装测试框架:集成Appium、adb等工具、预定义异常处理、记录Appium日志、屏幕截图、打造多用途测试框架
8、软件测试自动化进阶——持续集成和持续测试
持续集成和持续测试是一个在迭代中构建、测试产品并修复Bug的过程。它有助于团队在开发阶段的初期发现缺陷,这时的缺陷通常相对不那么复杂,并且更容易被解决。通过持续集成和持续测试,可以尽早地将错误风险降至最低,并加快交付更好质量的软件。
版本控制Git:背景介绍、环境部署、工作区、暂存区和提交区、分支创建与合并、解决冲突、标签、 config与别名、本地仓与远程仓、 GitHub与码云
持续集成 Jenkins:背景介绍、环境部署、文件结构、远程仓库与私服、ja包依赖、插件管理
容器Docker:了解 Dockers的镜像、仓库、容器、 Docker Engine和架构图、网络设置、数据持久化
我向大家推荐一个软件测试技术学习群:902061117
里面会分享一些资深测试工程师录制的视频录像:
有自动化,接口,Mysql,性能、Linux、Loadrunner、 Jmeter、等
这些成为测试工程师必备的知识体系。还能领取免费的学习资源,目前受益良多...
下面是一份配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
这些都可以以在公众号:伤心的辣条 ! 免费领取,还有一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中资料包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
好文推荐
转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!
面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…
从功能测试到自动化测试,待遇翻倍,我整理的超全学习指南!
在这个吃技术的IT行业来说,我之前每天做的是最基础的工作,但是随着时间的消磨,我产生了对自我和岗位价值和意义的困惑。
一是感觉自己在浪费时间,另一个就是做了快2年的测试,感觉每天过得浑浑噩噩,薪资也从不见涨,岗位也一直得不到提升,我身边的许多同事要么升职加薪,要么跳槽去了更好的公司工作,特别觉得我自己碌碌无为。
我开始思考怎么去改变现状。当时最简单的想法是挤出时间去学习各种测试技术和工具,提高自己的价值,也就是核心竞争力。后来被测试组长偶然发现,给了我一些资源和文档,建议我去研究下自动化测试。当时来说,我还没有接触过自动化测试,但是通过组长给我的资源,让我认识到开发知识对于测试工作的帮助,编程语言的能力会决定你测试技术的深度。当然也能带来收入的高度
那时候正是脚本语言开始流行起来,因为当时项目的原因跟Python结缘,开始用Python语言和Selenium来尝试做自动化测试。那时,关于Python版的Selenium并不多,在学习的同时我开始发表相关博客。分享是学习新技术的驱动力,大多数时候我们很难坚持学一个新技术的原因就在于缺少反馈,不管是做内部分享或者是博客都是很好的反馈机制。当然,也很有成就感
这两天和朋友谈到软件测试的行业趋势,随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业。想要获得更好的待遇和机会,不断掌握新的技能,提高业务能力也就变成了目前软件测试从业人员迫在眉睫需要解决的问题。不论是面试哪个级别的测试工程师,面试官都会问一“会编程吗?有没有做过自动化测试?”,所以还停留在功能测试层面,不去提升技术,还要面临长江后浪推前浪的压力。就只能接受窘境,最后甚至是面临淘汰。更别说升值加薪了
所以如何从功能测试到自动化测试,达到技术提升的目的,是很多初级测试人必经的一个阶段。作为一个过来人,对自学过程中的困难深有体会。所以我热衷于收集整理资源,记录踩坑到爬坑的过程。希望能把自己所学,实际工作中使用的技术、自学方法、心得及踩过的一些坑,记录下来。
更希望想自学的你一样,通过我的分享可以少走一些弯路,可以形成一条自己的体系,并应用到实际中。当然,也真心的希望你们升职加薪,或许这才是最实际的吧。
如果你也有类似的困惑,那么我整理的视频资源和文档会是你的良师益友,或许可以给你带来一些实际性的帮助与突破。见公众号:【伤心的辣条】自行领取~
学习路线:测试工具使用->Python编程->测试框架->测试框架开发
一、测试工具使用
首先是测试工具的使用,比如说我要去进行web自动化是不是我要去进行自动化测试环境搭建,环境工具。比如说去安装Python安装,这些环境安装。
至于AppUI自动化,除了上面的一些技能还要会比如说adb的命令,app的环境,app的压力测试之类的。
接口测试其实也是一种功能测试,但是它并不等于功能测试,因为对于接口测试的话也分为1.接口功能测试(需要借助工具进行测试);2.接口压力测试;3.接口安全性测试。而且接口的功能测试是需要借助工具来完成,工具的话就有比如:Postman、Jmeter;抓包的工具fiddler等。
二、Python编程语言
编程语言的能力会决定你测试技术的深度,我当时学的是Python语言,了解编程的都知道Python对新人比较友好,相比其他编程语言来说会比较简单。
在网上找了很多的学习资料和学习视频,但是学起来就会遇到很多问题,没有人能帮我解答,还有很多编程的相关知识,也不太懂,自己一个人学起来很费劲的。容易从入门到放弃
所以也是到处去找那种软件测试的学习社区,有幸遇到了一位测试行业的技术大佬,进到了一个很不错的学习交流群内,里面有很多人都和我一样想要提升,所以都在一起学习,有什么问题都会在群里相互讨论、技术交流,这也极大的提高了学习效率。
现在我也找了很多测试的朋友,做了一个技术分享的交流群,共享了很多我们收集的视频教程和技术文档。如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受,可以加入我们一起交流。而且还有很多在自动化,性能方面有一定建树的技术大牛,分享他们的经验,还会分享很多直播讲座和技术沙龙,可以免费学习!划重点!开源的!!!
Python是软件测试进阶的第一步,我们需要掌握Python编程语法,具有一定的编码能力,为基础自动化测试做准备,其次还要掌握Python在自动化中的应用、掌握代码的函数封装、类封装的技能。
三、测试框架
我们还要懂测试框架,Selenium,appium,unittest,pytest,这都是一些开源的框架你至少要懂中间的一到两个。
比如说做WebUI自动化的话,我要懂Selenium+python;做AppUI自动化的话,我要懂appium+python。
如果是进行接口测试的话肯定也是需要去做一个接口的框架,比如:requests。
✪ 测试框架开发
一般一个框架的诞生过程会经过三个阶段:
1、学会使用
大致了解框架的使用,可以去看框架的官方文档,一般里面都有详细的介绍,安装之后便可以开始尝试直接拿它来做项目。
2、阅读源码
想要提升自己的能力、达到进阶的效果,当然不能只局限于框架的使用层面上。需要自己多花几周甚至几个月的时间去阅读框架的源码,这样有助于框架使用过程的各种问题的处理和排查。
3、自研框架
自研框架的要求就比较高,一般都是企业对性能有极高的要求,所有的开源或商业的框架都无法满足公司需求才会走上自研的道路。我们可以尝试分析整个框架性能瓶颈,用更高性能的语言替换关键模块,或用寻找、研究更好的算法去实现关键功能。
关于这些知识点的掌握肯定是需要自己多花时间和精力的,关于这些学习资料和学习教程你可以去咱们公众号:【伤心的辣条】直接获取,还很多录制的视频教程,大佬的讲解非常详细,能够帮助你快速理解与掌握。
根据这个学习架构路线,不断地去摸索与提升,突破技术的瓶颈,可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。我也是走过这样一段路,才能获得更多高薪职位的机会,付出终有回报,也算是对我能力的一种认可吧,真正的证明了自己的价值。至少税后30+的薪水是我当前状态下比较满意的。
如果说你在自动化测试工程师阶段还想往性能测试方面去进行发展,要求就会更多了,其实性能也是一种自动化。所以第一个你也必须要掌握一门编程语言,第二个语言脚本,第三个指标,第四个调优。
以上,是我几年测试职场的一些经验,如果有不对的地方,欢迎在下方留言。
希望能够对大家有所帮助。
看完这篇内容后,相信以下两件事,也会对你的个人提升有所帮助:
1、 点赞,让更多人能看到这篇文章,同时你的认可也会鼓励我创作更多优质内容。
2、 让自己变得更强:想一想,如果你想在测试这个行业一直做下去,你的经验和功能测试技术是远远不够的,你需要进阶,你需要不断丰富你的技术栈!还等什么!
最后:【可能给予你助力的教程】
这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。
关注我的微信公众号:【伤心的辣条】免费获取~
我的学习交流群:902061117 群里有技术大牛一起交流分享~
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
好文推荐:
以上是关于从功能测试到自动化测试,待遇翻倍,薪资也超出了我的预算...的主要内容,如果未能解决你的问题,请参考以下文章
三个月自学自动化测试,薪资15K直接翻倍,鬼知道我经历了什么····