如何成为一个还不错的测试开发

在测试行业中,测试开发人员一直是非常特殊地存在,他们比普通测试人员薪资高,比普通测试人员代码能力强,有人说他们是测试,有人说他们是开发,到底一个还不错的测试开发应该具有哪些能力?又应该具有哪些技能栈?在这里,我表示我并不是测开大牛,但我也希望能够借此机会与大家沟通并培养学习这些能力。

以下内容仅代表我从业以来所积累的相关经验,我会从硬技能、软实力这些方面尽量阐述我所认为的 “还不错的测试开发” 应当做到哪些技能。

技能树

测试领域能力:作为一个测试开发,测试领域能力,非常容易被忽视,因为很容易想到的是平时工作主要是写代码,至于那些测试分析能力的培养,就会容易被束之高阁。缺少这些能力的人,代码写得再好,也是浮沙筑高台,最终还是一介匹夫。这里我们来举个栗子:如果测试微信朋友圈?到底该怎么测试呢?是这么测试呢?还是这么测试呢?[乖巧样]

好吧,作为一个不错的测试开发,应该能想到这些内容: 朋友圈测试

说下这种测试领域能力的特征:是一种由表及里,层层深入,充分挖掘测试需求的能力。这种能力,一方面需要平时积累自己的思考习惯(多层面设问),另一方面也考验自己的需求分析能力。在此基础上,注意哦,这里我们强调这是基础,我们分解如下这些硬技能:

1)计算机基础

这里我列了3项——操作系统、算法和数据结构和网络。做为吃这口饭的手艺人,基础技能是我们应该也必须掌握的,试用连入门级别的技能都没有,你怎么有脸说是一个不错的测试开发呢?

2)代码能力

这里我们强调的是代码的横向能力,以及工具语言代码的纵向能力。前者你应该涵盖这些方面:python脚本、java代码编写、性能脚本、前端、模式、IO、基础容器操作、多线程,并在此基础上对代码手艺有更高的追求,更好的代码编程习惯的养成。这是干活的基础,好好干吧,干巴爹!

3)运维

测试开发之外,别老想着让别人部署你的代码了,学点运维吧。LINUX这是必知必会的,相关的测试环境的搭建可是件体力活,另外,还需要容器化,以便能够快速部署,持续交付,此外,你还需要部署相关的监控,以便优化你的代码,并且以此提高你对代码的自信。祝你具有蜜汁自信!~

4)数据库

一般来说,代码或平台的设计,势必设计到模型和模型的迁移,所以基础操作、建表,那是天然自带的技能属性,同时,为了表示自己是有追求的,你还的随时留心SQL的新能,防治和预测慢SQL的产生,当然,数据库线程数调整,也是你必然要去完成的。

5)分布式

当你的测试代码或平台,被使用得越来越频繁,那么分布式是必然的选项。对于分布式天然的缺陷和典型的问题,再实施分布式前就需要去了解和掌握,比如最终一致性,比如高可用问题,这些都是做分布式必然需要去解决的问题。

6)懂点架构

这里说的是懂点,并没说精通哦,是有区别的,这里我们强调技术选型对架构的影响以及架构中的使用方法对其的影响。这里不展开了,真的,因为我怕一本书讲不完,那么多书讲架构,买本看下,应该是必须的。

7)平台化、一体化思维

在互联网测试领域,现在有一个大家都很追求的东西,或者说是大势所趋的方向,平台化,测试平台化提了这么多年,成功的其实并不多,关键不在于技术的使用,而在于设计平台时候的局限,比如:无法估计到业务的发展、没有跟上技术的更迭,问题莫衷一是,所以,如果你从你编写代码开始,就有意识培养这种思维和意愿,相信在你能够引导测试技术化的实践过程中能够助你一臂之力。

以上,是我列举的技能树,这个技能树长在了测试领域能力的根上,需要不断浇灌根基,才能最终成为一片参天巨树(场面太宏大,作者也瑟瑟发抖)。

保持竞争力

聊完了技能树,我们再聊聊如何保持竞争力的问题。学习如逆水行舟,不进则退。基础扎实,不是学了之后就忘了,需要不停的去看,巩固,基础是万变不离其宗的。其次,关注行业发展、新技术、新动态至少不能落伍了,这里推荐vipTest,未来的测试开发之家。最后,有思考,有产出,在你工作中,多思考多产出,形成良性的自我输出能力。

思维导图

最后结合上文形成了这样一份思维导图:

还不错的测试开发

写在最后: “秦失其鹿,天下共逐”,在测试开发领域,一个广阔的充满竞争又满是机会的领域,很遗憾,目前还没有独领风骚的领军人物出现,所以,希望会出现一个个的还不错的测试开发们,一起去创造一个属于这个领域的成功。

撰写日期 August 24, 2018