测试开发需要掌握哪些技术?
前言
先来个介绍背景,身边的朋友或者技术群的群友,总会时常问起,测试开发需要具备哪些技能呢?测试要如何往测开方向转岗呢?本篇文章主要聊下个人的一些观点看法。
目前,我主要从事CI/CD(持续集成/持续交付), 自动化相关的实践。
语言
对于测试开发工程师,他也是属于开发工程师,那么,最基础的需要具备一定的编程能力,从能看懂代码到能写代码。
编程语言: Java-》基础算法-》重构
对于大部分的计算机相关专业的同学大学时期都有接触,把java基础掌握然后是高级的用法,不难的一件事。第二是基础的算法,冒泡,快排,二分法等基础的刷完。第三,读2+遍重构(改善既有代码的设计)这本书,再回头看一看自己写的代码,如果你觉得像一坨*,请动手重构它。
当你每隔几个月看到自己写的代码想骂人,恭喜你又进步了!
英语: 技术文档,各种官网基本都是英文,当然,有的也有中文翻译。
测试理论基础
测开也是测试工程师,必须具备良好的测试理论。了解各种的测试方法,以及它们之间的差异;了解常用的用例设计方法(等价类,因果图...),等等...
这里可以推荐大家看一本书《google软件测试之道》。(读的第一本测试相关书籍)
CI/CD
对于测开未来是工程效能方向,参考google,google在十年前就开始往这个方向走,那么,应该具备最基础的CI/CD的技能,提升开发团队的效能,为团队赋能。(目前很多公司测开还是不做这事儿...)
CI/CD可以为团队提供更高效的构建速度,交付更高质量的代码,一方面需要了解它的作用,让团队去做改进,比起工具,改变固有的思想往往来的更难。另一方面,大家最关心的都要会哪些工具呢?请看下图,工具真多,如何开始呢?

构建工具:
Automation
现阶段,看看大部分的JD你会发现,绝大多数的公司要求掌握自动化测试技术,包括UI自动化,接口自动化,性能测试等。
测试工具/测试平台
这部分内容,更多的是在于了解当前业务,当前流程有哪些可以优化提升的,有一个idea,会代码就可以干了。难的是发现当前的痛点,发现问题解决问题的过程,需要有足够的知识经验才能做好这件事。
测试平台不一定是万能的,不要为了炫技而去开发,要立足于解决问题,节约resource。如果对之类的有兴趣不妨查下github,这里有很多开源的工具,看看那些star多的项目。
最重要的
学习能力,个人觉得无论是什么样工具语言,其实最主要的还是个人学习能力,求知欲。在面试的时候,特别是对3年以内的工程师,我很关注他的自学能力,我认为这部分的人只要有好的引导他可以很好的开展工作。5年+的更关注经验了,如果疑问三不知,你跟我说你喜欢学习....礼貌性微笑。
沟通能力,良好的沟通意味着已经成功了一半。必备软技能~
总结
从开发到测试开发再到慢慢接触管理方面,7+年的时光里,对测试行业的看法、观点、认知,随着自我的成长一直在发生的变化,对未来我依然憧憬着,希望测试行业可以越来越好。同时,迷茫困惑也一直伴随左右(我是谁,我在哪,我将往何处去...)。
以上内容纯属个人观点,希望对你有帮助,也欢迎跟我探讨测试方面的知识。