有关功能测试转型测开,小白如何入行测试开发,还有测试开发之路怎么走的话题,在业内的热度一直不减。在TesterHome社区也时不时被不同小伙伴问起。
今天,笔者结合大家在社区的讨论,以及测开前辈们的分享,整理了这篇文章。有不足之处,欢迎补充。
一、入门
相关疑问:
“如何从业务测试过度到测试开发”
“我是一个小测试,但不想一直当测试,还是想做测开,但是呢,网上没有什么关于测开的具体指导。去面试,别人问有没有什么自己做的工具平台什么的,但我想很多平台都是开源的,自己部署下就好了,需要测开做什么呢?”
在《Google 测试之道》一书中,关于测试开发工程师(SDET,Software Development Engineer in Testing)的岗位职责有比较详细的解释,其中说到测试开发首先应该是开发角色,只是相比于业务开发工程师,测开的目标用户更多的是公司内部的测试人员(也包括其他岗位的项目组成员),而其核心工作内容是提供通用测试技术解决方案,开发实现测试工具或平台,协助测试人员更好地完成测试工作和项目交付。
在这个前提下,也就更容易理解大家对如何入门测试开发的建议:
-
最重要的:上手撸代码!测试开发要具备“开发”的能力,代码能力是基础。
-
不用太纠结到底该学哪门语言(python、java等都可以),更好的选择是根据公司项目中主流的开发语言进行学习。
-
不急于马上具备测试平台的开发能力,可以先从“抄”开源项目、写脚本、写小工具入手,循序渐进。
-
结合实际在工作中学习:将学习的内容应用到现有项目中,解决实际测试痛点。
二、发展和提升
相关疑问:
“作为一名自学的测试开发工程师,如何继续技能上的进阶之路?”
“测试开发的发展会不会遇到瓶颈?”
先引用一段话:能帮助到别人的东西才是有用的东西,酷炫牛掰的技术在没有用前都是浮云,不管小公司还是大公司都一样,你知道他们的痛点并能解决,你就牛掰。
总结大家的建议:
-
不要丢掉敏锐的测试思维
-
更深入地学习和理解开发技术。比如学习被测系统是怎么开发的,自己动手写一个小而全的小系统。
-
结合需要更高技术的业务场景进行落地和实践:在现有工作中开拓机会,加深与开发/运维的合作;甚至是去寻找新的更大更完善的团队或平台(tips:注意结合自身工作经历,不是提倡跳槽)。
-
多与同行交流,抬头看路。越往上走,更多比的是视野和思维方式。如果只顾做好眼前的工作,不去了解和关注行业热点和对从业者的技术要求,不去建立一定的人脉关系,就容易把自己的路越走越窄。
-
更高阶的发展,需要有综合能力——这个其实不止针对测试开发,各个岗位都是,只是每个岗位所需的综合能力略有不同。越高阶的岗位在团队中的占比也越少,对从业人员的要求也越高;伴随工作年限的增加,还有年龄的增长,“年龄焦虑”更多时候也是来自工作能力与年龄增长、高阶岗位的不匹配。同时具有测试思维、开发能力并且能深刻理解业务的测试开发,肯定可以走的更高更远。
总结几个从入门到进阶的共通关键词:动手写代码、结合实际工作、解决测试痛点、多与同行交流。
三、写在最后:
网络和信息极度发达的今天,即便足不出户也可以在线学习、交流。当然,信息发达的一个弊端是:信息太多,需要自己来分辨优劣。多逛一逛技术论坛,多参加线下活动,汲取适合自己的知识养料。成长是每一天的坚持!
有关于测试、测试开发、测试管理和质量保障的问题?来TesterHome寻思路找答案。
还有聚集了行业大咖、业界精英的千人测试开发:MTSC大会,拓圈、学习、提升一举多得。