AI对测试领域的六大影响:不止代码编写

概述

我们从事测试工程的方式变化很快。复杂产品的加速上游开发将从根本上改变我们必须执行的任务,即使我们的目标保持不变。过去十年来,我们花费时间的方式发生了变化,更加专注于协作开发方法,将更多的时间花在曾经被认为是边缘任务上。  

 

显示测试工程不同阶段所用时间变化的示意图

 

图1.测试工程时间分配在过去10年中的变化

 

 

过去十年测试的主要变化

  • 需要为复杂的多域产品提供具有标准化选项的可扩展策略
  • 产品复杂性要求测试平台设计具有软件驱动的自动化、大规模数据处理以及高水平的安全与保障
  • 代码库从小型静态项目转变为由远程多学科团队构建的连续优化库。 
  • 执行、部署、调试和故障分析成为由专职人员负责的专业化且复杂的流程。
  • 较大的测试数据集可产生较高的见解期望,从而在分析和可视化以及数据管理和格式治理方面开展工作。 
  • 企业级测试操作管理高度分布式的测试生态系统。

任务的激增意味着,当使用AI这样的生产力加速工具时,精明的测试工程团队会从整体上考虑如何将其应用于所有必须完成的工作,而不仅仅是引人注目的代码生成功能。本白皮书旨在全面了解工程师的工作流程,并解释测试工程师为何需要在更多任务中采用AI才能取得成功。

内容

1.测试规划和系统设计

卓越的测试工程始于卓越的测试策略,而不仅仅是卓越的IP开发。但是,随着我们所测试产品的覆盖范围要求不断提高,此策略的规划和设计时间投入将变得异常繁重。  

AI可以通过获取产品和组件空间并将其转换为测试计划来帮助进行规划。要完成此任务,需要具备专业技能,掌握测试方法和测量最佳实践的充分知识,才能制定高效的计划。随着该计划进入站设计,AI需要优化策略方面的技能,例如并行以有效利用资源,以及开关拓扑、调试可访问性、噪声源等。  

每个测试工程师都知道,优秀的测试系统设计融合了艺术、科学、经验和折衷。NI Nigel™ AI是一款专注于测试和测量应用的AI工具,可提出有力建议;其智能体能力正在快速增强,并提供最符合特定应用的支持。但工程师在验证建议时不应忘记自己的实践经验。  

2.引导培训和教育

随着员工为了寻求职业发展而频繁调岗的情况日益普遍,现代测试工程师不得不具备较强的适应能力。这些变化使得员工几乎需要不断接受有关新工具和流程的引导培训。持续的引导培训不仅会影响受训人员的工作效率,还会使经验丰富的团队成员在担任培训师时远离工作。  

AI助手可为使用新工具的工程师创建第一线支持。我们的产品数据显示,超过 20% 的 LabVIEW 用户经常将 Nigel AI 用于这样的用例。需要明确的是,这些工具不能替代包含产品最佳实践的结构化培训课程。这方面的教育仍然必不可少,这样工程师才知道该提出哪些引导性问题,以及什么样的回答才算好。但AI助手确实是一个良好的复习工具,可以帮助工程师浏览复杂的软件环境,找到所需的功能,而不会打扰同事。  

3.通过应用程序自动化开发IP

测试IP开发几乎总是不仅仅涉及编写特定于测试步骤的测量代码。目前已有功能非常全面的应用程序,提供数据记录、测试序列管理和交互式信号调试等功能,这些功能均基于测量代码构建或与测量代码集成,从而使工程师能够在更快速、更抽象的层面上开展工作。其中许多软件(如NI FlexLogger、NI TestStand和NI InstrumentStudio™软件)都集成了Nigel AI,从而进一步加快了开发速度。 

例如,TestStand支持Nigel根据具备情景信息的测试计划生成测试序列。该工具允许用户将测试步骤(可能使用LabVIEW、Python或C#等任何语言编写)集成到单个序列中,同时最小化了编排开销,因此可大大节省时间。Nigel可在TestStand引擎中自动执行速度优化功能,以提高性能。在这些情况下,工程师仍负责交付到制造车间的序列,并检查操作,但AI可以减少点击次数,并创建工作起点以节省工时。 

4.调试和代码继承

AI最常见的用例之一是向用户解释代码。工程师很少从空白页开始;他们继承代码、重用代码、重构代码、重新部署代码等等。在很多情况下,继承的代码可能是一种“馈赠”,但在其他情况下,可能需要几周时间才能理解某个早已离职的同事留下的古怪、文档欠缺的应用程序的架构。 

AI 可以总结代码模块或整个应用程序的功能,然后允许用户使用自然语言提示进行导航,例如,下列范例:

  • 在该应用程序中,数据库连接功能在哪里?
  • 运行此应用程序需要哪些库和依赖关系?
  • 如何解决振动测量的采集超时错误?

以这种方式使用AI还有助于降低AI错误传播到代码库的风险;通过反复提示,还能迫使工程师进行修改。 

5.数据和根本原因分析

测试团队内部对数据见解的期望日益增长,因为创建数据的人员通常最适合操作和深入数据。一般而言,测试数据见解可分为两组: 

  • 产品见解-通常研发测试团队最终承担的责任在于识别那些乍看之下似乎正常、但进一步分析后却显示出正持续向潜在极限偏移的趋势或异常现象。常见的原因可能是组件更改、工艺更改或供应商/材料更改。  
  • 测试见解-识别由测试站、操作人员或环境差异导致的异常值。此处的洞见有助于快速识别程序问题,从而最大限度地减少重测。  

以结构化和标准化的方式记录每个测量数据的完整环境元数据集对于提供有价值的见解至关重要。为获得有意义的关联,必须记录产品信息(要求、方差、工作范围)、测试系统(设备、位置、连接件、操作人员)、测试IP(软件堆栈、依赖项、版本)和测量结果(标量、波形、时间标识-所有在用仪器完全同步)。如果在测量点未记录此类数据,则此类数据无法“重新添加”,因此,在测量系统中使用强大的元数据记录策略对于后续成功实现AI驱动的见解至关重要。  

6.系统维护和实验室管理

测试工程师花费数年时间接受学术和行业培训,并非是为了长时间在实验室或生产线上寻找校准标签、查找缺失的线缆、排查软件不一致等问题,以及处理其他类似的重要但繁琐的任务。AI 擅长搜索东西,可节省数小时的实验室维护时间。 

例如,在NI SystemLink™软件中使用Nigel,可提出以下问题: 

  • “实验室中将在未来3个月内校准到期的DMM数量是多少?”
  • “我的实验室和马来西亚实验室中的RF站利用率百分比是多少?”
  • “测试站1至5的下一个非计划24小时空档是什么时候,以便我能够进行IT所需的大规模软件更新?”

通过将此类管理任务自动化,团队可以最大限度地提高核心工程人员的工作效率。这种自动化有助于提高团队参与度和积极性,因为它减少了花费在令人沮丧、重复性和低价值任务上的时间。 

AI代码生成在测试中的作用有限

本白皮书简要介绍了使用AI帮助用户编写代码的优点和缺点,而且这类优缺点很多。然而,它也希望勾勒出如何通过从更广阔、更全面的角度看待AI在协助工程师方面可以发挥的作用来提高工程师的生产力。  

Nigel AI经过专门优化,可在整个开发流程中为测试工程师提供帮助 — — 从首次规划会议到最终报告会议以及其间的所有内容。具有独特的技能集以及可与已用于测试的许多工具紧密集成,这意味着它可以起到催化作用,加速最有价值和最具创造性的测试任务,同时概括并自动化管理任务-所有这些都不会中断您的现有流程。