【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

简单、易用、易学,这个全自动测试平台真香

  • 2021-11-02
  • 本文字数:4063 字

    阅读完需:约 13 分钟

简单、易用、易学,这个全自动测试平台真香

软件思想家 Gerald Weinberg 曾说过,“如果建筑师按照程序员编写程序的方式建造建筑物,那么飞来的第一只啄木鸟就会摧毁整个文明”。


这句话告诉我们:第一,程序员编写的程序不是很靠谱;第二,软件测试是多么的重要。

软件测试独立


以前,软件行业没有软件测试的位置。后来,随着这个行业的发展,软件复杂度不断提升,分工越来越细,测试与开发相分离,软件测试逐渐成为独立岗位,企业也开始招聘软件测试工程师。


以微软为例,由于软件质量问题引发多次事故,1984 年,微软在各个部门内建立独立的测试组,把测试组从开发部门中分离出来。


为什么建立独立的测试组?据《微软的秘密》一书介绍,测试之所以独立存在有三条理由:


  • 第一,开发人员不可能编写出完美无缺的代码,程序经理不可能制作出完美无缺的说明书。

  • 第二,必须让某些人的工作独立于制作说明书和编写代码,以便对它们的质量能有一个公正的评价。

  • 第三,在开发过程中,当代码群尚未交织在一起时,及早发现并修正错误对于开发人员来说更节约成本和更容易,并且对提高产品的稳定性和顾客满意度更加有益。


软件测试的独立,意味着它的重要性大大提升。


软件测试确保软件产品的质量,实现软件成功交付,保证绝大部分用户或客户满意。可以说,软件测试对软件质量发挥着至关重要的作用。

软件测试行业的真实情况


当今,谈起软件测试,很多人都有一些印象,比如觉得测试“入门门槛低,没啥技术含量”、“对公司来说不重要”、“操作简单,工作枯燥”等等。虽然这些印象不一定完全准确,但或多或少反映了这个行业存在的一些情况。


一名来自山西太原的开发者称,“公司赶上测试忙的时候,连产品和行政人员都会参与进来,作为初级测试人员承担部分工作”。


另一位来自上海的资深开发者表示,“我们只做功能性测试,即手动点按钮,没有自动化测试和性能测试。像 UI 自动化测试实施起来很难,因为 UI 一旦发生变化,你就要改脚本,并且还要花费很多时间和精力维护脚本。”


还有一位来自北京的开发者说:“公司测试部门人不少,与业务有很多隔阂,公司的很多测试主要针对历史生产系统。有些系统变更,我们会与测试打交道,如果出了问题,大家一起背锅。我们团队有四五个开发,一个测试,测试水平低,纯手工测试。”


即使同一个行业,不同企业的情况也是相差巨大。


以 Google 为代表的互联网巨头公司正逐渐推行“去 QE,开发自己测试”的全新模式。


大公司则从原来的“自动化测试为辅”变成“以自动化测试为主”,而中小企业使用最多的还是手工测试。但是,手工测试问题多,不仅效率低,而且效果不理想。


在这个行业,我们观察到:一方面,自动化测试得到越来越多的重视,企业对测试人员的要求已经从低端的功能性测试转变为更高级的自动化测试。另一方面,非功能性测试的需求不断增加,包括性能测试、安全测试等。此外,软件行业盛行的 DevOps 理念强调整个开发、测试和运维的连贯性。


有测试人员直言,“个人觉得,从初期的黑盒测试到后来要求灰盒和白盒测试,测试开始重视性能测试、安全测试。同时,UI 和接口自动化测试已经是常态。并且,软件对测试人员、测试平台的开发能力等方面都有挺高的要求。”

从传统的模式到互联网的模式


为什么会有这些变化?因为软件测试现今所处的行业已经发生改变——从传统模式演变到互联网模式。


何为传统模式?软件最早主要供企业内部使用,只要它具备一定的功能,能用就行,所以并未对用户体验有太多关注。


据飞算云智副董事长、总裁陈定玮解释,“以前,软件主要是功能的实现,其环境不是很复杂,既不会有很大的高并发,也不用玩转大量数据。因此,只要满足功能需求就行。”


而互联网模式在于,互联网发展起来后,软件变得越来越重要,甚至软件定义一切。并且,越来越多的软件开始向 C 端拓展,它要面对大量用户,导致容易出现高并发、安全等问题。因此,企业对软件质量的要求就变得非常高。


这就倒逼软件要改变,并且,从开发、测试到运维都应有相应的变化。然而,事实上,这一切并没有发生很大变化。


软件现在的生产依然跟传统的模式一样,企业要招聘大量工程师去开发软件,开发完成后,由测试人员进行测试。某种意义上,软件质量主要靠有经验的工程师予以保障。在陈定玮看来,“这就变得不可控制,因为每个人对每个东西的理解不一样。”


更重要的是,当今,越来越多的企业开始引入敏捷开发或 DevOps 模式,软件交付周期越来越短。并且,随着大数据、AI、云原生等技术的应用,软件复杂度不断提升。相应地,企业对测试人员的要求也越来越高。


随之而来的问题是企业招聘难,因为企业无法招到很多有丰富经验的工程师。即使招到资深技术人员,一旦离职,企业可能又面临挑战,一方面,交接工作难;另一方面,资深技术人员的工作经验无法传承给企业,知识无法沉淀到企业。


“以前,我们公司流传过一句话:开发多久,测试就要多久。如果开发三个月,那么测试就要三个月。这样,半年就过去了。因此,整个成本非常高。并且,产品、开发和测试人员的思维模式和视角不同,沟通难度不小,最终搞得大家怨声载道。"


关键是大家对需求的理解不同。研发人员对需求有一种理解,而测试对需求又是另一种理解。这就导致产品经理、研发和测试三方常常‘打架’。


事实上,测试人员最头疼的事就是“需求不明确,或者临时改需求,以及改了需求,只同步开发人员,不告知测试同学”。

软件测试人员的“福音”:全自动测试平台


能解决上述问题的工具可能就是全自动测试平台。据了解,它是飞算 SoFlu 全自动软件工程平台的一个组成部分,飞算 SoFlu 全自动软件工程平台是于 2020 年发布的新一代 JAVA 开发工具,截至目前已为包括医疗、金融、制造、零售等在内的八大行业的上百家机构提供了技术服务,被数千位专业人士使用体验。


令人印象深刻的是该平台为一家大型国有企业开发的“百万人使用级别的电商平台”项目,项目涵盖商品推荐、下单、客服、秒杀等众多单元。此前,该企业组建的数十人团队花费了一年完成开发,上线后却在功能性、稳定性、安全性等方面问题不断,且无法在短期内修复。在使用飞算 SoFlu 全自动软件工程平台后,该企业仅投入 6 位研发人员 45 天就高效完成开发、测试、联调、上线全流程任务。


飞算全自动测试平台


此次发布的全自动测试平台与全自动开发平台和全自动运维平台共同组成飞算 SoFlu 全自动软件工程平台,实现了软件工程开发、测试、运维全流程自动化,且自动测试平台随开发平台联动,开发测试一键关联,自动生成测试用例完成软件测试,1 人就即可完成开发、测试整套流程。


测试平台中点击“关联项目”



实现开发、测试一键协同


利用全自动测试平台,一方面,软件质量可以通过工具、流程和管理予以保障,而不再依靠有丰富经验的软件工程师。另一方面,可以进一步降低沟通成本,提升沟通效率。


以工具为核心,制订好管理流程,利用科学的管理方法,让测试人员操作工具时有规可循,按照步骤来,就不会犯错误,从而降低整个的管理风险和沟通风险。


并且,它还能解决企业招聘难问题。全自动测试平台降低了行业门槛,不仅普通测试人员能操作,而且连大学应届毕业生都能轻松上手。这样,企业招人相对更加容易。


依托平台的测试用例自动生成特性,用户通过录制工具把操作过程记录下来,平台自动识别相关接口并创建相应的测试用例场景。如此,测试人员无需编写脚本。



此外,全自动测试平台具备几大特性:一是测试生命周期管理。它提供测试用例管理、测试用例评审、测试计划跟踪和测试报告生成等测试生命周期管理相关功能。二是测试数据管理。全自动测试平台基于测试脚本与测试数据分离的思路,方便研发测试协同、方便自动化测试中的测试数据使用,支持 UI、接口等自动化工具中快速可重复地使用。三是精准回归测试。它在项目测试时,可以自动识别所有变动的接口,自动查找接口关联的所有测试用例,进行精准回归测试。


一名软件测试人员称,“我最期待的就是精准回归测试。如果能实现精准回归测试,那么在很大程度上,可以提高我的工作效率,节约时间。”


不管什么功能或特性,其目的是让软件测试变得更简单。陈定玮总结出其五个价值点:第一,统一测试规范;第二,可以管控测试流程,无需人操作,用工具、流程和管理来执行;第三,实现测试自动化;第四,可以量化测试成本;第五,可以建立测试的用例库,实现知识和经验的沉淀。他说:“所有的一切回归到一个点就是降本增效。除了满足所有测试的场景和功能外,整个产品的核心点在于做整个的管理,建立统一的标准。”


当然,仅仅解决测试问题还不够,“不管是测试,还是运维,所有的一切问题都源自开发。因为开发是本,是源头,所以要解决源头问题”。


陈定玮表示,“我们先推出开发平台,再推出测试平台。只有先把开发动作规范化,后面的测试才真正有用。真正的核心点是开发。因此,在开发过程中发现问题和解决问题,把动作前置,比如在开发中埋入与运维相关的技术,像链路追踪、服务发现等,在开发时就介入,而非到运维环境再去发现和解决问题。”


某种意义上,SoFlu 全自动软件工程平台的核心是自动化开发平台。它提供基于接口设计的可视化配置能力,通过组件可视化窗口界面以拖拽的方式开发接口。并且门槛低,配置灵活,普通开发人员也能轻松上手。


此外,平台提供大量组件库,比如 SQL 组件、事务组件、上传组件、下载组件等。支持用户根据自身需求开发自定义组件,丰富组件库,提高开发效率。


目前,多家企业在使用 SoFlu 全自动软件工程平台。

写在最后


从众多企业的多个项目反馈上可以看出,SoFlu 全自动软件工程平台有两大价值。首先,它可以降低准入门槛。其次,让技术的事情变简单,对人的依赖性更小,从而降低人力成本和沟通成本。基于该平台,企业可以快速开发一个东西,极大提升效率。针对业务的快速变化和提出的新需求,软件可以快速迭代,降低试错成本,业务就能大胆创新。“以前,开发人员要用近一年才能开发出的软件或系统,现在,用这个平台可能只花两个月就能搞定”。并且,它不需要非常资深的开发者,普通开发者在经过培训后也能上手。“我们现在非常重视顶层设计,设计的越好,对需求的理解越到位,开发过程就越好。同时,出现 bug 的几率越低”。

2021-11-02 18:238104
用户头像
万佳 前InfoQ编辑

发布了 677 篇内容, 共 333.3 次阅读, 收获喜欢 1794 次。

关注

评论 1 条评论

发布
用户头像
BSN专业区块链平台,海量案例(防伪溯源、供应链金融、采购招投标...)
2021-11-05 14:43
回复
没有更多了
发现更多内容

大模型开发:从数据挖掘到智能应用

百度开发者中心

人工智能 大数据 大模型

区块链游戏解说:什么是 SecondLive

Footprint Analytics

区块链 加密货币 代币 NFT

Mac好用的多窗格文件管理器QSpace Pro v4.0.4中文版

南屿

UML建模工具Astah Professional,实现逼真模型,让设计更加生动!

南屿

预见2024:开发体育直播平台有这4大新趋势

软件开发-梦幻运营部

【大模型】快速体验百度智能云千帆AppBuilder搭建知识库与小助手

阿Q说代码

知识库 千帆大模型平台 AppBuilder 小助手

基于大模型的低代码平台架构

百度开发者中心

人工智能 低代码 大模型

2024谷歌SEO入门指南

九凌网络

数维图数字孪生:能源电力行业三维可视化系统合集

2D3D前端可视化开发

大数据 物联网 可视化 智慧电力 数字孪生

Total Video Converter Pro超级转霸 Mac视频转换软件 v5.1.0下载

南屿

海外云手机开辟企业跨境电商新道路

Ogcloud

云手机 海外云手机 tiktok云手机 云手机海外版

AE脚本-一键快速输出GIF动图格式插件 GifGun v2.0.15激活版

南屿

鸿蒙5.0发布时间已定!移动开发加速器往何处寻找?

Geek_2305a8

如何将照片组合在一起?图片照片拼接合成软件合集

南屿

照片编辑 图片拼接 照片合成

云API错误码的设计规则

EquatorCoco

Python 数据库 API

鼠标自动点击工具 RapidClick for Mac激活最新版

南屿

Mac软件 RapidClick破解版

聚道云软件连接器:打通金蝶云星空与招商银行CBS,提升企业财务和银行业务效率

聚道云软件连接器

案例分享

Excel复杂表头按组按行复制

alexgaoyh

Java POI 合并单元格 复杂表头 模板生成

谁说后端不能画出美丽的动图?让我来给大家拜个年!

不在线第一只蜗牛

Java JavaScript 后端 动图

传统开发与低代码/无代码开发的区别

这我可不懂

软件开发 低代码 JNPF

新来的一个同事,把SpringBoot参数校验玩的那叫一个优雅

快乐非自愿限量之名

Java 前端 springboot

软件测试学习笔记丨JMeter_实现分组并发

测试人

软件测试

小程序技术实践:如何快速开发适配鸿蒙的App

Geek_2305a8

如何查看电脑性能跑分?Geekbench极客系统跑分工具

南屿

Bartender 5 for mac自定义隐藏及显示菜单栏

南屿

VJ创作表演:Resolume Arena 6 for Mac中文版 含esolume arena 破解补丁

南屿

海外云手机对于亚马逊卖家的作用

Ogcloud

云手机 海外云手机 云手机海外版

iOS App审核状态和审核时间管理指南

在 Windows 平台下安装与配置 MySQL 5.7.36

小魏写代码

NFTScan 与 OneID 达成合作伙伴,支持多类型 DID 搜索!

NFT Research

NFT NFTScan

什么是DDOS流量攻击,DDoS防护安全方案

德迅云安全杨德俊

简单、易用、易学,这个全自动测试平台真香_软件工程_万佳_InfoQ精选文章