记一下自己对软件测试面试和进阶的理解
简单记录一下自己当前对软件测试面试和后续进阶的想法【湿货】,作为一个阶段性的总结吧。1.最重要的能力
我认为是代码能力和搜索能力。
最终是要进阶成为性能、测试开发、自动化、架构师等专家级别的,而不是一个点点点的小学生,代码能力终究绕不过。
B站教你学python的那么多,随便找一个搭个环境走一遍应该都能搞懂。
或者买两本畅销书,跟着把项目做完,基本也入门了。
所以这件事情,不能有借口,不要想绕开。
面试了一些人如果做了3-5年以上测试还没有基本的代码能力,一般直接不考虑了。
有些只有一两年测试经验的人,他有代码能力,一般都有搜索能力,也就是说,他在解决问题的过程中会不自觉积累到很多小知识点,
如果突然问起来,这些看起来经验少的同学会答得更好。
比如问Python数据类型,列表元组的区别,就会跳到内存使用的区别,问到内存可能就问到进程和线程的区别,然后多线程怎么实现,
面试官问的问题很多可能很随机,但是也可以从一个细微的点起来串连到一起。
我现在的问题是眼高手低,感觉不难但是单独写的话又耐不住寂寞,不能静下心来Debug。
立个flag,所以后面会跟着大神把这个python教程学完。
jackfrued/Python-100-Days
Java的话,主要是长期不看手会生疏。后续没事在leetcode做下题目,然后把Java-WEB的Spring框架从头到尾梳理一遍,美化一下个人网站;
同时可以写写个人博客,做做积累。
2.测试思维如何练习
测试入门简单,给你一张纸,是个人都能说出一些测试点。
那么怎么提高测试思维?
一般根据业务场景来,有序发散,自己把测试点按照思维导图全部写好,再对照顶尖测试的思路对比差距;
包括功能、性能、可靠性、安全等维度,也是一个磨刀的过程,练得越多,就越厉害,后面都是熟能生巧。
3.DB/Linux、shell/网络等基础
DB的话,常用数据库,百度搜一下数据库知识大全即可,除了增删改查,你能说出数据库优化的一些方法,当然是加分项;
还能聊数据库引擎,PL,事务游标,锁这些内容的话,那就差不多了。
当然我现在做的是数据库的专项测试,对数据库的理解需要更深入,从《精通Oracle SQL》学起,到《高性能MYSQL》。
Linux只会简单命令可能还不够,需要自己搭建测试环境,包括写shell脚本。
只会简单命令的话,稍微问一下,怎么查看端口是否被占用,怎么搜索日志关键字再统计个数都不清楚,那肯定不行。
网络的话,除了TCP/IP原理,要能说下Post/Get的区别,Cookie/Session区别,安全防范的一些方法等。
比如你如果经常使用postman做接口测试,却说不出这些区别,显然平时没有花心思。
4.性能
单独列一项,是加分项。
之前做过的服务器性能测试,关注指标是并发数之下的服务器资源使用情况,有问题的话,
可以从单个进程入手分析原因,可能涉及到数据库层面的调优。
Web性能测试的话,关注指标略有不同,我理解最主要关注RT/TPS这些指标。
很多人说到性能就说Jmeter,其实并不一定是要用Jmeter,不过要清楚性能测试的目的,测试思路,定位问题的方法等等。
5.其他
要想成为更厉害的人,上面这些做到精通估计还不算,
后面要学的东西,比如Jenkins对于自动化来说太有用了。Git也要熟练才行。
操作系统层面,看下《操作系统导论》
还有算法,每一种数据结构占用的内存都不一样,使用方法都有区别,性能的话需要考虑时间复杂度、空间复杂度等等等等
如今的测试种类五花八门,我再不学就要被淘汰了。
当然先要抓住核心能力,再发散,即有根基之后,再添砖加瓦。
勿在流沙筑高台,共勉。
感觉看到了自己该努力的方向。
页:
[1]