在市场需求的影响下,软件测试从业人员越来越多,但依旧有很多人对软件测试岗位并不了解。在很多人的意识里,软件测试是一个非常高深的岗位,软件测试工程师离我们非常遥远,这其实都是因为我们对这个岗位不了解。
一、软件测试岗位入门究竟难不难?
首先,学习软件测试是个不错的选择,总体上来说入门难度并不算高,即使计算机基础知识比较薄弱的人,只要通过一个系统的学习过程,也是能够满足软件测试岗位的基本要求的。
虽然入门软件测试的难度并不算高,但是需要学习的内容却比较多,也比较杂。
简单的说,就是测试什么类型的软件就需要掌握其相应的知识,像Linux操作系统,各种数据库产品以及各种服务器产品等等,所以软件测试人员需要掌握的知识面是比较广的。
另外,测试人员还要掌握测试工具的使用,比如采用自动化测试时可以使用Robotframework。
软件测试工作是围绕软件生命周期展开的,根据软件生命周期的不同阶段进行相应的功能验证(周期内要做的参考CSTQB)。
通常来说,在需求设计阶段,测试人员需要理解需求和具体的业务知识;
在用例设计阶段测试需要根据业务需求进行业务场景识别,进而进行用例设计、用例评审等;
在测试执行阶段需要执行测试用例结合探索测试;
测试总结阶段需要收集测试的相关数据并完成测试报告。
另外,根据不同的测试方向,需要选择不同的测试方法。
不同团队对于测试人员的要求也不同,当前不少团队赋予了测试人员更多的工作内容,比如测试不仅仅局限于功能性验证,还需要从用户的使用体验入手进行测试。
测试的内容涵盖了交互、视觉等更广泛的内容,这其实也赋予了测试人员更多的职责,从职业发展的角度来说,这就要求测试人员能够站在一个更高的角度来审视软件产品。
总之,专业测试人员是目前软件行业比较短缺的人才,未来的发展前景也比较广阔。
二、关于怎么系统学习的问题。
说一点点非计算机专业人员从事软件测试的心得体会
如果你是非计算机专业,毕业不久,软件测试工作门槛相对较低,比较容易入门。建议入职互联网行业,因为一般情况下,薪资相比传统的行业测试要高。
如果是测试小白,很多人面临不知道怎么系统学习,提供一点意见和学习内容。
- 测试用例设计方法,什么边界值,等价划分,正交法等等,这些一般都是功能测试需要的技能,不用去死记硬背理论,先用起来。
- 抓包,运用工具进行抓包,这里需要了解http协议,请求头,请求体,响应消息这些基本的知识。通过抓包得到的数据,用postman或者jmeter构造接口请求,接口能否请求成功。不要单纯为了抓包而抓包,将会的技能运用起来。
- 数据库,一般互联网公司在测试都有用到数据库,学习基本的增删改查。深入的话可以了解子查询,左右连接,多表查询,存储过程,事务等。
- Linux命令: 测试需要定位bug,部署环境等。所以掌握常见的linux命令是很有必要的,列举一些常见的。cd,pwd,cp,mv,tail,cat,ps,netstat,chmod等。
那测试基础有哪些内容呢?
- 测试的定义、测试的分类、测试的方法、测试的生命周期。
- 测试计划、测试方案、测试策略、测试用例的编写。
- BUG的定义、BUG的分类、BUG的六要素、BUG的生命周期。
- 测试和开发流程的关系、瀑布流、V字形、W字型(双V)、螺旋型、敏捷等等。
- PDCA、5W2H等分析管理的方法
- 质量管理体系CMMI(了解)
还有测试工具的学习
- BUG管理工具:禅道、Jira、Bugzilla等。
- web端自动化测试工具:selenium、QTP等。
- app自动化测试工具,有Appium,MonkeyRunner、Robotium等,
- 性能测试工具主要是Loadrunner和Jmeter。
- 抓包分析工具wireshak、fiddler。
- 数据库工具:mysql/oracle
- 接口测试工具:postman
以上的学习内容就差不多了,有时间可以上B站、知乎、CSDN、testerhome等等网站查找相关的知识,也可以看我往期发的文章。
三、是否报培训班学习
这是一个很多门外的人想要知道的一个问题,进软件测试行业是否要选择培训呢?
每个人的情况是不一样的,自学还是培训根据个人情况去选择,有的学习能力强,有的沟通能力强,自制力、学历等等。
自学:
首先是学习能力,自学能力比较好,理解能力好,控制力够强的,网上有很多丰富的资源,足够了,比如B站、慕课网、CSDN这些网站有免费视频,或者买相关学习书籍。学习之前得有个思路,有个学习计划,就像读书时学校课程安排一样,从基础学起,循序渐进,做笔记,练习,实操。
自学消耗的时间比较长,如果没有基础的话,想要自学也是比较难的,相对于有一定基础的,一般都是在空闲之余用碎片化的时间去学习,想要在软件测试的领域小有所成,找到一份正式工作,怎么也得一年半载吧。自学需要强大的自制力,需要耐得住寂寞,每天固定的坚持学习,但是遇到技术难点很容易做牛角尖,导致半途而废。
培训:
自学能力较弱,自制力较差的同学,还是建议培训,系统学习,因为培训学习时间相对较短,整体学习比较全面,学习内容也比较集中,有老师辅导还是能快速进入这个行业的,但是有一点别以为你报了培训班,不好好学,还是不行的,不可能像*老师一样天天逼着你学,如果这样,还不如趁早放弃这个行业。
*重要的一点选择报班的同学别被机构忽悠了,现在培训行业鱼龙混杂,别听培训班老师说培训完工资有多高,工作有多好,直接问重点就业率,授课内容,口碑等等,多选几家机构做做对比,有机会接触一下老学员。
四、*后的建议
根据我的经验给朋友们一点建议
1、软件测试行业,入门容易,学精困难,术业有专攻,师父领进门后,你得靠自己;
2、在大公司,你可能只是测试一个模块,小公司,负责所有测试,一人多职,比较锻炼人。刚入行建议以学东西为主,不要只在乎薪资待遇。
3、万变不离其宗,软件测试是个软件系统工程,掌握全面,测试点各个击破,方能庖丁解牛;
4、学会沟通交流,准确反馈测试结果和解决思路,技术再好,没有表达给程序员,成果不利于转化;
5、抱着一颗时刻学习、时刻进步的心,软件是一个快速迭代的行业,跟不上时代,追不上趋势,就会被社会淘汰。