http://www.51testing.com/html/48/n-4463948.html
基础技术能力
首先作为测试开发人员,基本要求是能看懂业务代码,再深入一点是能通过各种技术手段定位到代码的bug、最终要求是测试开发人员具备解决 bug的能力。这就是很多大公司的测试开发岗位面试官看中的基本能力。看起来简单,但是做起来有难度,需要大家有扎实的代码基础,例如编程基础、设计模式思想,包括单例模式、代理模式、外观模式等等。
有了这些技术能力之后,在日常工作中,测试开发工程师还需要做什么呢?协助开发编写单元测试、开发测试工具/平台提升工作效率、搜集测试人员测试过程中的痛点并使用技术手段解决之、开发自动化框架/平台等等。
风险识别能力
当前端开发、后端开发、测试开发坐在一块的时候,产品经理提出了一个功能需求。前端同学说前端可以如何如何做,后端同学说后端可以如何如何做,客户端开发同学又提出了如何如何做。他们说的都没毛病,几乎任何的功能需求,前后端都可以单独完成。那么这个需求最终如何做呢?测试同学这时候必须要整体把控迭代的风险,准确的提出最佳的方案,例如:前端提供多少个入口,后端提供多少个接口,约定传递什么类型的参数等等,最大限度的降低改动有可能带来的风险。产品上线之后呢?很多线上故障人肉是盯不出来的。这就需要测试开发同学进行一些监控点的梳理、报警点的设计,不论是开发小工具还是各种平台,只要能第一时间发现线上问题/风险,并给大家警示提醒就够了。
综合测试能力
此项能力是日常工作积累的结果,离开了丰富的测试经验,上面的几点都是没法很好的把握。一名合格的专业的测试开发工程师要求你能找到别人找不到的bug,而且是非常高效的去找到。很多传统的测试人员在设计测试用例的时候,只是把产品经理提的需求细化,转变为功能场景,然后再套用传统的用例设计的方法设计出一套自认为完美的用例,最后没有发现一个bug,有木有很尴尬?可当你发现身边的测试同学设计的测试用例时你就知道原因了。通过对变更代码的走读,识别变更点对整体架构的影响,敏感的意识到容易出问题的点,有针对性的对风险代码块进行测试,这样想不发现bug都难。
测试运维能力
面对各种微服务架构,我们的项目变得越来越复杂,如何快速构建、部署、集成项目,变得越发重要。我们除了具备以上能力外,还需要掌握一些基础的环境部署方面的能力。
现在比较火的DevOps,他从研发角度推动配合运维和测试,而从测试的角度来说,我们也需要从测试角度去推动研发和运维,这样才能真正把测试落地到整个研发体系当中。如何将各种静态、动态测试方法工具,并且整合进入持续集成中,也同样是测试开发人员具备的一个重要能力。