OpenText 主页。
技术主题

什么是自主测试?

DevOps 中的自主测试

人工智能驱动的自主软件测试图解,自动创建、执行和验证跨应用程序的测试用例。

自动化测试彻底改变了测试的格局。软件测试一直是一个瓶颈。开发团队发布代码的速度快于质量保证团队的验证速度,而手动测试难以跟上现代发布周期的节奏。

自主测试的核心是使用人工智能来处理测试的创建、执行和维护,而无需持续的人工监督。它能自动了解应用程序的运行方式,生成并运行正确的测试。

获取 Gartner® 市场研究报告

自主测试

自主测试如何进行

自动化测试平台融合了多种技术,以模拟人类测试人员的思维和行为方式:

  • 应用程序映射:系统会爬行您的应用程序,记录每个元素、工作流程和交互。它为事物的连接方式和用户的操作建立了一个完整的图景。
  • 智能测试生成:利用该地图,平台可创建涵盖关键路径、边缘情况和常见用户行为的测试用例。它根据风险和使用模式确定优先级,而不是对所有东西进行同等测试。
  • 自修复测试自动化:当用户界面元素发生变化时(按钮移动、字段重命名),系统会识别变化并自动更新测试。不再有每次小更新都会损坏的脆脚本。
  • 持续学习:平台会随时观察测试结果。它能了解哪些测试能捕捉到真正的错误,哪些测试会在误报上浪费时间,哪些测试会出现新的覆盖缺口,并做出相应调整。

当您的团队专注于其他工作时,所有这些都在后台运行。系统会在问题出现时标记出来,并提供出错的原因和相关背景信息。


自主测试有什么好处?

价值主张在纸面上听起来不错,但它对团队的日常工作意味着什么?

大多数质量保证(QA)团队人手紧张,不得不同时兼顾回归测试、新功能验证、缺陷复现和测试维护等工作。总有些事情会被降级处理。自动化测试不仅能加快现有工作的进度,还能在人员和预算不变的情况下,从根本上改变我们所能实现的目标。

采用自动化测试的团队表示,他们对质量的看法发生了转变。测试不再是拖慢整体进度的“门槛”,而是成为一种推动力,让开发人员能够充满信心地快速推进工作。质量保证团队不再将大部分时间花在重复性的执行和维护工作上,而是开始专注于探索性测试、用户体验验证以及战略性质量规划。

下面是这种转变的具体表现:

  • 更快的发布周期:测试可持续运行,无需等待人工触发。反馈周期从几天缩短到几分钟,因此团队可以自信地频繁推送更新。
  • 事半功倍,覆盖范围更广系统会探索人类可能忽略或不优先考虑的路径。它可以测试需要数周时间手动编写脚本的组合,同时只需极少的设置时间。
  • 减轻维护负担:测试维护通常占质量保证团队时间的大约一半。自动化测试能大幅减少这一工作量,因为当应用程序发生变化时,测试会自动进行修复。
  • 始终如一的质量标准:人类测试人员有好有坏。他们在匆忙或疲惫时会错过一些事情。无论最后期限压力或团队带宽如何,自主系统都能保持同样的彻底性。
  • 降低技能门槛:您不需要专业的自动化工程师来构建和维护测试套件。具备基本测试知识的团队成员可以建立和管理自主测试平台。

挑战是什么?如何解决这些问题?

自主测试并不是一个开箱即用的神奇解决方案。团队在采用过程中会遇到真正的障碍,而假装没有遇到障碍对谁都没有好处。好在大多数挑战都有直接的解决方案,只要你知道该怎么做。

以下是最常见的问题以及成功团队如何解决这些问题:

  • 初始设置的复杂性:开始使用时,需要投入前期精力来针对您的应用程序对系统进行训练。许多团队都低估了这一学习阶段的重要性。
    解决方案:从应用程序中一个小而稳定的部分开始。在扩展到更复杂的领域之前,先让系统彻底掌握这一点。大多数平台在经过2至3周的针对性配置后,便能显现出价值。
  • 对自动化决策的信任:团队担心让人工智能来决定测试内容和时间。如果它漏掉了某个关键信息怎么办?
    解决方案:将自动化测试与人工判断相结合,而非取代人工判断。起初应审查生成的测试计划,然后随着信心的增强,逐步提高自主性。
  • 与现有工具的集成:您的团队已经在使用特定的持续集成/持续交付(CI/CD)管道、缺陷跟踪系统和监控工具。增加另一个系统会带来阻力。
    解决方案:选择那些API支持完善、提供现成集成方案且能融入您工作流程的平台。
  • 处理动态内容:对于数据不断变化或包含个性化内容的应用程序,可能会让预期行为可预测的测试系统感到困惑。
    解决方案:现代平台通过模式识别而非精确匹配来处理此问题。他们明白“这是个产品名称”,而不是“这里必须写着‘Blue Widget 2000’”。请寻找那些在文档中明确说明具备强大动态内容处理能力的系统。
  • 成本合理性:自动化测试平台是一项实质性的投资,其投资回报率并不总是立竿见影的。
    解决方案:计算当前的测试维护工时,乘以每小时成本,按12个月进行推算,并计入人工测试未能发现的缺陷所产生的成本。大多数团队在6至9个月内就能收回成本。

人工智能和测试自动化如何发挥作用?

人们经常将自动化与自主测试混为一谈,但两者之间存在着明显的区别。传统的测试自动化遵循死板的脚本:"点击这里,键入这个,检查那个。"它很强大,但也很脆弱。改变一个元素,整个脚本就会中断。

自主测试利用人工智能使这些脚本更智能、更灵活。这是最重要的地方:

  • 计算机视觉:人工智能驱动的系统不完全依赖 HTML ID 或 XPath 选择器,而是利用视觉识别来查找元素。即使底层代码发生变化,他们也能像人一样看到"登录" 按钮。
  • 自然语言处理:有些平台可让您用简单的英语描述测试,例如"验证用户是否能使用已保存的付款方式完成结账。"系统可将其转化为可执行的测试,而无需代码。
  • 模式识别:人工智能可识别应用程序中常见的工作流程和反模式。当多个页面遵循相似的逻辑时,它就会发现并生成相应的测试,避免重复工作。
  • 预测分析:通过分析历史数据,系统可预测哪些区域最有可能发生故障,并对其进行重点测试。它在资源分配方面比人类更聪明,同时还要兼顾数十个优先事项。
  • 异常检测:当出现异常情况(性能突然下降、错误率飙升、用户流量发生意外变化)时,即使没有特定测试失败,人工智能也会将其标记出来。这样就能发现传统测试完全忽略的问题。

测试自动化负责执行,人工智能负责智能。它们共同创造了可扩展的测试,而不会造成成本或工作量的线性增加。


未来自主测试的前景如何?

这项技术已经迅速成熟,但我们仍处于起步阶段。事情的走向是这样的

  • 预测性测试生成:系统将分析代码提交,并在开发人员完成编写之前自动生成新功能测试。测试开始与开发同步,而不是滞后。
  • 自我优化测试套件:平台将根据实际使用数据,不断修剪冗余测试、合并重叠覆盖范围并重新平衡执行。无需手动整理,测试套件就能保持精简和相关性。
  • 跨平台智能:您的网页测试结果将为移动端测试提供参考,反之亦然。当系统检测到某个平台上的错误很可能也存在于其他平台时,它会主动对这些平台进行检查。
  • 生产测试集成:自主测试将模糊预生产环境和生产环境之间的界限。系统将使用真实用户模式、合成用户和智能流量采样在生产中进行安全测试。
  • 协作式人工智能测试工具:自主测试平台将相互交流,分享有关常见漏洞、有效测试模式和新兴风险领域的知识,而不是孤立地工作。

未来,大多数开发团队将把自动化测试视为基础设施,就像他们今天对待 CI/CD 管道一样。这不会是需要专业知识才能使用的专用工具。这只是测试的常规流程罢了。


OpenText 能帮助我们吗?

您的测试策略需要与您的数字旅程保持同步。您的应用程序越来越复杂,发布周期越来越快,您需要能够自动适应的智能测试自动化。

自主软件测试可帮助您扩展质量管理,而无需不断增聘人手。OpenText 的人工智能测试工具可以自我学习和调整,而不是在应用程序发生变化时手动修复测试脚本。自愈测试自动化意味着您的质量保证团队可以专注于重要的工作,而不是无休止的维护。

OpenText Core 软件交付平台功能测试中的“自主测试器”功能,可让您将现有的手动测试转换为大规模自动执行。用自然语言编写测试。让人工智能来处理执行工作。通过录屏和操作步骤详情,全面掌握结果情况。无需编写脚本、无需转换、无需维护。

借助与您的质量策略相契合的 AI 测试工具,实现测试现代化。了解 DevOps 测试自动化以及 CI/CD 管道中的持续测试如何消除测试障碍并加快发布速度。

准备好了解自主测试能为您的团队做些什么了吗?进一步了解适应您的应用程序和工作流程的智能测试解决方案。

Resources

  • Pick n pay

    Major retailer accelerates software testing and increases test automation with OpenText™ Core Software Delivery Platform and OpenText™ DevOps Aviator™

  • Independent health leveraging AI

    Reduce mobile test maintenance by 35% while rapidly managing application changes with OpenText™ Functional Testing AI-based capabilities

  • Major insurer

    Accelerates vital tests on straight-through processing with the latest AI capabilities embedded in OpenText™ Functional Testing, saving time and effort, and reducing training requirements

  • Credit agricole payment services

    Financial services company modernized software testing and introduced AI with OpenText

  • Roche diagnostics

    OpenText Functional Testing AI capabilities improve regression testing times by 90% and enhance test coverage while aligning with corporate DevOps delivery

我们能提供什么帮助?

脚注