如果你做好了选择,决定从事软件测试,希望认真的接着往下看,然后再考虑自己是否需要花几千块或上万块去报培训班。报班不报班前都应该认真思考,毕竟对于大部分人来说培训费用也是一笔不小的开支,同时对软件测试的具体工作内容也很模糊,会停留在测试就是找缺陷(Bug),希望通过阅读本文之后你对软件测试有一个清晰认识。
之前有读者问我软件测试需不需要报培训班,我的个人建议是软件测试入门不需要报培训班,毕竟现在互联网上的学习资源非常多,完全可以通过自学找到一份满意的测试相关的工作。培训的时间也就几个月,且大部分的培训机构是视频教学,培训的内容非常多,其实培训的大部分内容对不同行业在工作后都不用上。前期我们的目标应该学习测试的基础知识,后面根据公司的业务方向和自己对测试的理解在考虑以后发展的方向,例如自动化方向、性能测试方向、管理方向、还有物联网智能汽车等方向,总之软件测试内容非常多,人的精力有限,可以选择1到2个方向深入。
其次,关于学习可以结合视频和书籍一起看,只看书毕竟对于软件测试的各种测试类型、测试术语听起来比较枯燥,结合视频可以加深对概念的理解。针对各种培训班视频可以在公众号的后台回复“软件测试教程”获取,也可以去淘宝或闲鱼花最多几十块钱就可以买到大部分培训机构的教学视频了,也可以去培训机构的网站上获取他们的培训目录然后自己针对性的学习。书籍的话推荐《软件测试艺术》这本书,非常适合入门软件测试的人员读一读,书中介绍了软件测试是干嘛的,测试的类型、流程、开发模型、web测试、移动互联网测试,基本的测试知识都有覆盖,可以非常快速的了解测试的全貌。
软件测试目前有手机等智能硬件方向、互联网web方向、物联网智能汽车方向相关、PC端应用测试方向,测试的内容都不一样,但是测试相关的基础理论知识是一样的,我们必须掌握。后续根据自己当前公司的业务和发展领域在调整即可。测试虽然没有开发要求掌握的知识深度,但是测试技术更新快,内容多,需要我们保持持续学习。
软件测试的基础知识,每个人都必须了解和掌握,不理解的话前期也需要熟,在面试的时候能回答上来,刚踏入测试行业我觉得把基础知识掌握,然后熟悉下进阶的部分足够,工作后等我们会对测试有另外的理解在进一步学习和理解测试意义。
基础部分:测试的定义、测试的目标;测试类型、测试方法、测试报告、测试执行与跟踪;缺陷的定义、缺陷的生命周期、缺陷的管理(jira);开发周期流程、测试周期流程;测试用例设计方法;这个是通用的部分,必须要掌握和了解的知识。
通用进阶部分:测试计划、测试策略、测试效率;风险管理、进度管理、质量管理、成本管理、交付质量、自动化开发;以上都是项目管理部分,也适用于作为一个模块管理责任人部分。
互联网方向进阶部分:接口测试、性能测试、http协议、抓包、SQL、Linux、Python/Java自动化开发;这部分根据公司的业务和自己的发展决定深入的方向,如部分人会做接口测试工程师,部分人做性能测试工程师,还有的人走测试开发工程师。
手机方向进阶部分(不包含硬测):LCD | TP、 Camera主客观、Audio主客观器件专项工程师;Wifi | BT、场测、CTS | GTS 认证、Modem、性能 | 功耗 | 稳定性 | 续航、生产测试、Sensor(指纹、重力、陀螺仪、指南针、红外、NFC)、兼容性(Top三方兼容、多媒体兼容、外设兼容)专项测试工程师;工具 | 脚本开发工程师;测试计划、需求分析、人力评估、风险评估、进度跟踪、测试跟踪、交付质量方面的TPM项目管理;还有其他通用知识都需要掌握和了解。
发展方向:测试经理、项目经理;测试架构师、测试开发、性能测试、接口测试、安全测试、界面测试、单元测试;质量PQA;数据分析师;产品经理;不同的人根据在工作中接触的业务可以选择发展方向。