2024-09-11
2024-09-11
2024-09-11
2024-09-09
2024-09-09
2024-09-09
2024-09-06
2024-09-06
2024-09-06
2024-09-06
(文/是德科技软件测试自动化事业部总经理/Gareth Smith 博士)新冠疫情加快了数字化转型的步伐,软件在我们的工作、生活和学习中已经在发挥着至关重要的作用。 全球的数字化程度越来越高,人们对于数字产品的依赖性也与日俱增,这一切都让软件质量成为众所关注的焦点。
数字化转型的速度没有放缓的迹象,基于软件的创新和发展仍将持续。 据估计,软件质量问题在 2020 年给美国经济造成的损失达到了惊人的 2 万亿美元[1] ,因此我们必须找到有效的方法,在软件发布速度和质量之间取得平衡。
为了进一步了解软件质量的重要性,是德科技软件测试自动化部门总经理 Gareth Smith 博士进行分享,探讨为什么说软件质量决定了业务能否取得成功以及我们应当采取哪些措施来提升软件质量。
为什么软件质量至关重要?
在过去十年间,软件厂商更多关注的是如何尽快发布新的应用和服务上,以期跟上快速变化的需求并支持数字化转型。 然而,对交付速度的过度追求往往导致软件质量不尽完善。
在数字优先的世界,软件质量至关重要。例如,未被发现的缺陷可能会引发系统宕机,云平台配置错误可能导致数据泄露或数据丢失。软件缺陷极大地增加了开发成本。在软件发布后再去查找和纠正缺陷,成本会远远高于在设计/开发阶段这么做。
如何提升自己的软件质量?
在快速开发软件的同时,软件厂商必须重视测试和监控,才能提供流畅的高质量(全渠道)数字体验,成功获得用户认可。新一代软件测试平台通过整合最新 AI 技术,满足这一要求。AI 可以从实际应用软件的使用情况以及历史错误模式中学习经验教训,掌握哪些应用软件特性产生了最关键的业务成果。平台可以自动生成测试,重点考察应用软件中对业务成功起到决定性作用的用户旅程。DevOps 框架内的这种端到端智能测试自动化使得企业能够提高团队的工作效率,同时更快交付高质量软件。
DevOps 对测试策略有何影响?是德科技的智能自动化平台起到了什么作用?
DevOps 通过破除不同团队之间的壁垒实现协调和协作,从而以更快的速度生产更好、更可靠的产品。DevOps 理念让团队能够对自己开发的应用软件更加充满信心,能够更好地满足客户需求,更快地实现业务目标。
DevOps 的成功与测试自动化有着内在的联系,因为面对测试范围越来越广、发布频次越来越快的趋势,手动测试无法满足测试需求。而且,仅仅是自动执行少数几项测试或管理流程也还是不够。要想在数字时代取得成功,开发和测试自动化工程师必须与运营团队通力合作,才能确保软件和应用让用户满意。
是德科技帮助测试团队以智能的方式在整个生命周期内自动运行测试,这个过程包括创建测试例、执行测试以及自动分析结果。我们基于 AI 的平台可以加快开发速度,帮助开发团队查看和分析用户浏览数字资产的方式和特点。这些分析结果会反馈到测试自动化流程中,从而显著提升软件的质量和可靠性。
AI 能够为测试自动化策略带来哪些改变?
AI 赋能测试自动化更进一步超越基于规则的简单自动化范畴。它利用算法来高效训练使用大数据集的系统。通过应用推理、解决问题和机器学习等技能,人工智能驱动的测试自动化工具可以模仿手动操作,让软件测试人员可以摆脱繁琐的测试任务。
智能测试自动化能够评估数字产品的功能、性能和可用性,而不是简单地验证代码。该工具集人工智能、机器学习和分析能力于一身,不仅能够监测用户体验(UX),还能对应用软件和真实数据展开分析,从而自动生成并执行用户旅程。得益于此,用户能够以一种更智能的方式来持续测试软件和应用,无论它们在怎样的环境下运行。
基于人工智能的工具可以避免测试覆盖范围发生重叠,而且能够通过提升测试的可预见性来优化现有的测试工作,还能够加快从缺陷检测到缺陷预防这个过程, 从而进一步提升软件质量。
为什么要转向持续质量控制?
对数字化的依赖使得测试必须从以验证为目的的活动转变为持续的质量控制流程。团队必须将质量控制纳入软件开发的每个阶段,并且让整个流程自动化运转。持续的质量监控指的是在整个软件开发生命周期(SDLC)中采用系统性方法来查找和修复软件缺陷。这样可以尽早发现和解决问题,从而降低出现安全漏洞和错误的风险。
提升软件质量是否需要配备更多的技术资源?
不需要。人工智能让软件的设计、开发和部署变得更迅速、更有效、更经济。机器人不会取代程序员。相反,人工智能驱动的工具让项目经理、业务分析师、软件开发人员和测试人员可以更高效地工作并获得更有成效的结果,让他们能够以更低的成本更快开发出质量更高的软件。
是德科技的智能自动化平台使得普通开发人员也能轻松使用我们的无代码解决方案,利用人工智能和分析技术在整个测试过程中自动执行测试。它能够让行业专家变身为自动化工程师。AI 和 ML 负责脚本编写和维护,因为机器与人类测试人员不一样,它们可以在几分钟内创建并执行几千项测试。
是德科技自动化平台能为测试自动化带来怎样的转变?
是德科技的智能自动化平台是一款完全没有侵入性的测试工具,无需用户接触源代码或者是在被测系统(SUT)上安装任何软件,即可确保全面的测试覆盖。我们的技术不涉及应用软件,用户无需了解底层技术堆栈即可发现并报告性能问题、故障和其他错误。这样一款工具对于医疗、政府和国防等受管制的行业至关重要。
AI 驱动的自动化可以在从 UI 到 API 再到数据库的任意层面上,对任何器件、操作系统或浏览器上的任何技术展开测试。测试范围既包括极其现代化、瞬息万变的网站,也涵盖传统的后台系统以及销售点和命令与控制系统。
智能自动化的首要目标是了解应用或软件的特性会给客户体验和业务成果造成怎样的影响。除此之外,它还能够帮助我们发现有待改进的地方,并预测这样的改变对业务的影响。
在您看来,未来会出现哪些与软件质量相关的趋势?
随着数字化转型的步伐加快,软件质量的重要性将日益凸显。数字化机构必须持续监控数字资产的性能以及用户的交互方式,才能确保提供尽可能最佳的体验。我们认为,未来三年,QA 领域将出现以下五大趋势:
质量保证(QA)将成为利润中心而不是合规职能。您必须能够率先发布软件,并且您的软件必须拥有令人赞不绝口的用户体验、完美无瑕的功能和卓尔不凡的响应能力,否则您的企业可能会陷入困境或失败。但是,只要您能够想办法实现这些目标,成功就大为可期。QA 让您能够持续衡量是否达成了这些目标,因此它会成为利润中心,而不仅仅只是一项合规职能。
用户体验将成为企业实现差异化的关键因素。用户体验就好比是展示橱窗,您需要通过它来吸引客户并保留客户。您需要将客户体验打造得尽善尽美,否则您就会与竞争对手拉开距离。
性能。无论何时,一旦性能出现超过 3 秒的时延,很可能就会对您的业务造成重大打击。 千禧一代不够有耐心,而 Z 世代的耐心则更少!客户能够接受的时延顶多只有 3 秒,超过这一时间,他们就会转向您的竞争对手。您需要通过持续有效的负载和性能测试来确保您的业务规模和响应能力。
数字克星(Digital Nemesis)。测试必须采取更加智能的方式,数字克星能够在采用了人工智能驱动的“混沌工程”系统中发现和突出显示弱点,并不知不觉地予以修复。无论是功能、性能、用户体验方面的弱点还是安全性弱点,都不在话下。
端到端融合测试。从硬件到用户体验。过去那种分层或分类型进行测试的方式已经一去不复返。我们需要测试 5G 手机、5G 基站、网络负载、应用的负载处理能力,以及功能、API、性能、安全性、 iOS、安卓、云、Windows 等等。但是如果对整个端到端系统展开测试(包含所有层、端到端工作流程和交互点)会怎么样?如果不这样做的话,我们就没有对实际使用的系统真正进行测试;我们就无法真正隔离问题,因为如果没有不同层之间的交互或者当交互测试条件不同时,问题可能不会发生。因此,我们现在需要通过多层融合测试——将硬件、网络、软件和用户体验测试人员的技能整合到一个端到端框架中――实现更高水平的测试。
注:[1] 软件质量低劣给美国造成的损失:2020 年报,信息与软件质量联盟