很多人听说软件测试门槛低、好入行,就想转行过来,但真要学的时候又不知道从哪下手。其实学软件测试没那么玄乎,关键是把路线搞清楚,然后一步一步往下走。这篇文章就按最实际的学习顺序,把怎么学软件测试讲明白。
第一步:先弄明白软件测试到底是干什么的
在动手学之前,你得知道测试员每天在干嘛。简单说,就是拿到一个软件,按照一定的方法去使用它,找出里面的毛病,然后写成报告交给开发去修。所以测试的核心不是点鼠标,而是要会设计测试用例,知道哪些地方容易出问题,怎么把问题找出来。
建议刚入门的人先花一两周时间,看看软件测试基础的书或者视频,重点理解这几个概念:黑盒测试、白盒测试、功能测试、性能测试、测试用例怎么写、缺陷的生命周期、测试流程是什么。这些是整个行业的基本功,后面不管学什么方向都绕不开。
第二步:把测试用例的设计方法练熟
写测试用例是测试员的看家本领。常用的方法有等价类划分、边界值分析、判定表、场景法这些。听起来名字挺唬人,其实道理都很朴素。比如让你测一个登录框,输入框要求6到12位密码,那边界值法就是拿5、6、12、13这几个数去试,看看程序判断得对不对。
这个阶段最好的练习办法,就是拿身边常见的软件练手,比如微信发红包、淘宝下单、12306买票,自己动手写出完整的测试用例,标清楚前置条件、操作步骤、预期结果。写多了,思路自然就有了。
第三步:补上计算机基础知识
光会点点点是不够的,想拿到像样的工资,下面这些基础知识得跟上。
数据库必须学,重点是MySQL,会写增删改查的SQL语句,会多表联查。因为测试过程中经常要去数据库里核对数据对不对,不会SQL寸步难行。这部分花一周时间集中练,把常用语句写熟练就行。
Linux基础也要会一点,因为很多软件是部署在Linux服务器上的,你得会敲几个常用命令,会看日志、查文件、传文件。不需要成为专家,会操作就行。
另外了解一下HTTP协议、请求和响应是怎么回事,知道浏览器和服务器之间是怎么交互的,这对接下来的接口测试很有帮助。
第四步:学主流的测试工具
工具不用贪多,把常用的几个学透就行。抓包工具Fiddler或者Charles要会用,能看到手机和电脑发出去的请求,排查问题特别有用。接口测试学Postman,这是现在招聘要求里出现频率最高的工具之一,学会发请求、加断言、跑批量用例。性能测试可以学Jmeter,能做简单的并发测试,看懂报告里的关键指标。
如果时间充裕、想往自动化方向走,再学Python编程加Selenium做Web自动化,或者Appium做App自动化。编程不用学得特别深,能写脚本、能看懂代码就够了。不过建议零基础的人先把功能测试学扎实,别一上来就死磕自动化,容易把信心学没了。
第五步:一定要动手做项目
学软件测试最怕的就是只看不练。知识点看了三遍,不如自己完整跑一遍。建议自己找一个项目练手,比如网上有不少开源项目或者练习平台,从写测试计划、设计用例、执行测试、提交缺陷报告,到最后的接口测试和简单性能测试,完整走一遍流程。
做完之后,把这个项目经历整理出来,写成可以写在简历上的内容。面试官不关心你看了多少视频,只关心你有没有真正做过。有实际项目经验的人,面试通过率完全不一样。
第六步:准备简历和面试
学完这些,大概两三个月时间,就到了找工作的阶段。简历上重点写你会什么工具、做过什么项目、发现过什么典型问题,别写空话套话。面试常问的问题也就那些:测试流程是什么、给你一个登录页面你怎么测、发现缺陷开发不认怎么办、SQL怎么写、Bug该怎么描述。这些都可以提前准备,结合自己的项目经历去回答,比背模板强得多。
给初学者的几句实在话
学软件测试不难,但想学好不容易。入门阶段别纠结先学哪个工具,先把测试思维和用例设计练扎实,工具都是熟练度问题。每天保持固定时间学习,三到四个月达到找工作的水平是完全现实的。入行之后也别停,性能测试、自动化测试、安全测试,往深了走,路会越走越宽。
