5G冲击下,软件测试行业面临的新挑战和机遇

背景

1G:1G是已经淘汰的以模拟技术为基础的蜂窝无线电话系统,在那个时代,由于技术限制,设计上因为使用模拟调制、FDMA(频分多址),其抗干扰性能差,频率复用度和系统容量都不高。

2G:由于1G有着很多缺陷2G时代也来到了我们身边。1G到2G就是模拟调制到数字调制的过程,相比较第一代通信,2G在技术上更成熟,那个时代,诺基亚彻底崛起,成为了手机界的霸主持续近十年。

3G:随着通信产业的发展,人们对于移动网络的需求不断加大,在3G之下,有了高频宽和稳定的传输,影像电话和大量数据的传送更为普遍,行动通讯有更多样化的应用,因此3G被视为是开启行动通讯新纪元的重要关键。

4G:4G系统能够以100Mbps的速度下载,比拨号上网快2000倍,上传的速度也能达到20Mbps。实质上现在我们所说的4G应该是LTE-Advanced,LTE只是作为3.9G移动互联网技术。

5G:5G即第五代移动通信技术,G呈现出低时延、高可靠、低功耗的特点,已经不再是一个单一的无线接入技术,而是多种新型无线接入技术和现有无线接入技术(4G后向演进技术)集成后的解决方案总称。5G的诞生,将进一步改变我们的生活通话通讯、高质量、无人驾驶、虚拟现实、万物互联。

目前

5G时代已经到来。目前5G正在渐渐取代4G,所谓长江后浪推前浪,总有那么一天4G终将被淘汰,目前各IT大厂纷纷投入研发无人驾驶汽车、物联网、人工智能实验室、VR技术、智能机器人等等技术纷纷出现。

而据相关部门推测,到2025年的时候,全球5G用户将高达16亿,而中国的用户则会占其中的三分之一。总而言之,未来将会是5G的天下,那么在5G冲击下的IT行业又会出现何种的机遇和挑战了。
5G冲击下,软件测试行业面临的新挑战和机遇_第1张图片

5G技术对我们的工作、生活产生那些影响呢?

第五代移动技术(5G)和物联网(IoT)作为两大宏观技术,正在迅速从理想转向现实应用。5G提供比4G快2.7倍的下载速度,每平方公里可以发送多达100万台设备的数据,是4G的10倍。物联网设备的数量预计将从2018年的70亿部增加到2025年的220亿部。5G技术为物联网连接增加了价值,从而使物联网成为工业变革的推动力。

新的网络和无线技术支持可以为建造自动驾驶汽车、支持智能高速公路、以及规划和开发无线运输生态系统带来安全性和实时性。越来越明显的是,车辆通信和物流行业可以从物联网中获得许多好处。

在5G+IoT下一代超级互联网势能下,软件稳定性将面对无法想象的挑战,尤其是测试领域将会面临更多的挑战和不确定性。软件测试是确保5G+IoT未来发展并实现所有预测目标的方法之一。

5G下软件测试的机遇

针对以上需求, 5G+物联网环境下的软件测试需要着重考虑5个测试类型上的突破:
5G冲击下,软件测试行业面临的新挑战和机遇_第2张图片

1.安全测试需求

随着云计算 大数据 人工智能 普及新兴应用如共享经济,软件漏洞 信息泄露等在线事故越来越多,可以说信息安全已经引起了一定程度的社会恐慌。个人认为软件行业越发展,就需要进行越多的安全测试,但目前,缺乏安全测试人才可能成为大多数测试工程师的功坚方向。

2.软件测试思维

测试的核心技能不是测试理论,不是测试工具,而是测试分析。 测试设计 测试架构 测试计划 分配资源的能力,将这些测试思想统称在一起,这些都是测试的根本。但这确实是一种趋势。

3.自动化接口测试

在未来快速发展的情况下,自动化界面测试将成为大多数公司的首选。一个完善的界面测试系统可以在很大程度上确保产品的质量,这部分投入将比单元测试和UI自动化更具成本效益。

4.自动化性能测试

现在和以后,性能测试都会成为最热门的测试方向。性能测试不仅是LR还是Jmeter一定并发,有必要为性能缺陷提供有针对性的优化解决方案,如果能在优化中发展,未来是无限的。

5.持续集成是自动化的核心

自动化不是一个孤立的脚本,最终需要在持续集成环境中应用。然而,当前的测试领域具有低水平的持续集成环境,构建自动化工厂的测试工程师特别少。因此,对于少数高端测试工程师来说,这项技术将成为杀手级的利器。

5G冲击下,软件测试行业面临的新挑战和机遇_第3张图片

先成为一名合格的测试工程师

是需要具备以下技能的:

测试基础理论/测试设计能力
业务知识
行业技术知识
数据库
掌握编程语言
搞定自动化测试
质量流程管理
测试基础理论/测试设计能力

比如说,边界值分析、等价类划分、因果图、判定表、正交实验设计等,这些基本的测试基础,科学的设计方法能够很好的规范我们的行为,从而帮我们理清思路和提升效率。很多人会觉得简答,从而忽视基础的牢固程度,往往最基础的地方,最难做到精通。

业务知识

这个看起来很虚,貌似没有具体的知识点,但是做过测试的都知道,往往这部分是非常重要的。如果不懂得业务知识,那就是蛮干和瞎干。作为一个测试人员,最应该的是从用户的角度去思考问题,而不是开发这边,找到核心业务和功能,然后划分测试优先级,定级缺陷,另外尤其对于自动化也是非常重要。举个例子,你只有掌握了业务的特性,才能够用自动化的手段去首先覆盖哪些场景,把宝贵的自动化资源投入到最重要的地方。

行业技术知识

说到行业知识就海了去了。并不是我我们会一点测试方法,会运行个脚本,使用个框架就完事了,要么说测试要求涉猎的地方比较广呢,而且还得要求你精通。比如前端的技术栈、API设计、后端服务器、数据库、服务架构等,如果这些知识都能够打通,在面试的时候,面试官问你一个问题,你是能够以点带面的去阐述的,体现出来你绝对是一个优秀的测试工程师。

数据库

无论你是做自动化和手工测试,都要进行数据效验,SQL语言是测试工程师必会的技能之一,掌握SQL语言,然后在数据库找到需要的数据,这个能力是必须具备的。

掌握编程语言

测试不写代码?那不叫测试工程师。特别是做测试开发来说,要从代码层就开始进行质量把控,所以掌握语言的话,能够让你读懂代码,也能让你直接定位缺陷,同时更早的去预估风险和难点。另一个方面就是自动化测试,去驾驭各种自动化测试框架以及用例的开发。

搞定自动化测试

对于UI自动化来说,掌握selenium和appium,非常的重要,尤其是移动端的appium,企业的重视程度更高,基本思路都是定位元素,然后操作元素,接着获得反馈,最后用测试框架去管理测试用例。

另外对于接口自动化来说,从投入产出比来说,比UI自动化有很多独特的优势,比如运行速率高,开发和维护成本低,而且可以和开发代码同步开发。简单来说,就是通过模拟浏览器,发送请求实现接口的调用,比较返回值与期望值,验证结果。

质量流程管理

最后要说的就是质量管理了,对于测试人员来说,并不是单纯的去做测试,而是负责业务的质量保证。

作为 DevOps 关键角色,未来的软件测试工程师和质量人员必须同时具备一定的开发和运维能力。
测试人员会更深入介入开发工作,通过“测试左移”,提前与开发人员一起制定测试计划,推动代码评审、代码审计、单元测试、自动化冒烟测试、测试精准化分析以及研发自测等来保证研发阶段的质量;
另外,测试人员会也会参与配置部署,将自动化测试用例配置到持续交付链中,并通过“测试右移”,全流程监控发布后的应用质量。
如果你想在测试行业成为专家,先要成为高级测开,可以接着往下看!

下面谈谈不同level的测试工程师应具备的基本能力

测试工程师进阶之路

第一个:我们称之为测试员/测试工程师

直白一点说,就是干苦力活的。对标过来就是百度的T3、T4,阿里的P5,腾讯的T1-T2。主要的工作就是需求分析,测试方案,测试策略,测试执行,都是业务测试。当然你能够掌握某些领域知识,比如你是测无人车的,无人车的业务是什么,我测AI,AI是什么,我去测大数据,大数据是什么,测的是电商,电商系统的架构是什么,业务知识是要懂的。再一个是带外包团队,可能会有一部分的外包团队交给这一部分人去带。主要是也就是管理这些基础的业务测试工作。

第二个:测试开发工程师

现在第一个level是不怎么招了,多数都是从第二个level开始招。一旦提测试开发,就一定要求你懂研发,懂测试,并且有一定的深入工作的能力。从这个level开始要求你的编程能力了,Java、Python、shell、SQL,这是最基础的,然后是业务测试。

这部分人仍然会负责一部分的业务测试的工作。老大会根据你的能力,给你安排一个比例。你能力很强,80%做技术,20%做业务,如果你能力不强,那就80%做业务,20%参与一部分技术。如果你的技术太low了,那就100%的全部做业务测试。所以这个时候会根据你的能力进行合理的时间划分。这里面的要求就比刚才突然间就拔高了,客户端的UI测试,服务端的接口测试,性能测试,基本上都属于这个范畴。

面试的时候,性能与非功能测试,可能不会做一个主面试点,主要还是在自动化和编程能力。也就是目前大家出去找工作,你们最容易被卡的这一关。所以在这个level里面,也是干活的,也就是既做业务测试,也做技术上的改造,以及去写一些自动化,但是仍然是偏重于业务的。

第三个:高级测试开发工程师/测试架构师

那么到这个level,业务测试已经非常少,甚至完全没有了,这个时候更多的是负责整个团队的流程管理。流程管理体系,白盒测试体系,测试工具与测试平台的开发,再一个是质量监控,还有一个质量管理。通常一个团队里面,会有一个测试的管理,加上1-2个高级的测试开发工程师,或者叫测试专家也行。他会搭建起整个的持续集成系统。持续集成、白盒测试、以及一些平台的开发,主要会交给这些人负责。然后他会带2-3个测试开发工程师,这些测试开发工程师一边跟着他去学习,一边去做业务。然后剩下的活儿,交给外包公司或者校招的人去做。

对于一个测试工程师,核心的竞争力有哪些?

不进步,就淘汰!

专业技能:毋庸置疑,吃饭立足的根本,随着你的测试技术的不断深挖,你一定会觉得自己曾经的测试想法是非常浅显的,想要随时代进步跟随5G的浪潮,技术的深挖都是非常重要的;

管理技能:能够带领团队高效的运作,高效的完成任务,测试核心王道,当然也要保证团队内部氛围的和谐,促进团队健康发展。你的技术到了一定的程度,自然会担起一定的管理责任的。

学习能力:软实力中最重要的一环,或许听到的比较多了,但是作为过来人建议一点,人的精力有限,把你的有限精力聚焦在最重要的方向;

沟通能力:是不是听起来有些上头,耳朵都听出茧子了,自古套路得人心,但是真诚永流传;

影响力:测试这个行业,越往上,圈子越小,北京、深圳、上海、杭州这些的测试开发、架构师类的,如果有一定影响力的,相互之间交流和学习都是非常容易的。往往越是顶尖,越乐于分享。

总结
不为失败找借口,只为成功找方法
学如逆水行舟不进则退,想要不被淘汰,想要立足于测试行业而不倒,想要赶上时代的浪潮,想要挑战高薪。
那么你就该去学习!!!
以下是我整理的资料
5G冲击下,软件测试行业面临的新挑战和机遇_第4张图片

如果你不想体验自学时找不到资料,没人解答问题,到最后坚持几天便放弃,那么大家可以进群交流(644956177),里面有各种软件测试资源和技术交流。

加油吧,测试员!只要不放弃一直走下去,远方的路终将清晰。路就在脚下,成功一定在明天!

你可能感兴趣的:(5g,数据库,python,测试工程师,软件测试)