公司之前没有招过测试开发工程师,我是第一个,毕业来公司一年多了,通过网上的一些博客、框架官方文档等学习过 ui 的自动化测试,接口自动化测试以及性能测试(业务涉及到两个接口以及 mqtt 的连接,我不太了解如何做这方面的测试方案),并进行了公司相关项目的自动化测试,但是总感觉自己还是处于入门阶段(甚至觉得如果现在直接去面试测开,都很难通过一般公司的面试)
我所能接触的资源就是网上可以搜索到的,我可以学习到一些基础的内容,比如自动化测试里面的 selenium、appium、unittest、pytest、allure、pageObject 模型等,接口测试中的 request,jenkin 基础的使用,jmeter 的使用。
之前也看到过一些网上的教程,但是不知道是否对自己有用,所以没有买。如果想要进一步的学习,提升个人的技能,请问大家是否有什么课程、书、资源可以推荐的?
@Ayo 同问
最好是结合工作来实施这些来提高。自动化测试你们都跑起来了没,能和 流水线打通了没
性能测试需要学习网络,计算机系统,数据库,常见中间件的知识才能进行性能调优
我觉得还是要看下你那边有什么可以实际落地的,在实践中学习效果会比较好。
selenium、appium、unittest、pytest、allure、pageObject 模型等,接口测试中的 request,jenkin 基础的使用,jmeter 的使用。这些知识属于自动化和性能部分的内容.如果真是测开,至少要会用框架了(例如:python 的 django)。
自动化测试写完了,跑起来不够稳定,会受很多因素影响,耗时也很长,当然我在过程中也学习了很多解决问题的方法,也改善了不少,但是我觉得自动化测试还是比较基础的部分,如果想要进一步的成长学习,还是需要其他的知识补充和积累,但是我不太了解如何去获取到更多的课程或者知识资源。
使用工具和开发工具还是有很大差别的,自动化测试到测开还有一定距离;学习可以从模仿开始,可以多看看这些优秀的框架是如何设计和实现的
什么样的培训班呢?我确实在工作中学习了很多,但是总觉得所学浅显,想要进一步的学到更多,但是感觉很多网上课程大多是基础的教学 @cloudhuan
人与人之间的差距一下就出来了 一年多的时候我还在摸鱼
我记得看寒战,有一句话:香港是能没有警察局,还是可以没有廉政公署。
所以我觉得部门和职位都是有上限的,人可以没有。
在企业中开发是第一生产力,所以企业可以没有测试,但是不能没有开发。
那么我们的进阶就不能局限于开发测试, 而是要结合实际。 去学会,创造能实际提高项目管理的工具,或者方法。
如果你口才可以,有人脉。甚至做售前都可以。
如果只是单纯谈论技术的话,
1.点点点
2.工具 + 点点点
同是天涯沦落人,你的经历不能说和我相同吧,可以说是一毛一样,都是公司里的独行侠
确实,正是因为深深觉得自动化测试和测开之间的差别很大,所以才想问问大家是怎么从新手进阶的,请问有哪些优秀的框架适合看的呢?
外国很多东西有导师制度,你可以在公司里找一个技术比你强的人拜师,让他(她)指引你方向,如果你找到不到其他人,论坛里也可以找人。。。。。。
最近我在领英上学习,自动化测试用例要有三大特点:有价值,可靠和快,如果你的自动化测试 不可靠,那么你得找出其中原因,想办法解决, 可以考虑做更低级的自动化测试,例如单元和接口,这样子能够提高成功率
如果想快速进阶,那需要先遇到需要更高阶技术的场景,这时候你去学习、去实践,效果是最好的。
而业务没有复杂到一定程度或者公司规模没有达到一定程度,很多时候是没有这种场景的。我觉得你遇到现在这个天花板,主要两方面因素:
1、环境因素。你所在的公司或者团队没法明确给你一个需要更高阶技术的方向,直白点说就是你现在的技术方面能力已经超出团队对技术能力的需要了。
2、个人因素。楼主也坦言自己目前这些技能学习还在入门阶段,基础还不是很牢固,也提到在某些性能测试方面自己也不大了解怎么做这方面的测试方案。可能说句不好听的,处于成长曲线里的 “愚昧之巅”。
个人建议:
1、对于环境因素,不想换公司就想办法扩大自己的负责范围产生上升空间,愿意换公司就可以换个更大和更完善的团队(不过你现在 1 年左右经验且基础不扎实,不是很建议现在换)。比较常见的进一步的测开实践有:建立集中的测试平台(30 人以上测试团队一般会需要,对于降低工具入门门槛、统一一些测试方式和测试用例沉淀等都会比较有效)、测试左移(建立持续集成流水线并在流水线加上稳定且快速的自动化测试节点、深入开发技术评审环节并能给有效的意见建议,需要和开发深入合作)、测试右移(建设/借助各项线上监控/检测手段,快速发现线上问题并组织修复、复盘,保障线上不出故障,需要和开发 + 运维 + 产品深入合作)。
2、对于个人因素,不知道对于接口测试,你目前除了会测接口,是否会使用和开发类似的技术栈去写一个接口?对于 UI 自动化,除了会写 UI 自动化脚本,是否有学习过 android/ios/web 开发的基础知识,做一个简单的 todolist 或者个人博客的应用?测一个接口比写一个接口简单得多,但写一个接口你才会发现原来还有很多测试点是你测的时候没有考虑到的(比如一次请求分别写入多个表时的是否有做事务处理避免中途异常导致脏数据、高并发时的用到的各个数据存储类是否都线程安全、一些全局数据存储存储会不会放在内存里导致在生产环境多节点部署时会有问题)。去学习一下被测系统是怎么开发的,自己动手写个麻雀虽小五脏俱全的系统,你才会真正掌握某项技术的闭环,这个过程中你才有机会从底层开始建立自己对被测系统原理的认知,才能依赖这个认知在未来更快速上手新技术新系统,并找到各种另类或者偏底层场景的测试方法。
至于开发技术怎么学习,看看初级开发怎么入门之类的资料或者买本开发的入门书,或者直接看某些流行框架的官方教程也可以,只要目标定了,相信以你的自学能力,总归能想办法达成目标的。
@Ayo 同问
学以致用是最快的
光看视频学的那点皮毛 其实真没太多用处
你要针对你的项目去学 然后在自己项目中实践 然后看下能不能到遇到一些给力的小伙伴 可以提点提点你 没事多请教 技术一下就会上来很多
谢谢你每次都这么耐心地回答我的问题,看了你的回复觉得受益颇多。
我现在确实处于知道自己哪里不知道,但是不知道自己怎么学习的阶段,也看了一些网上的课程,不知道自己是否应该买来学习,感觉对自己有用的部分比较少。
对于第二点建议,确实之前就意识到了应该自己去学一下开发基本的内容。对于第一点,我们公司使用了漫索作为开发和测试以及产品之间发布缺陷情况和沟通的平台,我还应该去试一试做一个测试平台吗?
赞 。我记得当时做自动化时,领导也有说过需要懂点 Android 开发。然后就自己买了点书(第一行代码)等 。后来也陆陆续续的做过项目中的一些 app 的开发,对自动化还是有不少帮助的。
我也有和你类似的疑惑,不知道该学些什么了。
像是大家说的实践出真知,去实践才是最快的学习方式。道理都懂,但是怎么去实践呢,就比如我学 java 吧,学了 java 基础了,搞了一下基础的接口自动化,然后对于 java 能深入解决什么测试问题,毫无思路,没有人可以指导或者模仿。
你提到的这个平台,除了缺陷,有其他测试日常用的工具在上面吗?
按完整研发周期来走,比较常见会需要的功能包括:
提测前:测试用例管理(特指手工测试的,便于沉淀用例,以及让开发记录自测情况)、需求管理(有需求管理平台也可以忽略)
提测动作:提测管理(方便自行设定提测单格式、准入准出准则和快速统计测试的任务量,如果项目管理工具有相关功能也可以直接用)
测试中:接口测试、性能测试、UI 自动化测试等各种专项测试工具、造数据平台及各种杂七杂八的业务提效工具、持续集成流程(有 jenkins 也可以先用着,不一定要重复造轮子)、各种代码扫描工具、测试环境管理(有不止一套测试环境,或者并行需求比较多的一般都会有这块需要)
测试结束:测试报告(包括结论、各项数据图表)、测试产物(如 app 的话要给出测试确认通过的 app 包给发布人员)
上线后:线上故障管理(故障报告、待办项跟踪、数据图表等)、线上监控大盘等
简单点说,不一定只有自动化测试才是测试平台,测试日常需要用到且有多人使用或者协作需求的,都可以成为平台的内容,为测试服务。
你这个问题核心是视野受限,可以多出来和同行交流,参加下当地的沙龙或者社区组织的 MTSC 大会啥的,看看外面的世界。视野开阔了之后,你会发现你现在已经习惯的很多做法,其实还有很多可以简化或者提效的空间。
另外,java 是工具,工具的目的是解决问题。
建议你定一些解决工作中问题的目标,比如让你测试报告里的统计数据从自己从系统里算变成自动生成之类的,然后这个小脚本或者小 web 平台可以用 java 这个工具来实现;或者通过学会 Java ,看懂开发是怎么修复那些比较关键的 bug 的,并把自己的理解告知开发,确认和开发思路一致。
再深入或者熟练点,可以通过看代码理解开发实际实现逻辑,分析是否有漏洞(代码也是文档的一种,能通过分析需求发现漏洞,那也能通过分析代码发现漏洞),以及引入一些基于 java 的工具(如字节码增强技术,可以做到不改动任何开发代码的前提下直接插入/修改代码逻辑,性能 apm 类和 “无埋点” 采集用户行为数据很多都基于这个)来让你能更自由高效地去伪造各种异常场景,确认异常兜底逻辑是否有效。
把测试两个字去掉,把自己当成开发去进阶。
感觉我和楼主的经历有点像,毕业出来半年多了,自己也根据网上资料和视频学着去用 unittest、pytest、selenium、appium...也试着写出来了 PO 模型的框架,试用一结束就直接转成了测开岗,刚开始是让我维护一些 case,用 appium 做自动化。后面也使用了社区一位大佬的 atxserver2,也在这基础上添添改改了一些功能。可到现在,这两个工作都没做了,现在让我弄代码审查相关的工作(sonar、jenkins...),时间一久,以往的东西也没用到了,现在学的也怕以后用不上,要是出去面试也担心自己面不过一般的测试开发岗。时间长了变得很焦虑,之前也报了培训班来提升自己,但感觉还是挺焦虑的,感觉成长很慢
特意往上翻了 #14 的评论,觉得大佬的分析条条在理,方法也会去学习下,其他评论也让我受益匪浅,同时也希望楼主能够通过自己努力越做越好,共勉