对软件测试星君也算是专业人士,带来一些意见,希望对题主和需要的朋友有帮助。
首先,要学习软件测试,无论是自学还是培训的方式,大家都需要先了解软件测试的目的和一些基本概念,否则很容易走很多的弯路,导致学习成本太高或者效果大打折扣。
先来看,一个软件项目从立项开始,到软件的需求设计、概要设计、总体设计、模块设计、接口设计,再到开发计划制定、代码编写、模块集成、系统集成等环节,最后到软件交付以及正式发布,在整个软件生命周期中,都是众多软件开发设计人员单独或协作一起完成的。这个过程中,必然存在前期规划不合理、需求不明确、开发中计划变更、设计不完善、编码有误、沟通不到位、个人思维局限,以及各种条件限制等等。
因此,一个软件自始自终都是有缺陷的,这就需要在各个环节对软件进行检查改进,让软件最终能尽可能的符合甚至超越最初的需求设计,因此软件测试也就伴随软件开发而生。
再则,软件测试涉及的内容也是非常广泛的,下图可以参考学习,图比较大,若看不清可以找星君私发。
通过此图,也可以看出软件测试不仅仅是写个测试用例,测出一个BUG而已。在此之前的测试计划制定,测试环节设计,都需要针对被测对象做全面的针对性的考虑,这样才能设计出合理的测试用例,也能做到充分测试。每一个BUG从单元测试遗漏到接口测试,发现并修复的成本都会增加很多,再遗漏到后面的集成测试、系统测试、整机测试等环节,成本更大,甚至遗漏到用户手中的话,有时会造成很大的损失。很多产品比如手机,出现频繁死机/重启,导致退货甚至直接召回也时有发生,就是最好的体现。至于测试所需的测试环境搭建,测试工具的选用和使用,甚至特殊工具的开发,都有一定的要求。
通过上面对软件测试的基本了解,再回到题主的问题上。软件测试需要培训几个月,就要先问自己一些问题:
自己有哪些软件测试的基础
基础的好坏,直接决定你到学习效率
自己准备做哪个环节的测试
不同的测试环节,需要的能力差别很大,一般越是前端测试环节,要求越高。
从事的行业定位
不同的行业,对软件测试的要求也是千差万别,所需的能力自然高低不同。
回答了这几个问题,再来选择自己需要学什么,学到什么程度,也就更有针对性,也能极大的缩短学习过程。
简单些的如UI测试,用户测试,只要对被测产品基本熟悉,按照产品使用,做各种功能测试,还是能比较快上手的,做一些基本学习和培训,一个月一般也足够了。
如果需要做白盒中的接口测试,要求就高一些,需要一定的编程功底,良好的逻辑思维,以及独立思考的习惯,没有一定基础可能半年甚至一年都难以胜任。
所以,对于软件测试的学习培训,还是建议有的放矢,先给自己划定一个尽量明确的目标,然后有针对性的学习培训会更好。而培训中,建议根据自己的基础情况,选择合适的学习资料或者课程,先尽可能掌握一些基本概念,陪养自己良好的测试思维习惯,然后在具体工作中,做好进一步的阶梯学习规划,这样才能更好的在每一个阶段学习到应该具备的知识,并在实际工作中应用和提升,也能更好的一步一步前进。
此外,好的软件测试人员,需要具备比较高的综合能力,建议立志做软件测试的朋友,除了专业的技术能力,还要锻炼沟通能力/协调能力/归纳能力/逆向思维/发散思维等等,这样才能让测试做的更好,自己也能更好的发展。
现在很多线上平台也能找到一些课程,比如网易云课堂,中国大学MOOC,51testing等等,建议找一些课程系统性的学习一下,一些基本课程大同小异,学习过程不求太多,务必打下坚实的基础。
原创文字,希望能帮助到一些人。