吐槽一下
我曾经前一段时间去阿里面试,测试相关问题回答良好,技术原理理解力,业务熟悉度,测试框架的设计思路,都回答良好。最后考了我两道算法题,回答的不是很好,最终说我技术不太好,offer给的不高。于是我tm就拒了,心中一万句mmp。
没想到如此大厂也是对测试误解如此深,因为他们招测试的标准就是在招研发。
就如同扫地,你扫地机器人做的再牛逼有用吗?如果你的场景是擦玻璃窗,而压根不是扫地呢?
测试的本质是,理解业务,产品和需求。傻乎乎地用研发标准招一坨长得像测试,但是实际是研发的人,就无法保障测试到位。测试是非常靠软实力的,标榜自身技术能力很好,但是半个重要bug都测不出,线上事故一坨,这样的例子见的太多了。
说一下测试的进阶形态
测试有两个进阶方向,一个是理解实现原理。也就是你要明白,当前项目里面,业务需求是如何变为设计,再变为代码实现的。代码逻辑层次的耦合,数据库设计,甚至网络层如何通信,拓扑架构如何,都需要理解。注意,理解即可,不需要完全掌握。这样,任何研发行为你都可以明白其意义和风险,你就可以精确设计测试用例,不浪费自己的时间,也不会遗漏高风险场景。
另一个方向就是自动化,也就是在简化自身的重复劳动。这个虽然非常重要,但实际上现在成熟框架很多。而且测试框架其实不像研发框架,测试框架优先关注的是易懂性,易用性,交流能力,扩展便捷性。
测试人员在选择框架和使用框架时,要灵活,要贴合业务。比如他可以去思考,是否可以把一个扫地机器人改造为擦窗机器人。
软件测试岗会变少?
1、 如果你指的是业务测试外包给阿里做,那这个可以不讨论了。测试外包在十年前就有了,逐渐已经不流行了。这是因为维护一两个专职测试人员,比外包靠谱的多。自己的测试人员理解业务,外包就是瞎测,一旦换人就面临很大风险。这也说明了,测试的本质是产品。业务和需求。
2 、性能测试和自动化测试是否可以外包?也不可以,但是我们确实可以有平台或者框架,来集约一下大家的知识和资源。所以最合理的模式是,阿里这样的大厂提供平台,或者开源测试框架,而其他公司的专职测试去使用。
3 、测试岗位的人数确实可能会下降,因为:测试自动化程度变高,手工测试消失(但测试开发会变多),这是目前一个已经既成的事实;另一个原因是开发的测试意识变强,自测能力提升,运维的质量意识变强,线上测试和质量控制体系的建成,这是目前的一个趋势。
4 、那么为什么我还说测试人数会变多呢?因为随着软件开发行业的体系化,运营化,质量会变的越来越重要。而测试的软实力,分析业务构建测试思路和用例,沟通作用,流程控制作用,都是更难被机器所替代的。如果说以后机器可以帮忙写代码,做项目,那么最后两个被机器代替的岗位,一个是测试,一个是产品经理。
所以作为一名软件测试人员,提升自己的技术能力显得尤为重要,现在的大环境下,简单的手工测试是很难找到工作的,所以不提升自己的技术能力迟早会被优化。我这里把自己这些年来的学习经历做了个总结,整理了一份学习路线,希望对各位有所帮助吧!
正确的学习路线
1、前置基础知识:
计算机基础
测试理论
HTML基础
CSS基础
JS基础
2、linux和数据库
linux
数据库介绍
SQL语言(重点)
数据库高级功能
3、测试基础
软件测试理论
软件生命周期
测试方法和分类
测试用例设计
缺陷管理
web项目实战
测试管理工具
4、编程+数据结构
Python基础
面向对象
异常处理
模块和包
5、WEB自动化
WEB自动化入门
WEB自动化基础
WEB自动化中级
WEB自动化高级
项目实战
6、移动自动化
移动自动化基础
移动自动化中级
移动自动化高级
7、接口测试
接口基础
postman实现接口测试
数据库操作
代码实现接口测试
持续集成
接口测试扩展
8、性能测试
性能测试基础
性能测试工具
项目-接口性能测试
项目-web性能测试
性能测试调优
9、综合项目实战
功能测试,ui自动化测试,接口测试,性能测试
一点帮助
最后基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等配套学习资源【免费】。