随着信息技术的迅猛发展,不少人将目光转向IT行业,而软件测试行业更是凭借其人才缺口大、薪资待遇好、发展方向广、无性别歧视、学习门槛低、技术上手快等优势吸引了许多人的目光,甚至吸引了很多零基础的人员通过软件测试课程培训入行,今天八维职业学校和大家一起来看看软件测试工程师测试时常见问题,希望有助于大家学习。
1、纠正一个非常错误的观念
测试和测试开发是两个岗位?No,不是的。测试开发是属于测试的。测试开发只不过是使用类似于开发的技术和能力,来达到测试的目的,本质还是测试。
就如同一个人用人肉扫地,另一个人发明了自动扫地机来扫地,看起来后面这位更高级,但是实际目的还是扫地。
2、测试的本质和行业的误解
我曾经前一段时间去阿里面试,测试相关问题回答良好,技术原理理解力,业务熟悉度,测试框架的设计思路,都回答良好。最后考了我两道算法题,回答的不是很好,最终说我技术不太好,offer给的不高。于是我tm就拒了,心中一万句mmp。
没想到如此大厂也是对测试误解如此深,因为他们招测试的标准就是在招研发。
就如同扫地,你扫地机器人做的再牛逼有用吗?如果你的场景是擦玻璃窗,而压根不是扫地呢?
测试的本质是,理解业务,产品和需求。傻乎乎地用研发标准招一坨长得像测试,但是实际是研发的人,就无法保障测试到位。测试是非常靠软实力的,标榜自身技术能力很好,但是半个重要bug都测不出,线上事故一坨,这样的例子见的太多了。
3、测试的进阶形态
测试有两个进阶方向。
一个是理解实现原理。也就是你要明白,当前项目里面,业务需求是如何变为设计,再变为代码实现的。代码逻辑层次的耦合,数据库设计,甚至网络层如何通信,拓扑架构如何,都需要理解。注意,理解即可,不需要完全掌握。这样,任何研发行为你都可以明白其意义和风险,你就可以精确设计测试用例,不浪费自己的时间,也不会遗漏高风险场景。
另一个方向就是自动化,也就是在简化自身的重复劳动。这个虽然非常重要,但实际上现在成熟框架很多。而且测试框架其实不像研发框架,测试框架优先关注的是易懂性,易用性,交流能力,扩展便捷性。
测试人员在选择框架和使用框架时,要灵活,要贴合业务。比如他可以去思考,是否可以把一个扫地机器人改造为擦窗机器人。
4、问题的正式解答
(1)如果你指的是业务测试外包给阿里做,那这个可以不讨论了。测试外包在十年前就有了,逐渐已经不流行了。这是因为维护一两个专职测试人员,比外包靠谱的多。自己的测试人员理解业务,外包就是瞎测,一旦换人就面临很大风险。这也说明了,测试的本质是产品。业务和需求。
(2)性能测试和自动化测试是否可以外包?也不可以,但是我们确实可以有平台或者框架,来集约一下大家的知识和资源。所以最合理的模式是,阿里这样的大厂提供平台,或者开源测试框架,而其他公司的专职测试去使用。
(3)测试岗位的人数确实可能会下降,不是因为提问里面的原因。而是因为:测试自动化程度变高,手工测试消失(但测试开发会变多),这是目前一个已经既成的事实;另一个原因是开发的测试意识变强,自测能力提升,运维的质量意识变强,线上测试和质量控制体系的建成,这是目前的一个趋势。
(4)那么为什么我还说测试人数会变多呢?因为随着软件开发行业的体系化,运营化,质量会变的越来越重要。而测试的软实力,分析业务构建测试思路和用例,沟通作用,流程控制作用,都是更难被机器所替代的。如果说以后机器可以帮忙写代码,做项目,那么最后两个被机器代替的岗位,一个是测试,一个是产品经理。
Java软件开发工程师就业岗位有哪些?
在当今数字化时代,Java作为一种广泛应用的编程语言,为软件开发工程师提供了众多的就业机会。Java以其强大的性能、跨平台性和丰富的库支持,成为了企业级应用开发的首选语言之一,那么Java软件开发工程师具体可以从事哪些就业岗位呢?