测试技术提高建议

测试招聘要求发展html

  2010年左右,测试招聘要求大概都是熟悉测试流程,熟悉用例设计方法。java

  2017年左右,测试招聘要求是会代码、会自动化、会性能、会测试开发,我屮艸芔茻,基本上是全栈了(貌似就差安全了),是否是感受作测试好苦逼啊???python

  近10年的招聘要求变化,说明:第1、顺应行业发展,对测试要求确实是愈来愈高;第2、跟风,哪怕是小公司,都是要求会不少技术,这样才能提高公司逼格,可能进去仍是拧螺丝。mysql

  论测试地位linux

  不少测试小媳妇儿抱怨测试没地位,公司不重视,开发瞧不起测试。nginx

  若是,若是你某项技术比开发强,好比能提出颇有技术含量的bug,他还敢瞧不起你?根据多年的感触,90%的java开发不会jvm,甚至不少开发连linux经常使用命令都不会(仅本人接触的开发)。面试

  因此,要让开发不小瞧你,就要多作和开发有交集的技术测试,好比:安全、性能,并且,只要开发严格要求本身,且开发时间稍微充裕点,不少业务功能bug都是能够避免的。有人说,那测试开发呢?说实话,论开发能力,估计除了bat的测试开发,95%的测试开发的开发能力都比公司专职开发的开发能力低,他很少蔑你几眼算你走运了。redis

  关于功能测试spring

  这是测试的基础,不少测试说点点点没技术含量,其实这样理解是不正确的,我以为功能测试才是最重要的,至少你没据说过有公司不作功能测试吧(开发自测的也算作了)?sql

  并且,自动化、性能、安全等测试,都是功能测试主流程稳定后才开始的(这里的开始是具体的测试执行;站在项目的角度,测试是从需求调研就开始了)。

  总之,如何设计高效的测试用例仍是颇有技术含量的,我发现99%的测试都知道等价类、边界值,可是没几个把正交试验、因果图应用的很⑥的吧?估计有些连概念都没据说过,那就本身去百度吧。

  关于自动化测试

  不少朋友都在深钻自动化测试,其实我以为是没太大必要的,UI自动化成本大,咱们就只作了接口自动化。自动化都是用来作回归测试的,只要基于一个框架(参考《python版接口自动化测试框架》:https://www.cnblogs.com/UncleYong/p/10650552.html,java版还在完善中),能跑起来生成报告便可。

  总之,你顶多作1-2年自动化就会深有感触,自动化后期都是复制粘贴修改脚本,没啥技术含量,并且,并非全部项目都适合作自动化,有些自动化脚本要跑起来,须要不少依赖条件。有人说写框架有技术含量点,确实,可是哪有天天让你写框架的活?咱们的框架我写好后,都好久好久没去动过了。

  因此,仍是多花点时间学学代码搞测试开发,或者性能,或者安全吧。另外,作自动化,推荐用python作,比较简单。

  关于性能测试

  互联网用户愈来愈大,因此性能测试愈来愈被重视,好比淘宝双十一,根据淘宝发布的2018双十一交易额,若是宕机1分钟,损失是1.5亿,可见,这是一笔多大的数字。

  性能须要学的东西不少,总之就是架构师的知识面了,架构师精通的,你都要熟悉或者至少了解,包含各类服务器的监控、可调优的参数、基本操做,好比nginx,tomcat,mysql,redis,linux,这些都是最基础的,最难的,估计就是jvm,没几个开发会,会的基本上都是架构师。

  语言推荐:python&java,我是用python造测试数据及数据库存量数据,很简单,用java,主要是如今主流的客户端并发工具是jmeter,jemter是java开发的,没有的取样器,能够本身写java实现,好比dubbo协议的接口(可是如今已经有dubbo的第三方插件了)。

  性能学习路线:性能概念→loadrunner入门→jmeter提高及java基础→linux命令→各类中间件服务器定位调优。

  关于性能工具,主流是jmeter和loadrunner,没有好坏之分,都是客户端并发工具而已,性能测试的重点是定位调优 。

  关于性能等级

  有人说,我会作性能脚本,会跑并发了,我会作性能了,来看看网上有些资料是怎么说的:

  性能外行:会作简单的脚本跑并发(复杂的,好比dubbo接口这些须要写代码的,就搞不定了);

  性能初级:会性能监控;

  性能中级:会常见性能问题的定位调优;

  性能高级:会调优,性能自动化预警监控、容量规划。

  关于安全测试

  安全要求比较高,好比网络、各类安全***策略,须要作安全测试的,基本上都是互联网金融,涉及到钱的,咱们公司的安全测试,大版本都是找第三方专业安全公司作,小需求是本身作。

  总之,不是计算机或网络专业的,不建议朝这个方向发展,不然多半会死在半路上,何须去冒这个险呢?

  关于测试开发

  这个概念是最近几年从bat兴起的,其实,这个概念是很模糊的,没明确的职责定义。

  按照我以往的面试经验及本身的理解,测试开发就是能写代码,哪怕简单的脚本,因此,广义上说,自动化测试也算测试开发,性能测试也算测试开发(写脚本批量造存量数据,以及开发性能脚本,好比dubbo接口,须要本身写java代码,参考jmeter5.1测试dubbo接口:https://www.cnblogs.com/UncleYong/p/10732754.html),测试开发基本上就是大半个全栈测试了(可能你面的测试开发,最后还会让你作功能测试)。

  另外,要大公司才会有纯的“测试开发”,就是开发测试平台、测试工具的,可是纯测试开发压力相对小,提高慢,论开发技术,确定没有专职开发强。

  总之,若是喜欢开发,就转开发吧,测试开发之后就是全栈测试,啥都要会(哪须要就往哪搬),是的,你没看错,不是我在吓你,这是现实,积极面对吧。

  测试开发框架推荐:django,flask,springboot。

  关于公司的选择

  找个好的平台,能施展本身的测试技术(这里并无否认点点点功能测试的技术,我是强调要全面发展,总之都要会)。

  自动化测试是每一个公司均可以作的。

  性能测试不是随便学点就能作好的,须要长时间的实践和积累,以及不断学习,因此,找个好的平台,给你作性能的机会。

  小公司基本上是没有纯测试开发的。

  关于如何学习提高

  学习是痛苦并快乐的,坚持学习,天天1-2小时,日积月累,你会超越不少人。

  三天打鱼两天晒网是不行的,短暂的热情也是不行的,以前群里很活跃的测试朋友,没两周就沉寂了,不要放纵本身,不要给本身找借口,什么加班忙、没时间之类的。其实,我如今仍是很感谢本身曾经的坚持,有时加班回来也会学习到12点之后。

相关文章
相关标签/搜索