国内软件业快速发展的最近十年,软件开发工程师的人数和职业水平得到了很大的提高,当前国内高水平的软件开发工程师的数量已经可以和许多软件业发达的国家相比。但是,软件测试人才严重缺乏,尤其是既懂质量管理,又懂测试技术的软件测试工程师,更是凤毛麟角。
现阶段软件测试工程师的晋升通道有两种:一种是专业通道,成长为高级软件测试工程师或专职的性能测试工程师、自动化测试工程师、白盒测试工程师,这时能够独立测试很多软件,甚至可以成为软件测试架构设计师,当然随着技术的积累也可以转做项目管理;第二种是管理通道,从测试工程师到组长(Lead),再到测试经理(Manager),以至更高的职位。测试工程师晋升通道如图3-6所示。
虽然软件测试工程师缺乏并且职业晋升通道明确,但这个行业并没有受到明显的青睐,很多人并不认为软件测试是一个比较好的职业,大多数人认为开发比测试职业发展更好,这主要有以下两个原因:
第一:软件测试行业入门要求比软件开发行业低,认为软件测试未来没有竞争力。坦白说如果纯做手工测试,其要求的知识水平确实不高,但开发的入门要求明显比软件测试高出很多,所以很多人依然选择开发而不选择软件测试。然而相反的是,如果要成为一名资深的软件测试工程师,需要的知识无论从广度还是深度来说都比开发的要求高出很多。
第二:职业初期,软件测试的工资待遇比开发低。现在人比较浮躁,特别是彼此间的攀比,导致这种情况加剧,使得很多人并不看好软件测试这个职业。
测试工程师成长线路
软件测试工程师晋升通道对应的工程师的职业发展也分两个方面:一是向技术方面发展,成为技术专家;二是向管理方面发展,成为管理者,如图3-7所示。
就技术方面来说,现阶段更多的是黑盒测试,即手工测试,这也是入门级的软件测试工程师最基础的要求。但只做手工测试在未来没有竞争力,对个人职业发展也不好,现在自动化测试和性能测试越来越受到企业的重视,这样自动化测试和性能测试也就成为测试工程师未来的一个发展方向,而这两个方面显然比手工测试更有竞争力,同时待遇也要高出许多。也可以向白盒测试方面发展,白盒测试工程师必须能看懂代码,否则测试很难开展。而随着未来云计算的发展,云测试将成为一个新的分支,但就要求对自动化和性能有一定的了解。
就管理方面来说,软件测试工程师未来可以选择在测试经理、测试总监、业务专家、产品经理、配置管理和质量保障几大方面发展。
将测试技术做到一定程度后即有机会成为测试管理者,也就是所说的测试经理或测试总监。
由于测试工程师对产品和业务很熟悉,这样可以成为专业的产品经理和业务专家,现在很多公司在Beta测试过程则有专门的业务工程师或业务专家参与测试。
而配置管理和质量保障(或质量管理)也是软件测试工程师职业的一个发展方向。