为什么会学习软件测试?
已经28岁了,算一下快过去3年了,刚毕业那会工作了一年,因为自己当时很迷茫(觉得自己挺废的),所以就没去工作就一直在家,家里固定每个月给点生活费,但还是没钱,但家里给了我一套房子,出门300米左右就是地铁站,自己一个人住,属于没有钱,却又饿不死的状态(就是当个没用的废人)
水费电费,是家人的卡每月自动扣费的,我需要交的仅物业费,但一个月下来还是没钱,有一部分买了游戏,有一部买了网络课程,或看网络小说。
吃饭没什么,毕竟一个人住,饭量又不大,哪怕一顿吃半斤猪肉,我都吃不完,再加上吃点蔬菜水果,实际也吃得不多,菜市场的价格也就那样。我也不去外面前吃,不点外卖,花钱也就很少,在家煮东西吃,顶多就消耗一点点煤气而已。
活着的意义,对于我来说,可能就是等着醒来吧,毕竟自己腿长在自己脚上,理论上想走去哪就去哪。
其实我自己一直感觉自己在等待些什么,可能是自卑或是对外面世界的恐惧,让我没有勇气,一直困在一个房子里,作茧自缚。
但现实跟网络不一样,看着颓废的自己和逐渐老去的父母,我觉得自己不能在堕落下去了。
一直到2020年初,我在网上了解了软件测试这个行业,然后开始了自学之旅,学习了差不多半年的时间。花了一个多月找到了一份8k的工作,有些朋友说25岁能学吗?好找工作吗?个人觉得还是看自己想不想在这个行业扎根,愿不愿意一直学习,提高自己的技术水平,现在我也在学习自动化测试毕竟时代在进步人也也跟着进步不。
学会思考,总结沉淀
我想说的第一条就是要学会深入思考,总结沉淀,这是我觉得最重要也是最有意义的一件事。在软件测试这个圈子里,常能听到一些言论:我这个工作一点技术含量都没有,这能让我学到什么东西?抛开一部分调侃和戏谑的论调不谈,这可能确实是一部分人的真实想法,至少曾经的我,就这么认为过。后来随着工作经验的积累,加上和一些高level的人交流探讨之后,我发现这个想法其实是非常错误的。
之所以出现没什么可学的这样的看法,基本上是思维懒惰的结果,就和3年前的我一样。任何一件看起来很不起眼的小事,只要进行深入思考,稍微纵向挖深或者横向拓宽一下,都是足以让人沉溺的知识海洋。
所以说学习和成长是一个自驱的过程,如果觉得没什么可学的,大概率并不是真的没什么可学的,而是因为自己太懒了,不仅是行动上太懒了,思维上也太懒了。
可以多写技术文章,多分享,强迫自己去思考和总结,毕竟如果文章深度不够,大家也不好意思公开分享。
软件测试要怎么学习?
相对IT行业其他岗位而言,软件测试入门相对来说要简单些,但现在这个大环境下,企业的要求也在拔高,所以门槛也不低了,特别是学历这块。到了后期涉及到自动化测试等内容的时候相对较复杂,但是对于新手而言,入门以及进入这个行业才是万里长征第一步,要在工作中不断的积累经验以及提升个人能力,那我们应该怎么做呢?
1、首先我们可以通过图书或者在网上找公开视频深入了解软件测试的概念以及相关的基础理论知识。这个过程大概一个月左右就可以完成,最主要是检验自己是否能够快速接受理解软件测试相关的知识。
2、在有了一定的基础理论知识之后,你就可以找一个软件自己按照方法检验一下自己学习的效果,从开始写测试计划、测试用例、再到自己完成测试、并输出测试报告。当然在实际动手过程中肯定会遇到各种各样问题,你要将这些问题记录下来,然后通过加入社群咨询或者论坛交流的方式解决这些问题,最重要的是发现问题后,在后面的学习中可以重点去学习相关的内容。一般而言,对于体量较小的产品需要用1个月左右的时间,而比较复杂的产品一般要用2个月,甚至要更久,所以建议从小产品入手会比较好。
3、有了实际的操作经验后,你可以通过招聘网站的招聘要求,对该公司的产品,再次进行实际测试。(一般来说,去面试的时如果能对该公司的产品有一定的了解的话,那面试成功的几率会大很多)。
4、有了实战经验后,就要开始尝试去面试了。软件测试属于技术岗位,在面试的时候肯定会问一些关于技术的问题,你自己可以从网上找一些相关的面试题进行练习,遇到问题迅速查漏补缺,准备好后再去面试基本就没有任何问题了(现在学历不行的话会有点难)。
积极学习和保持技术热情
如果我们积极学习,保持技术能力、知识储备与工作年限成正比,到了 35 岁也不会有什么焦虑,这样的大牛我觉得各大公司都会抢着要吧?但是学习这件事,其实是一个反人类的过程,这就需要我们强迫自己跳出自己的安逸区,主动学习,保持技术热情。
如果你是刚毕业的,那要利用好这一段时间,这个时间段往往你很空闲,刚好是努力学习技术的好时候。你要借助这段时间夯实基础,培养出良好的学习习惯,保持积极的学习态度,这会让你受益终身的,至于该如何高效率的学习,如下:
(一)调整好心态
心态是一个人能否成功的关键,如果不调整好自己的心态,是很难静下心来学习的,尤其是现在这么浮躁的社会,大部分的程序员的现状就是三点一线,感觉很累,一些大龄的程序员更多的会感到焦虑,而且随着年龄的增长,这种焦虑感会越来越强烈,那么唯一的解决办法就是调整好自己的心态,要做到自信、年轻、勤奋。这样的调整,一方面对自己学习有帮助,另一方面让自己应对面试更从容,更顺利。
(二)多读Bug
平时多与同事沟通,抽出部分时间去阅读同事提出的bug,了解同事找出bug的过程 。从别人找到Bug的经验中可以学到很多东西,也能提高自己的观察力。
(三)设计你的测试
无论是寻找边界值,运用组合技术,画图表,或创建测试模型,把你的想法放进你的测试设计中总是有用的。在试探性测试的时候,有意识地去交替你的测试计划和产品学习,不断尝试找到更简便更适用的方法。
(四)时间挤一挤,制定好计划
一旦下定决心要提升自己,那么再忙的情况下也要每天挤一挤时间,切记不可“两天打渔三天晒网”。另外,制定好学习计划也是很有必要的,有逻辑有条理的复习,先查漏补缺,然后再系统复习,这样才能够做到事半功倍,效果才会立竿见影。
(五)持续学习技术知识,更新自己的知识储备
学习对每个人来说都应该是一个持续的过程,毕竟时代在不停的发展。如果停止学习,原地踏步,那么很容易就会成为被拍在沙滩上的前浪。对于测试人员来说也是一样,想要成长,不落后于人,就得一直学习新知识,掌握新技能。而且互联网时代,获取知识的渠道也异常的丰富和便捷,视频课程、公开课、各种资源种类繁多。跟上行业的发展,才能不被行业所淘汰。
我自己也整理的一些配套的资源【点击文末小卡片免费领取】,这些资源对于从事软件测试的的朋友来说应该是最完整的【备战仓库】,为了能更好地整理每个模块,我也参考了很多网上的优质文章和项目,力求不漏掉任何一个知识点,包含基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等,希望能够帮助到你。
全网首发-涵盖十六个技术栈
一、软件测试基础
软件测试的步骤是什么?
如何录制测试脚本?
应该考虑进行如何测试的测试方法
怎样估计测试工作量?
测试设计的问题?
当测试过程发生错误时,有哪几种解决办法?
测试执行的问题?
如何提高测试?
C/S模式的优点和缺点
B/S模式的优点和缺点
…...
二、Linux
grep和find的区别? grep 都有哪些用法?
查看IP地址?
创建和删除一个多级目录?
在当前用户家目录中查找haha.txt文件?
如何查询出tomcat的进程并杀掉这个进程,写出linux命令?
动态查看日志文件?
查看系統硬盘空间的命令?
查看当前机器listen 的所有端口?
…...
三、Python
统计python源代码文件中代码行数,去除注释,空行,进行输出?
python调用cmd并返回结果?
1,2,3,4 这4个数字,能组成多少个互不相同的且无重复的三位数,都是多少?
请用 python 打印出 10000 以内的对称数(对称数特点:数字左右对称,如:1,2,11,121,1221 等)
给定一个整数 N,和一个 0-9 的数 K,要求返回 0-N 中数字 K 出现的次数
判断 101-200 之间有多少个素数,并输出所有的素数
一个输入三角形的函数,输入后输出是否能组成三角形,三角形类型,请用等价类- 划分法设计测试用例
…...
四、数据库
你用的Mysql是哪个引擎,各引擎之间有什么区别?
如何对查询命令进行优化?
数据库的优化?
Mysql数据库的操作?
优化数据库?提高数据库的性能?
什么是数据的完整性?
…...
五、接口测试
什么是接口?
如果模块请求http改为了https,测试方案应该如何制定,修改?
常用HTTP 协议调试代理I具有什么?详细说明抓取HTTPS协议的设置过程?
描述TCP/IP协议的层次结构,以及每一-层中重要协议
接口产生的垃圾数据如何清理?
依赖第三方的接口如何处理?
测试的数据你放在哪?
什么是数据驱动,如何参数化?
…...
六、Web测试
为什么做接口自动化?
你写了多少接口自动化用例?
比如说你接口的请求参数需要加密处理的,你们用的是什么加密方式,你加密怎么处理的?
你查询出来返回结果是密文,密文你怎么测试?
......
七、APP测试
ui 自动化怎么测试?
自动化测试环境的搭建是怎样的?
seleniun 库中用过哪些函数?
定位元素的8个方法是什么?
css 定位的方法?
adb 的作用是?
App 稳定怎么做的? Monkey怎么用p (App 稳定测试 )?
App 弱网测试怎么做的?
......
八、性能测试
你认为性能测试的目的是什么?做好性能测试的工作的关键是什么?
服务端性能分析都从哪些角度来进行?
如何理解压力测试,负裁测试以及性能测试?
如何判断是否有内存泄漏及关注的指标?
描述软件产“生内存泄露的原因以及检查方式。(可以结合- 种开发语言进行描述)
简述什么是值传递,什么是地址传递,两者区别是什么?
什么是系统瓶颈?
…...
九、人力资源
你的测试职业发展是什么?你自认为做测试的优势在哪里?
为什么我们应该录取你?
请谈谈你个人的最大特色。
一个测试工程师应具备那些素质和技能?
为什么选择测试这行?
如果我雇用你,你能给部门带来什么贡献?
…...
整份文档一共有将近 200 页【点击下方小卡片免费领取】,全部为大家展示出来肯定是不太现实的,为了不影响大家的阅读体验就只展示了部分内容,还望大家海涵,希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习!