实践分享|QA工程师如何利用生成式AI提高QA任务的生产力

文摘   2024-10-22 12:00   上海  

编译整理|TesterHome社区

作者|蔡秀光(韩国)


本文为 LINE Plus QA 团队的质量工程师的实践分享,作者的目标是成为一名质量倡导者。

以下为作者观点:

随着生成式 AI 进入行业,新的方法正在出现,以在保持软件开发质量的同时提高生产力。然而,提高质量保证 (QA) 任务生产力的方法却很少被讨论。通常,QA 任务仅限于测试,而工作重点是使用生成式 AI 自动化测试或生成报告。然而,这种方法并不能解决 QA 任务的整体生产力问题。在本文中,我们将探讨如何使用生成式 AI 来提高 QA 任务的生产力。

LY Corporation 的质量管理

QA 的定义可能因项目或服务的性质而异。在 LY Corporation,QA 工程师参与改进产品质量和整个项目流程。他们从规划阶段开始参与,与项目成员密切合作,尽早识别风险并确保成功发布。

下图定义了产品管理的每个阶段以及每个阶段所需的质量管理任务。

图 1. 产品管理各阶段的任务

与传统的在规划和开发阶段之后进行质量管理的做法不同,LY Corporation 的 QA 工程师在所有阶段都进行质量管理。这比以前需要更多的质量管理,需要高效地处理任务。

在这些充满挑战的情况下,我们正在使用生成式人工智能来提高质量管理的整体生产力。让我们看看我们如何应用生成式人工智能以及它如何提高生产力。

回顾生成式人工智能的使用

使用生成式AI的第一步是检查内部安全规定。在LY Corporation,我们使用内部安装的ChatGPT。用户必须遵守安全措施,避免输入个人或机密信息。内部ChatGPT运营团队还会过滤敏感信息,以防止它们泄露到公司外部。

下一步是了解生成式人工智能的局限性,并确定它可以处理的任务。虽然生成式人工智能擅长分析和总结,但其结果并不总是可靠的。因此,为了提高使用生成式人工智能的生产力,最好将其用作辅助工具,而不是完全依赖它。

现在,我们来看看生成式人工智能应用于质量管理的流程。

将生成式人工智能应用于质量管理的流程

首先,请参考“图 1. 产品管理各阶段的任务”图表,选择需要分析和总结的任务。这些是生成式 AI 最能发挥作用的领域。下表定义了各阶段可以利用生成式 AI 帮助的质量管理任务。

规划发展测试发布
  • 整理规划文件
  • 总结和分析线索
  • 测试设计
  • 导出测试用例
  • 识别错误
  • 扩大探索性测试
  • 总结和分析评论
  • 组织回顾

接下来,创建在质量管理的每个阶段都可以普遍使用的提示。使用众所周知的提示工程技术,重点关注角色指定和格式指定技术。本文不会详细介绍提示,但将解释它们在质量管理中的使用方式。我们创建了以下提示以匹配每个质量管理活动的目的:

  • 计划顾问:分析和总结规划文件,根据用户问题提供各种输出
  • 主题总结器:总结 Slack 上的消息主题,确定决策、潜在问题和行动项目
  • 测试设计器:根据输入信息设计测试并将其可视化,得出基本的测试用例
  • 测试助手:分析错误、提取标签并建议其他测试路径
  • 应用评论员:收集各种语言的评论,创建统计数据,并按国家/地区总结关键问题

下表将每个阶段的主要质量管理任务与所使用的提示联系起来。

 规划发展测试发布
任务
  • 整理规划文件
  • 总结和分析线索
  • 测试设计
  • 导出测试用例
  • 识别错误
  • 扩大探索性测试
  • 总结和分析评论
  • 组织回顾
提示
  • 计划顾问
  • 主题摘要
  • 测试设计师
  • 测试助手
  • 应用审核员
  • 主题摘要

提示创建完成后,将其应用于每个阶段的质量管理任务。不要满足于单一提示执行的结果。尝试各种问题以获得更好的结果。根据结果不断改进提示,以提供更快、更令人满意的答案。

介绍生成式人工智能的使用案例

让我们看一些我们如何提高质量管理生产力的实际案例。

整理规划文件

当规划文档结构混乱、过于复杂或频繁更新时,跟踪变更可能非常困难。以前,QA 工程师必须确定关键功能并比较和组织每次更新的变更。使用Plan Advisor等提示,我们减少了总结和跟踪变更所需的时间。它不仅以预定义的结构化格式输出,还允许通过额外对话进行各种形式的总结。

下面的示例展示了Plan Advisor如何跟踪应用于 LINE 相册的放大/缩小功能的规划文档中的更改。

图 2. 跟踪规划文档版本 80 和版本 92 之间的变更

长文中描述的复杂规格可以组织成表格或图表,如下所示。

图 3. 组织 LINE 相册各标签页显示的列数

除了现行版本的规划文件外,若有其他先前的规划文件值得参考,可找出可能互相影响的部分,提早识别风险。但如果信息不足,或生成式 AI 的温度值接近“创意”,则出现不准确答案(幻觉)的概率较高。因此,制定计划来验证 AI 聊天机器人的答案至关重要。

总结和分析 Slack 消息线程

即使QA工程师从早期规划阶段就参与其中,在征求QA工程师的意见或请求检查任务之前,规划人员和开发人员之间或开发人员之间可能已经进行了一些技术或规范讨论。

在 LY Corporation,Slack 是主要的沟通工具,此类讨论通常以线程形式进行。如果 QA 工程师在规划和开发讨论结束后试图了解这些线程的内容,则需要花费大量时间。此外,他们可能需要根据内容提出进一步的问题。为了避免这种情况,QA 工程师可以参与或监控每个线程,但这会消耗大量 QA 资源,并不现实。

使用Thread Summarizer之类的提示,可以总结大量对话。许多公司已经采用了与生成式 AI 相结合的摘要功能。

以下示例展示了Thread Summarizer如何将与 LINE 相册应用缩放功能相关的讨论内容总结为会议纪要格式。其中包括问题发起人、讨论主题摘要标题、主要讨论点、结论、问题和行动事项(出于安全考虑,参与者的真实姓名和参考 URL 等敏感信息已被删除)。

图 4. 将讨论内容汇总为会议纪要格式

与上一个案例一样,你可以通过对话从各个角度提出其他问题。具体来说,你可以从测试角度得出考虑因素,或者通过与现有规划规范进行比较来跟踪所需的更新。

测试设计和导出测试用例

根据前面介绍的规划文档、主题摘要或其他生成式 AI 对话的内容,你可以使用生成式 AI 派生新的测试用例。虽然这些派生的测试用例质量可能不高,但它们适合作为草稿文档,以便快速了解主要测试流程并创建测试用例。

Test Designer一步步接收用户的输入,创建思维导图,将其可视化,并得出基本的测试用例。下面的示例显示了通过Test Designer针对 LINE 相册的绿点功能规范执行每个步骤的结果(出于安全考虑,某些规范被排除在外)。

图 5. 以思维导图的形式可视化显示或删除绿点的规范

之后,QA 工程师可以检查是否需要添加其他案例,并在必要时添加特定案例或从之前的状态重新执行可视化过程。下面的示例显示了根据规划规范和可视化信息创建的测试用例草稿(与实际使用的测试用例存在差异,出于安全考虑,某些案例被排除在外)。

图 6. 导出测试用例

此过程完成后,你可以以 JSON 格式导出测试用例,以便在其他测试平台上创建测试用例,或通过测试用例审查任务增强测试用例。

需要注意的是,虽然可以通过与生成式 AI 对话来分析边界值并提供更多数据,从而创建更复杂的测试用例,但创建完美且高度准确的测试用例可能比直接创建测试用例花费的时间更长。因此,提前考虑借助生成式 AI 创建的测试用例的适当质量水平至关重要。

识别错误并扩展探索性测试

你可以使用生成式 AI 通过分析已注册的 Bug 及其特征来自动提取标签并识别类似的过去问题。以前,需要通过各种过滤条件来检测 Bug 特征。现在,使用Test Helper等提示,你可以更方便地找到类似的过去问题。您还可以根据已识别的问题收到有关其他测试路径的建议,从而提高测试质量。

下面的示例展示了从现有错误中提取标签并为 LINE Keep 服务的下载功能创建推荐测试路径的过程。

图 7. 分析错误内容后提取其他测试部分

建议的附加测试路径可立即应用于探索性测试。确认适合测试的路径并将其添加到测试章程中。

下面的示例展示了进行探索性测试的过程,其中红色节点代表生成式 AI 建议的额外测试路径。

图 8. 在生成式 AI 的帮助下进行探索性测试

探索性测试的缺点是,经验不足的测试人员可能很难发现错误,并且不确定设定的测试路径是否适合查找错误。为了解决这个问题,你可以使用配对测试,但这会增加成本和时间。

虽然生成式人工智能还没有成对测试仪那么高效,但它可以建议成对测试仪可能错过的新测试路径,与传统方法相比,可以降低成本和时间。

总结并分析对应用App的评论

在 LY Corporation,我们以各种方式分析应用评论。我们直接查看 App Store 或 Google Play 上的应用评论以及社交媒体对该应用的反应。我们还运营并使用内部工具来收集和分析这些评论。问题是评论是用多种语言撰写的,很难轻松理解内容,需要为每种语言单独翻译。

使用App Reviewer等提示,你可以快速将各种语言撰写的评论翻译成所需的语言。此外,你可以按国家/地区将评论分为正面和负面评论,或以标签云格式按国家/地区总结关键问题,从而对评论进行分析。你还可以区分评论是关于功能改进还是功能错误,并从测试角度获得有关需要进一步测试哪些部分的意见。

以下示例显示了从用户最多的亚洲国家收集的有关 LINE 相册服务的评论分析。

图 9. 收集并分析 LINE 相册的用户评论

组织回顾

发布后,我们会对质量管理进行回顾。我们鼓励做得好的部分继续开发,并为需要改进的领域创建额外的行动项目。我们使用诸如Thread Summarizer之类的提示将回顾中的冗长的对话整理成会议纪要格式。

图 10. 将回顾性讨论组织成回顾性格式

结论

除了本文提到的方法,还有多种方法可以将生成式 AI 引入 QA 管理。如果任务是周期性的,则可以通过自动化方法进一步提高效率。

生成式人工智能无疑是一种颇具吸引力的生产力提升工具,但也有准确性和安全性等考量。此外,强行将生成式人工智能引入任务可能会降低生产力或导致不令人满意的结果。因此,在引入生成式人工智能时,必须回答以下问题以确保有效实施:

  • 当前的组织、项目或服务需要哪些质量管理?
  • 这些质量管理中是否存在可以使用生成式人工智能的要素,例如分析和总结?
  • 如果引入生成式人工智能,它将被应用到多大程度?
  • 生产率会因此提高吗?

我们希望分享更多使用生成式 AI 来提高质量管理效率的案例。感谢您的阅读,我们期待看到生成式 AI 如何进一步彻底改变 QA 流程。

通过精心将生成式 AI 融入 QA 任务,组织不仅可以简化工作流程,还可以确保更高质量的结果。随着技术的不断发展,潜在的应用和优势只会越来越大,这对 QA 专业人员来说是一个探索和创新的好时机。(原文链接:https://techblog.lycorp.co.jp/en/increase-productivity-of-quality-activities-with-generative-ai)




1.自动化测试框架|我们为什么抛弃Selenium选择Playwright

2.十个AI驱动的软件测试自动化工具,你尝试过吗?

3.已开源!一款支持HarmonyOS NEXT系统的UI自动化框架hmdriver2发布

4.测试团队FastGPT实战,解锁AI大模型知识库搭建秘籍

5.MTSC2024上海大会,现场录播视频

6.AI测试|自己搭一个AI Agent玩玩


TesterHome社区
测试之家(TesterHome)由一线测试工程师发起和运营的测试技术社区,社区主旨是公益、开源、分享、落地,紧跟前沿技术趋势,致力于推进软件质量保障与安全,是软件质量保障领域的风向标。我们的理念:Coding Share Show Cool
 最新文章