测试工程师正遭「革命」 AI将改写测试模式

news2024/12/23 7:21:37

文章目录

  • ❤️‍🔥 软件测试的现状
    • ❣️ 功能测试的短板
    • ❣️ 过于的依赖工具
  • ❤️‍🔥 测试行业的两极分化
  • ❤️‍🔥 纯功能测试人员应该如何破局
    • ❣️ 龙测 AI TestOps 云平台
    • ❣️ AI TestOps 亮相 TICA
    • ❣️ AI TestOps 所实现的混合模型解决方案
  • ❤️‍🔥 AI TestOps 录制新突破
  • ❤️‍🔥 测试小伙伴的福利日

鉴于过去的大形势变化,尤其是近几年的特殊情况,不懂技术的测试工程师会逐渐被淘汰出局。一波测试工程师的失业潮是在所难免的。

虽然在早几年前我也呼吁身边的测试小伙赶紧脱离落后的业务体系, 脱离落后的测试技能, 但是看到很多人无动于衷,且生活变得越来越艰难, 也是挺痛心的…

2022已近尾声,软件测试这个行业将如何发展?个人愚见,与君共享。至于对不对,相信处在这个行业的小伙伴,一定能体会的到。



❤️‍🔥 软件测试的现状


进入到移动互联网时代的风口后,在新趋势和新要求的推动下。测试行业也在近十几年间发生着非常大的改变,从早些年的懵懂发展,到大多数高校设立软件测试专业,再到前几年各种测试培训的盛行…

早期阶段的测试行业确实是一个风口,甚至有段时间风头无两。但随着转行人员、毕业的大学生、甚至各种培训机构的填鸭式的疯狂地涌入,目前软件测试行业的 “缺口” 已经基本饱和,这里的饱和指的是最基础的功能测试的岗位需求已经越来越少。软件测试行业的门槛,也从真正的零基础,到现在的要求具备计算机专业能力(包括但不限于编程能力)。虽然软件测试在企业中,特别是在互联网行业的企业中发展成了不可或缺的形态,与之对应的任职要求也越来越高、越来越严格。

这一点在企业的用人招聘上表现得尤为突出,如今对于一线互联网企业的测试招聘者而言,想找到一个合适的人选非常艰难。同样,对于测试求职者而言,会发现应聘要求也越来越严苛,除了学历(现在基本都要求 211 或 985)、年龄、项目经验,还需要具备代码设计能力、软件架构能力、学习创新能力、较强的沟通能力、解决问题能力等。

但即便如此,仍有大量的测试人员依旧处在石器时代,过着停留在功能测试的 “点点点” 的日子,最终导致人才供求难以实现平衡,这从侧面也反映出国内大部分测试人员存在的问题。



❣️ 功能测试的短板


从整个产品的头脑风暴、产品调研、需求评审、项目立项、产品研发、测试迭代、最终上线。测试人员的任务参与度可以说是贯穿了整个产品研发周期的,质量来讲,如需求分析、测试用例编写、用例评审、提测验收、功能测试、Bug 回归等。不管测试的是 PC 端、Web 端、还是 App 端的产品,功能测试都是基本功。

但是很多测试人员只关注自己的需求,而不关注这个需求在产品的整个生命周期中的作用,缺乏产品的整体考量,导致在参与大型产品项目开发或与多部门进行合作时,不知如何应对。

例如,在对一款 APP 产品进行测试时,测试人员可能只会考虑 APP 的功能本身,而对接口调用传递、服务组件的测试及后端数据的校验缺乏有效的关注。其实这也是大部分技术人员抱这 “技术思维” 不妨,所受到的局限所致,就像是处于一个信息茧房一样。



❣️ 过于的依赖工具


有段时间随着开源社区的流行,绝大部分行业中共存的问题,在开源社区中都能找到相应的解决方案或处理问题的工具。测试行业也是一样,所以很多测试人员抱着只要学会了这些测试工具,就能解决测试工作中所有问题的想法。

要么只了解公司现有的框架,要么只在公司现在的框架上编写用例,而不去了解整体框架的工作原理。或者盲目选择市面上现有的开源测试工具,仅仅满足于使用,而不去了解为什么要这么用、还有没有其他相关的工具、这个工具是如何解决我们的问题的、这个工具背后的实现原理又是什么,最后变成了名副其实的 “工具人” 。

我一直都认为在我们借用测试工具、测试框架来解决实际的工作问题时,虽然具备工具化、工程化思维固然重要,但是更重要的是要掌握工具解决问题背后的本质和思想。

测试小伙伴一定要记住,业务空间与技术天花板的上限决定着 QA 的生存空间, 这是所有行业都通行的道理。如果你不能满足业务需求, 就会被淘汰出局, 要么选择退守防御要么选择勇于接受挑战。

既然说到了这里,肯定会有小伙伴会问:那测试行业的未来是什么样的?我个人还是比较持乐观态度的,这个且听后面的分析。



❤️‍🔥 测试行业的两极分化


接下来我们要说的内容可能会刺痛一些读者,但正是因为如此,所以我们才更应该直面自己的不足。

从近几年的招聘情况来看,企业对于测试人员的要求越来越高,仅仅响应需求的功能测试人员基本饱和。对于通过社招渠道找工作的人,基本都要求其具有一定的自动化测试或编写代码经验,能解决在工作过程中遇到的问题。换句话说,企业更需要编码能力较强、能参与公司相关测试开发的人员。

不少测试人员在面试过程中会被要求做编程题,例如单链表逆序、二叉树遍历、日志过滤等。这一方面是看面试者的编码能力如何,另一方面也能从编码习惯来看面试者有没有参加过大型的项目开发。再者还会给一个具体的问题,让面试者来给出解决方案。

例如,曾经就有小伙伴在笔试环节被提问 "请结合测试工作中的实际内容,说明利用代码实现完成了哪些替代性工作,效果如何?如果涉及框架,请说明如何选型以及选择的框架优势是什么?你会实施哪些测试方案?" 这不像以前那样做个逻辑题或写个测试用例就行了,这个变化也预示着企业现在越来越偏爱那些能帮助团队解决实际问题、多方位发展的复合型测试人才。

回到我们说的两极分化的问题,一边是资深的测试大牛,属于全栈复合型人才,这一类人员在行业中较为稀少。一是由于行业原因,代码能力强、有架构经验的人员一般都在研发部门;二是要求高,资深测试开发工程师、测试架构师不仅要精通测试相关的技能,还要会前端设计、服务端开发等,几乎是全栈工程师。

另一边是测试小白,即便有些在测试行业中已经摸爬滚打了几年,但仍然还是停留在只会业务功能测试的这个阶段。而针对这类测试人员,除了一些安于现状的人,大多数人其实都还是想学习、想进步的,只是不知道学习方向、学习方法。

但不管是哪种情况,对于企业而言,想快速发展自己的业务,必须有一个强大的测试团队,通过一系列的质量保障手段,如引入 CI、CD 及其他的手段来促进项目的快速迭代与交付。这就要求相关的测试工程师要能从多方面来考虑并解决问题,不仅要考虑项目的实施成本,还要考虑测试、开发、产品甚至用户等,同时要与公司的发展前景及方向相切合,并能很好地为之服务。

拥有这些能力的测试人才在公司都是较为吃香的,每年招聘季也就那么几个人会进入人才市场流通,而且很快就能找到工作,这是每个测试人员的努力方向,只有具备了相应的实力,才有资格向企业要求你期望的回报。

关于这一点,也仅是我个人的一家之言并不全面,不过从另一个角度看,测试行业也确实正在进入一个全新的阶段,表现出全新的特点。



❤️‍🔥 纯功能测试人员应该如何破局


相信从事软件测试的小伙伴都知道,一个纯功能测试人员即使业务掌握的再熟练、工具玩出花,他的行业天花板也非常有限。而尝试去通过学习编程提高自己的脚本编写能力、提高产品的回归测试效率,都是需要花费大量的时间作为学习成本的。

那么有没有这样一款工具,无需花费大量的学习时间成本,可以让测试小伙伴快速的上手自动化任务,从而提高回归测试的效率呢?也许有的人就会说 “我长这么大,还没见过这么嚣张的工具。” 那我就肯定会回复你 “哎?今天你就见到了!” 那就是接下来我们要介绍的 一站式通用软件自动化测试平台 - AI TestOps 云平台



❣️ 龙测 AI TestOps 云平台




龙测 AI-TestOps 云平台 是 一直深耕于软件自动化测试领域,怀揣着彻底改变劳动密集型的测试行业,让测试越来越智能的使命的 “龙测科技” 自主研发的一款一站式通用软件自动化测试平台。

其核心理念是利用现代AI技术及先进测试算法彻底改变目前手工及自动化软件测试形态。在ARM技术的支持下,龙测科技拥有着能够涵盖市面绝大部分软硬件系统的UI功能产品体系,加上全球领先的测试代码生成器技术,测试代码一键自动生成等能力,为行业客户提供高效、可维护、低成本的自动化测试工具,为产品质量保驾护航。

这里插一句题外话,龙测科技的创始人&CEO - 师江帆博士是美国內布拉斯加大学林肯分校计算机科学与工程系软件测试方向的博士,其所在的测试实验室ESQuaReD是全美Top5的软件工程实验室。据Google Scholar统计,其论文被引用超过1000次,并收录于多个国际顶尖软件测试会议及杂志。其拥有二十多年国内外大型知名软件公司(中国长城集团、美国IBM、美国微软和Expedia)的软件测试开发及管理经验。其创办的龙测科技,先后获得美国Top3种子孵化器Plug-and-Play种子轮、创谷资本千万元Pre-A轮风险投资以及浙大系基金领头的数千万元A轮风险投资。其本人是浙江大学客座教授和研究员,于2017年荣获苏州工业园区科技领军称号,2019年荣获杭州5213领军称号,2020年荣获苏州姑苏领军称号等荣誉。



❣️ AI TestOps 亮相 TICA


一周前,阿里巴巴质量创新大会(Test Innovation Conference of Alibaba,简称TICA)成功举办。本次大会是阿里巴巴第四届质量大会,龙测科技在本次大会中和阿里云合作,新设数字化转型分会场,分享数字化转型经验。

从TICA提出至今,在历届大会上,不仅有阿里内部关于质量和研发效能相关的干货分享,也有很多来自业内大厂(像华为、字节、小米等)**的大咖,以及细分领域的优秀公司或个人参与分享。

龙测科技创始人师江帆博士作为分享嘉宾的其中一员,进行题为《基于模型和AI的高效自动化测试用例创建方法实践》的分享。



在会上,师江帆博士分享的内容焦于四个方面,基于UI流的功能测试痛点、基于纯模型和混合模型场景下的探索、基于强化学习的复杂控件操作的自动化构建以及对行业的展望。 龙测 AI TestOps 云平台通过 AI + Robot + Model技术,可以完成市面上绝大部分软(硬)件系统的UI自动化测试,解决测试痛点,提高测试效率。

在产品实践过程中以流程图和积木图为核心模型,将录制引擎、积木图、测试报告、线上设备集群等在内的多项特色或者独家功能串联起来,构建了自动化创建测试用例的完整业务闭环。除了展示已经商业化落地的案例外,师博士还展示了已经实现但尚未商业化的混合模型解决方案,引得观众的一致好评,也是众多与会人员、测试小伙伴非常期待的行业解决方案。





❣️ AI TestOps 所实现的混合模型解决方案


对于UI自动化测试,AI TestOps 云平台创造性的提出 AI+机器人+模型(ARM)技术来构建稳定快速的测试工具。即AI学习生成业务流程图,测试用户通过组合流程图形成积木图,机器人通过视觉和机械化方式稳定执行。

因此我们能够快速、高效、低成本地完成 .exe应用、Web应用、iOS、Android、小程序、混合应用的UI自动化测试。

  • APP 自动化测试

  • WEB自动化测试

  • Windows自动化测试

  • 基于页面元素的识别和定位来模拟用户行为,凭借精细化的AI图像学习能力,通过OCR、OpenCV等技术进行UI元素定位 —> 自动执行任务 —> 生成可视化测试报告。

  • 优势:

    • APP手机多型号兼容,可满足一套测试用例在不同型号手机上执行。
    • 浏览器兼容 - 兼容Chrome/IE/Edge等多种浏览器,可满足一套测试用例在不同浏览器上执行。
    • 可视化报告通过步骤+截图+视频的方式展示,准确定位缺陷,易于BUG追踪。
    • 智能定位 - 支持Appium、Selenium等控件定位及OCR、OpenCV视觉定位。多种定位方式可组合录制,精准定位页面元素。
    • 积木图流程图 - 测试用例以流程图的方式展现,流程图组合成积木图,产生大量测试用例。后续修改流程图,积木图将自动更新。
  • 解决问题:

    • 私有化部署,工程师现场支持、培训,测试人员轻松上手,结合客户现有的自动化管理过程,一周即可实现自动化测试。
    • 回归测试量大,维护成本高。基于OCR和AI图像识别技术,自动化用例覆盖率高,大大降低后期脚本编写成本及维护成本。
    • 用例及报告可读性差,特有的流程图和积木图功能,将测试用例以图形的方式展现,测试报告提供视频回放和步骤截图,让BUG一目了然。

  • 龙测机器人系统
  • 龙测机器人系统由视觉传感器、机械臂系统及主控计算机组成。
  • 通过手眼标定方案,将手(机械臂)和眼(视觉传感器)的坐标系统联系在一起,解决摄像头和机械臂之间的坐标转换关系,让机械臂精确的定位目标。最终,龙测机器人系统将帮助用户实现利用机械臂模拟人工进行测试的操作。
  • 使用场景:模拟用户真实点击的各种情况
  • 解决问题:①、银行账户、手机钱包、用户密码输入等黑屏录制问题;②、触摸屏等需要非虚拟操作的情况

  • NLP
  • NLP是计算机科学领域以及人工智能领域的一个重要的研究方向,用计算机来处理人类的自然语言。
  • 龙测NLP通过搭建国内外通用自然语言处理库,凭借单词序列分配概率模型等能力来实现精准的强语义解析能力,做到 “书写” 即 “操作”,大幅度降低录制门槛,让测试更高效、更智能。
  • 使用场景:①、阅读理解—语义解析;②、自然语言语法可覆盖90%测试场景
  • 解决问题:①、降低自动化学习成本;②、增强脚本可读性


❤️‍🔥 AI TestOps 录制新突破


目前,大家录制功能测试用例,应该要么是纯手工录制,要么通过代码录制,要么借助自动化方式脚本录制或者利用自动化测试工具点击UI元素录制。这几种方式的优缺点都很明显,大家都是这方面的专家了,我也就不多说了。

而龙测的新功能和以上这些大相径庭,但在某些点上,又奇妙的与我一直以来的某些想法不谋而合,算是实现了一个我期待已久的设想。



这次开发出来的新功能,名字叫“视频AI转流程图”。该功能可以把人工录制的实际操作视频通过AI识别、分析、转化为对应步骤的流程图,通俗一点讲,就是手工录制视频,然后上传系统,AI识别分析后,自动给你生成对应的流程图。

这个功能的学习难度很低,基本上看一遍就没问题了,我在自己的手机上随便录了几步,点击、左滑、右滑,随机组合。录制好的视频,上传系统,等待AI分析完,点开看了一下生成的测试用例,和刚刚实际所操作的步骤完全相同。



我个人觉得该功能具有划时代的意义,有很大可能成为功能测试用例录制的新方法,成为除手工录制、代码录制、脚本录制和UI录制以外的全新方法,甚至有望超过这四个方式,成为功能测试中最常见的录制方式。



这功能背后的技术思路还是挺让人感兴趣的。我询问了一下师博士,师博士很大方的说了出来,就是利用手机自带的触摸识别,平台获取触摸信号坐标、图像信息,首先利用AI模型对照触摸信号的坐标变化,得出操作的动作和距离;其次利用触摸信号的图像信息确定操作点,多次动作、多次识别,最终组合完成整体测试用例。



新功能的优势很明显,一方面可以解决手工测试用例无法直接转化成线上测试用例的问题;另一方面,实打实的0代码录制用例,没有测试经验的用户也可以直接拿来用,即使是高级测试们,也希望有人能帮助他们节省基本操作时间。

劣势也很容易猜到,单靠触摸信号坐标点的变化如何判断真人操作的轻重并在测试用例里复现操作,这将是一个需要投入更长时间去攻克的方向。

总体来说,瑕不掩瑜,该功能确实能帮助使用者更快更方便的完成测试用例的录制



❤️‍🔥 测试小伙伴的福利日


为了让大家更加直观的感受这个新功能,我也让师博士给我发了一个他们录制的demo,方便大家看一下(可惜视频卡在了审核状态,等审核通过后我再贴上来)。感兴趣的朋友们可以直接去他们的平台体验 - https://prod.dragontesting.com/login?source=13,或者扫描下方二维码,添加客服的联系方式了解一下。



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/126952.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

相关系数(皮尔逊pearson相关系数和斯皮尔曼spearman等级相关系数)

目录 总体皮尔逊Person相关系数: 样本皮尔逊Person相关系数: 两点总结: 假设检验:(可结合概率论课本假设检验部分) 皮尔逊相关系数假设检验: 更好的方法:p值判断方法 皮尔逊相…

lua调用c动态库实例

简介 Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。 特点 轻量级: 它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K&a…

STM32/51单片机实训day4——RFID数据读取|RC522|串口数据收发、可模拟RFID (三) 仿真

目录 1 任务指导 2 实验步骤 3 串口调试 4 USART配置 5 fputs函数重写 内 容:能够读取RFID卡S50的ID——编程实现串口数据收发 学 时:3学时 知识点:电路图设计、USART配置 重点: USART配置 难点:USART配置 时…

赶快升级吧!PHP8比PHP5快41倍,比PHP7快3倍

本文得出的结论,归结于仅运行纯CPU任务的脚本的基准测试结果,不需要I/O操作的任务,例如访问文件、网络或数据库连接。 这些是纯 CPU 基准测试。它们并未涵盖 PHP 性能的所有方面,并且它们可能无法代表实际情况。然而,结…

用Python标准库统计CSDN阅读量

urllib基础 一般做爬虫其实很少有推荐urllib的,但urllib乃是Python标准库成员,在要求比较简单的情况下,采用urllib还是比较方便的。 作为爬虫入门必学包,urllib最常用的函数一定是urllib.request中的urlopen。其返回对象是HTTPR…

ES学习路程(二)

关于ES第一篇是在Linux安装,为了方便我在windows搭建一套ES和kibana版本(7.15.0) 第一步:下载安装ES在windows 官网下载相应版本的es和kibana: https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7…

《图解TCP/IP》阅读笔记(第八章 8.6、8.7)—— 网络管理与其他应用层协议

前言 本篇是第八章的最后一篇 8.6 网络管理 从前,网络管理凭借管理员的记忆和直觉进行,但是网络规模越大,人的力量就越不足,所以需要一个严密的管理工具或方法。 在TCP/IP的网络管理中,可以使用SNMP(Si…

uni-app——小程序实现本地图片的上传以及身份证的智能识别

文章目录 前言一、示例图二、实现过程 1.完成提交图片的api地址2.获取本地图片3.将本地图片上传至开发者服务器三、具体实现代码四、身份证的智能识别总结前言 上传本地图片的功能很常见,那么具体该如何实现呢? 一、示例图 二、实现过程 1.完成提交图…

操作系统接口系统调用的实现

接口 连接两个东西,信号转换,屏蔽细节… 操作系统接口 连接上层用户和操作系统软件,方便了使用,屏蔽了细节。 操作系统接口的形式 为应用层提供一些重要的函数,如printf,write,read等。接口…

Windows Active Directory —— 常见的远程控制对比

在windows环境中,需要远程访问的时候很多,使用的工具和命令也各式各样,我把自己常用的命令和工具总结一下 远程访问方式: 1)对服务器而言,RDP这个绝对是最常见的方式,mstsc /v:remoteserver 即可打开 2)winrs和winrm,这个可以允许我们通过命令行来远程访问,远程服务…

TypeScript基础类型

目录 数字 number 字符串 string 布尔 boolean 数组 Array 元组 枚举 enum 任意值 any void Null 和 Undefined null undefined Never 数字 number let age: number 24; 虽然爆红,但是依然能改 字符串 string let name:string"张三" 布尔 bo…

ef参数设置说明(faiss)

1、模型参数:1000代表聚类中心个数 随着聚类个数的增加,模型索引的构建时间近似指数增加但搜索精度也线性增加,不影响内存占用,几乎不影响搜索耗时 结论:在 Faiss 引擎的聚类情况下,对于百万级别的数据大概…

B/S结构和C/S结构详细介绍

什么是c/s结构、b/s结构 1、C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,充分利用两端硬件环境的优势。早期的软件系统…

Haploview做单倍型教程1--软件安装

大家好,我是邓飞,这里介绍一下如何使用Haploview进行单倍型的分析。 计划分为三篇文章: 第一篇:Haploview做单倍型教程1–软件安装第二篇:Haploview做单倍型教程2-分析教程第三篇:Haploview做单倍型教程3…

HCIA(1)

一. 计算机网络的诞生及发展 1946年2.14日,美国宾夕法尼亚大学为了美国军方用于导弹计算,发明了世界上第一台计算机,而计算机改变并且引领了世界的发展。 计算机是现代一种用于高速计算的电子计算机器,可以进行数值计算&#x…

『C语言』字符串的输入gets()和输出puts()

🚩write in front🚩 🔎大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 🏅2021年度博客之星物联网与嵌入式开发TOP5&#xff5…

MATLAB-fplot绘图函数

前面介绍的plot函数是将外部输人或者通过函数数值计算得到的数据矩阵转化为二维图形。在实际的应用中,用户可能并不知道所要绘制的二维图形中函数随着变量变化的趋势,假如此时用plot函数来绘制图形,则可能会由于变量的取值间隔不合理而导致所绘制的二维图…

2022年广西最新建筑施工焊工(建筑特种作业)模拟试题及答案

百分百题库提供特种工(焊工)考试试题、特种工(焊工)考试预测题、特种工(焊工)考试真题、特种工(焊工)证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻…

C++【跳表】

文章目录一、什么是跳表二、跳表的实现三、跳表性能分析一、什么是跳表 skiplist本质上也是一种查找结构,用于解决算法中的查找问题,跟平衡搜索树和哈希表的价值是一样的,可以作为key或者key/value的查找模型。 skiplist是由William Pugh发…

rabbitmq镜像模式

rabbitmq集群模式分为两种:普通模式和镜像模式 如果不设置集群模式则为普通模式,下面是将集群修改为镜像模式 镜像集群 RabbitMQ镜像功能,需要基于RabbitMQ策略来实现,策略policy是用来控制和修改群集范围的某个vhost的队列行为…