软件测试自学是完全可以的,但是这句话并不代表人人都可以自学。
想转行软件测试,纯自学会遇到以下8个问题:
自学需要很高的自律性,你能做到吗?
自学在学习过程中会碰到很多困难,你都能解决吗?
如果解决不了,你心态是否强大,继续坚持下去?
实践项目没人带,你是否能独自从0完成?
你是否能把一份软件测试的简历写好?
你是否能接受简历石沉大海,没有回应?
到了面试阶段,软件测试的面试题,项目提问你是否能从容应对?
你是否可以接受薪资比之前下降很多?
有人说,还没开始,就被劝退了,没错,如果解决不了上面的问题,可能也只是浪费时间浪费精力而已,有很多人因为上面的问题放弃或者又去报培训班,当然,大家都可以去试试自学,先学一个星期看看。
怎么学呢?
在网上,经常看到很多新手想要学习软件测试,却不知道该怎么开始,软件测试到底需要掌握哪些技能?小编粗略的整理了一份学习大纲,希望对刚刚入行或者想要学习软件测试的朋友有一点帮助。
不管你以前有没有学过计算机,有没有计算机基础,学习测试的理论都是首要的,不管你是想要学习功能测试,性能测试,测试开发。
主要包括常见的软件开发流程及模型,特别是敏捷开发相关知识。
软件测试的定义、分类、测试的流程、测试用例编写方法以及bug的管理及生命周期。
了解web端和app的常见测试点和测试方法。
编写常见的测试文档,如软件测试报告,bug单,测试计划等等。
数据库是开发和测试最基本的技能,软件前后端的交互,本质就是数据的交互,不管是功能测试,性能测试,接口测试,自动化测试等等,都离不开数据库的支撑和使用,这一部分主要是了解数据库的基本概念,数据库SQL增删改查,常见的表操作语句,以及数据库工具(Navicat)的使用
作为一名软件测试工程师,我们经常要在服务器端查看日志,从而定位bug的源头,还有,在linux系统上搭建测试环境。Linux系统一直被用作重要的服务端操作系统,我们必须要掌握基本的Linux系统知识,熟悉常见的命令及工具,当然,更高级的使用,是通过编写shell脚本,自动化完成测试任务。
接口测试本质上也是功能测试的一种,通过脚本和工具,模拟客户端对服务端接口进行调用。由于是从接口层测试,能更早的发现问题,提高测试的效率,降低修复的成本。现在招聘软件测试的基本要求之一是熟练的掌握接口测试。
性能测试的技术要求很高,不仅要对性能的指标,测试的分类,测试设计有深刻的理解,还要学习系统业务和架构相关知识,这样才能更好的设计性能场景,分析出系统的性能瓶颈。性能测试常用的工具:jmeter和loadrunner(大家可以根据需要进行学习)。
学习自动化测试的基础是掌握一门编程语言,个人优先推荐Python(简单;易学;免费开源),其次Java,并且还要掌握一定的前端知识。
掌握相关的自动化测试工具selenium、appium等。
掌握常用的自动化测试框架,如果用python实现的话,则需要掌握requests库和unittest框架的使用。
⑦其它
顾名思义,软件测试是为了发现程序存在的代码或业务逻辑错误。通俗来说,软件测试是为了检验产品是否符合用户需求,软件测试需要在发布软件之前,尽可能的找软件的错误,尽量避免在发布之后给用户带来不好的体验。学习软件测试可减少因系统漏洞等原因造成的企业亏损,提高用户的体验,为企业保驾护航。