[如需转载,请在转载时注明出处,并保证本文的完整性]
作为测试工程师,有时候会觉得要学习的知识很多很杂,不像做开发,专于自己擅长的语言领域就好。做测试要了解的知识至少包含:测试理论、操作系统、网络(TCP/IP、各种协议)、高级语言、脚本语言、测试工具、数据库知识。看到这么多需要学习的东西,再想一个一个深入学习需要花费很多的时间,可是如果浮躁的粗浅的了解也是不行的。那么就要有专攻的方向,我根据一些公司的招聘要求和通过同行的了解简单总结下:
一、以为亚信这样的公司为代表,做电信行业的测试的,还有神州泰岳、神州数码等公司。
这样的公司应该是测试的都是比较大型的分布式系统,服务器都是Unix,数据库有Oracle、DB2等,因此要进入这样的公司做测试,linux操作系统知识和oracle、db2等大型数据库知识、存储过程等,都是必须要掌握的。
二、互联网:现在比较火的行业,这类企业虽然有的名头很大,可是测试团队确实小的可怜,或者即使很大也很不规范。那么要进入这样的公司需要具备什么知识储备呢?例如百度、搜狐、新浪、雅虎等。(当然这些企业的测试团队还是非常强大的)
Web相关知识:Html、Http协议等;编程能力:排序查找相关算法、正则表达式等;如果要进入知名互联网公司,那就需要较深入学习提高自己的开发能力和web相关知识。(常见的面试问题有:session和cookie、get和post、正则表达式、如何实现快速查找排序等);这类公司一个比较大的特点是对数据库知识要求不是特别高。
三、客户端产品:Sogou、奇虎、腾讯这样的公司都是开发自己客户端产品的。
这类客户端主要是在Windows平台下运行的,因此需要积累的知识有Windows相关系统知识、网络方面也需要掌握TCP/UDP、Webservice等知识、开发能力应该更偏于C系列语言(C、C++)、脚本语言也要会(做自动化)。当然这种公司也不只做客户端程序的,如果是其他web产品测试,那么要求便不一样了。总之、客户端产品测试是不会太要求http、linux和数据库相关知识的。
当然,自动化、白盒、测试开发、性能等不同方向的要求还是有所不同了。
总觉得,我们学习知识可以凭兴趣学习,但不能为了应聘某工作而学习,也不能为了学习而学习,要知道学的东西怎么应用,用在哪里,对我们工作有什么积极的作用。