互帮互助 作为一名自学的测试开发工程师,如何继续技能上的进阶之路?

醋精测试媛 · 2022年02月11日 · 最后由 Tassel 回复于 2023年05月20日 · 7974 次阅读

个人经历

公司之前没有招过测试开发工程师,我是第一个,毕业来公司一年多了,通过网上的一些博客、框架官方文档等学习过 ui 的自动化测试,接口自动化测试以及性能测试(业务涉及到两个接口以及 mqtt 的连接,我不太了解如何做这方面的测试方案),并进行了公司相关项目的自动化测试,但是总感觉自己还是处于入门阶段(甚至觉得如果现在直接去面试测开,都很难通过一般公司的面试)

测试开发的进一步学习

我所能接触的资源就是网上可以搜索到的,我可以学习到一些基础的内容,比如自动化测试里面的 selenium、appium、unittest、pytest、allure、pageObject 模型等,接口测试中的 request,jenkin 基础的使用,jmeter 的使用。
之前也看到过一些网上的教程,但是不知道是否对自己有用,所以没有买。如果想要进一步的学习,提升个人的技能,请问大家是否有什么课程、书、资源可以推荐的?

大家的建议

  • 在实践中学习效果更佳(如果没有更高阶的实践应该怎么办?公司对我的建议是让我先找找网络课程并学习)
  • 学习开发相关的知识,可以补充测试中的不足
共收到 29 条回复 时间 点赞

@Ayo 同问

最好是结合工作来实施这些来提高。自动化测试你们都跑起来了没,能和 流水线打通了没
性能测试需要学习网络,计算机系统,数据库,常见中间件的知识才能进行性能调优

28楼 已删除

我觉得还是要看下你那边有什么可以实际落地的,在实践中学习效果会比较好。

selenium、appium、unittest、pytest、allure、pageObject 模型等,接口测试中的 request,jenkin 基础的使用,jmeter 的使用。这些知识属于自动化和性能部分的内容.如果真是测开,至少要会用框架了(例如:python 的 django)。

明仔 回复

自动化测试写完了,跑起来不够稳定,会受很多因素影响,耗时也很长,当然我在过程中也学习了很多解决问题的方法,也改善了不少,但是我觉得自动化测试还是比较基础的部分,如果想要进一步的成长学习,还是需要其他的知识补充和积累,但是我不太了解如何去获取到更多的课程或者知识资源。

使用工具和开发工具还是有很大差别的,自动化测试到测开还有一定距离;学习可以从模仿开始,可以多看看这些优秀的框架是如何设计和实现的

什么样的培训班呢?我确实在工作中学习了很多,但是总觉得所学浅显,想要进一步的学到更多,但是感觉很多网上课程大多是基础的教学 @cloudhuan

人与人之间的差距一下就出来了 一年多的时候我还在摸鱼

我记得看寒战,有一句话:香港是能没有警察局,还是可以没有廉政公署。
所以我觉得部门和职位都是有上限的,人可以没有。
在企业中开发是第一生产力,所以企业可以没有测试,但是不能没有开发。
那么我们的进阶就不能局限于开发测试, 而是要结合实际。 去学会,创造能实际提高项目管理的工具,或者方法。
如果你口才可以,有人脉。甚至做售前都可以。

如果只是单纯谈论技术的话,
1.点点点
2.工具 + 点点点

  1. 有计划和策划能力的点点点 4.懂得如果保障质量的点点点
  2. 能共运用自动化工具 和 有策划能力 并且保障质量的点点点

同是天涯沦落人,你的经历不能说和我相同吧,可以说是一毛一样,都是公司里的独行侠

Fresh 回复

确实,正是因为深深觉得自动化测试和测开之间的差别很大,所以才想问问大家是怎么从新手进阶的,请问有哪些优秀的框架适合看的呢?

外国很多东西有导师制度,你可以在公司里找一个技术比你强的人拜师,让他(她)指引你方向,如果你找到不到其他人,论坛里也可以找人。。。。。。
最近我在领英上学习,自动化测试用例要有三大特点:有价值,可靠和快,如果你的自动化测试 不可靠,那么你得找出其中原因,想办法解决, 可以考虑做更低级的自动化测试,例如单元和接口,这样子能够提高成功率

明仔 回复

谢谢,我当前处境就是没有人带,所以公司说让我自己找课程学习。。

学以致用是最快的
光看视频学的那点皮毛 其实真没太多用处
你要针对你的项目去学 然后在自己项目中实践 然后看下能不能到遇到一些给力的小伙伴 可以提点提点你 没事多请教 技术一下就会上来很多

陈恒捷 回复

谢谢你每次都这么耐心地回答我的问题,看了你的回复觉得受益颇多。

我现在确实处于知道自己哪里不知道,但是不知道自己怎么学习的阶段,也看了一些网上的课程,不知道自己是否应该买来学习,感觉对自己有用的部分比较少。

对于第二点建议,确实之前就意识到了应该自己去学一下开发基本的内容。对于第一点,我们公司使用了漫索作为开发和测试以及产品之间发布缺陷情况和沟通的平台,我还应该去试一试做一个测试平台吗?

陈恒捷 回复

👍 。我记得当时做自动化时,领导也有说过需要懂点 Android 开发。然后就自己买了点书(第一行代码)等😂 。后来也陆陆续续的做过项目中的一些 app 的开发,对自动化还是有不少帮助的。

我也有和你类似的疑惑,不知道该学些什么了。
像是大家说的实践出真知,去实践才是最快的学习方式。道理都懂,但是怎么去实践呢,就比如我学 java 吧,学了 java 基础了,搞了一下基础的接口自动化,然后对于 java 能深入解决什么测试问题,毫无思路,没有人可以指导或者模仿。

哲豪 回复

哈哈,第一行代码我也有看。很适合入门的一本书。

陈恒捷 回复

😁 我当时买了两本。。。买第一本的时候没看出版日期,到手一看 14 年的,然后又重新买了第二版的

你提到的这个平台,除了缺陷,有其他测试日常用的工具在上面吗?

按完整研发周期来走,比较常见会需要的功能包括:

提测前:测试用例管理(特指手工测试的,便于沉淀用例,以及让开发记录自测情况)、需求管理(有需求管理平台也可以忽略)
提测动作:提测管理(方便自行设定提测单格式、准入准出准则和快速统计测试的任务量,如果项目管理工具有相关功能也可以直接用)
测试中:接口测试、性能测试、UI 自动化测试等各种专项测试工具、造数据平台及各种杂七杂八的业务提效工具、持续集成流程(有 jenkins 也可以先用着,不一定要重复造轮子)、各种代码扫描工具、测试环境管理(有不止一套测试环境,或者并行需求比较多的一般都会有这块需要)
测试结束:测试报告(包括结论、各项数据图表)、测试产物(如 app 的话要给出测试确认通过的 app 包给发布人员)
上线后:线上故障管理(故障报告、待办项跟踪、数据图表等)、线上监控大盘等

简单点说,不一定只有自动化测试才是测试平台,测试日常需要用到且有多人使用或者协作需求的,都可以成为平台的内容,为测试服务。

你这个问题核心是视野受限,可以多出来和同行交流,参加下当地的沙龙或者社区组织的 MTSC 大会啥的,看看外面的世界。视野开阔了之后,你会发现你现在已经习惯的很多做法,其实还有很多可以简化或者提效的空间。

另外,java 是工具,工具的目的是解决问题。

建议你定一些解决工作中问题的目标,比如让你测试报告里的统计数据从自己从系统里算变成自动生成之类的,然后这个小脚本或者小 web 平台可以用 java 这个工具来实现;或者通过学会 Java ,看懂开发是怎么修复那些比较关键的 bug 的,并把自己的理解告知开发,确认和开发思路一致。

再深入或者熟练点,可以通过看代码理解开发实际实现逻辑,分析是否有漏洞(代码也是文档的一种,能通过分析需求发现漏洞,那也能通过分析代码发现漏洞),以及引入一些基于 java 的工具(如字节码增强技术,可以做到不改动任何开发代码的前提下直接插入/修改代码逻辑,性能 apm 类和 “无埋点” 采集用户行为数据很多都基于这个)来让你能更自由高效地去伪造各种异常场景,确认异常兜底逻辑是否有效。

把测试两个字去掉,把自己当成开发去进阶。

感觉我和楼主的经历有点像,毕业出来半年多了,自己也根据网上资料和视频学着去用 unittest、pytest、selenium、appium...也试着写出来了 PO 模型的框架,试用一结束就直接转成了测开岗,刚开始是让我维护一些 case,用 appium 做自动化。后面也使用了社区一位大佬的 atxserver2,也在这基础上添添改改了一些功能。可到现在,这两个工作都没做了,现在让我弄代码审查相关的工作(sonar、jenkins...),时间一久,以往的东西也没用到了,现在学的也怕以后用不上,要是出去面试也担心自己面不过一般的测试开发岗。时间长了变得很焦虑,之前也报了培训班来提升自己,但感觉还是挺焦虑的,感觉成长很慢

仅楼主可见
Seven777 回复

如果不能跳槽,就试试 #14 大佬所说的靠保持学习和练习 + 想办法扩大自己的负责范围吧。

特意往上翻了 #14 的评论,觉得大佬的分析条条在理,方法也会去学习下,其他评论也让我受益匪浅,同时也希望楼主能够通过自己努力越做越好,共勉

刚开始先学习什么啊 我们公司也没有测开

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册