写点什么

在自动化测试结果分析中使用 AI 工具

  • 2025-04-22
    北京
  • 本文字数:1635 字

    阅读完需:约 5 分钟

在自动化测试结果分析中使用AI工具

Maroš Kutschy 在 QA Challenge Accepted 大会上表示,自动化测试结果的分析是测试活动的一个非常重要且具有挑战性的部分。在任何时刻,我们都应该能够根据自动化测试的结果来判断产品的状态。他介绍了人工智能如何帮助他们节省分析时间、减少人为错误,使团队能够专注于新出现的失败的测试。


Kutschy 提到,他们在分析自动化测试结果时遇到了挑战,正在寻找一种更高效且更少出错的分析方法:


如果你每晚运行 4000 多个测试,其中约 5% 的测试失败,那么你每天需要分析大约 200 个失败的测试。


他们引入了 ReportPortal 这个工具,它使用人工智能来分析自动化测试结果。正如 Kutschy 所说的,这个工具可以作为企业内部解决方案进行免费安装:


作为这个工具的管理员,我完成了概念验证和集成,并解决了所有问题。现在,功能团队的测试人员每天都在使用它。


Kutschy 说,测试人员登录 ReportPortal 找到他们负责的作业的运行结果,并查看有多少失败处于“待调查”状态。前一天的失败测试(之前已经分析过)已被 ReportPortal 分类。对于“待调查”状态的失败测试,他们需要执行标准的分析流程,即调试并找出失败的根本原因:


ReportPortal 会显示分析结果;你可以看到有多少测试是因产品缺陷、自动化缺陷、环境问题导致的,以及还有多少失败的测试处于“待调查”状态。


Kutschy 说,当你刚开始使用这个工具时,它对失败的测试一无所知。测试人员需要决定测试失败是产品缺陷、自动化缺陷还是环境问题导致的。当下一次相同的测试再次失败时,工具会根据之前的判断,利用人工智能为失败分配正确的状态。


Kutschy 提到,仪表盘通过展示分析结果提供了测试和应用程序状态的概览视图。实时可见的分析状态让你可以看到谁正在处理哪个失败的测试,这有助于决定是否可以发布应用程序。


使用这个工具可以节省分析时间,因为它们只关注新失败的测试,而不是所有失败的测试,正如 Kutschy 所说的:


区别在于,如果你今天有 100 个失败的测试,其中只有 2 个是新出现的,你只需要查看这 2 个。如果你不使用这个工具,就需要查看 100 个。


由于工具会根据之前的决策对旧的失败测试进行分类,因此减少了人为错误。这有助于将注意力集中在新出现的失败测试上,Kutschy 说。


如果人类用错误的数据训练人工智能,人工智能也会做出错误的决定,Kutschy 说。如果你是一个糟糕的老师,你的学生(ReportPortal)也会表现不佳:


有时,一个同事会将失败的测试链接到错误的 Jira 任务,或者为失败的测试分配错误的状态。


你可以通过手动修改来“取消学习”,Kutschy 说。


如果正确使用人工智能,它可以为你节省大量时间并减少人为错误,Kutschy 说。在确认它可以正常运行之后,你就可以信赖它,不再需要你们手动对失败的测试进行分类。


InfoQ 采访了 Maroš Kutschy__,了解他如何使用人工智能进行自动化测试分析。


InfoQ:你在这个过程中遇到了哪些挑战,又是如何解决的?

Maroš Kutschy:我们首先进行概念验证,确认我们可以将该工具集成到我们的测试自动化框架中。


接下来,我们让同事们遵循使用 ReportPortal 来分析测试结果的流程。最初,他们需要对所有的失败测试进行分类,即为它们分配正确的状态(自动化问题、产品缺陷、环境问题)和 Jira 任务。


我们先是在指定的团队中进行了测试,然后让所有团队都开始使用。试用的反馈非常积极,测试人员觉得它很有用,因为它帮助他们简化了分析工作。


InfoQ:你从中学到了什么?

Kutschy:在开始使用人工智能工具之前,你必须确认其可靠性。


我们必须确保 ReportPortal 做出了正确的决定。这个决定取决于我们在测试自动化框架中如何处理堆栈跟踪信息和 ReportPortal 的配置。如果它没有按预期工作,我们就尝试调整 ReportPortal 的设置。


目前的大多数讨论都是关于如何使用人工智能来生成测试自动化代码,但我们发现,自动化测试结果分析也是一个非常适用人工智能的领域。我们可以在测试的许多场景中使用人工智能(包括生成式人工智能)。


查看英文原文:

https://www.infoq.com/news/2025/03/AI-analysis-automated-test/

2025-04-22 08:005130

评论

发布
暂无评论

Dubbo 微服务调用过程

梧桐

训练营第十周总结

大脸猫

极客大学架构师训练营

第 10 周 系统架构作业

心在那片海

第十周作业

hunk

极客大学架构师训练营

TypeScript | 第七章:配置文件说明

梁龙先森

typescript 大前端 编程语言 七日更

第 10 周作业

Steven

计算机专业必看!记录一次腾讯Android岗面试笔试总结,讲的明明白白!

欢喜学安卓

android 程序员 面试 移动开发

架构师训练营第二期 Week 10 总结

bigxiang

极客大学架构师训练营

第八周-作业1

Mr_No爱学习

架构师训练营第二期 Week 10 作业

bigxiang

极客大学架构师训练营

第十周作业总结

hunk

极客大学架构师训练营

wildfly 21中应用程序的部署

程序那些事

程序那些事 wildfly wildfly21 应用程序部署 应用程序配置

第 10 周 系统架构总结

心在那片海

Week 10 模块分解

evildracula

学习 架构

第八周-学习总结

Mr_No爱学习

行业寒冬:程序员怎样优雅度过35岁中年危机?跳槽薪资翻倍

欢喜学安卓

android 程序员 面试 移动开发

提问开启创新-激发团队创新的提问法

Alan

个人成长 创新 团队文化 七日更 28天写作

讲的真透彻!Android开发了解这些自然无惧面试,成功入职阿里

欢喜学安卓

android 程序员 面试 移动开发

NO.002-Java并发编程之多核硬件架构

葛一凡

操作系统 设计原则 硬件架构

《Python数据科学:关于使用Python处理数据需要了解的终极指南》PDF免费下载

计算机与AI

Python 数据科学

第 5 周学习总结

Binary

极客大学架构师训练营

架构训练营第九周作业

一期一会

微服务 dubbo

工具词典:数据

lidaobing

数据 28天写作

架构师训练营 - 大作业一

lucian

架构师训练营 - 大作业二

lucian

生产环境全链路压测建设历程 21:某快递 A 股上市公司的生产压测案例之彩蛋 2 中篇

数列科技杨德华

全链路压测 七日更

冰河是谁?到底是干嘛的?

冰河

程序员 程序人生 架构师 冰河 冰河技术

训练营第十周作业

大脸猫

极客大学架构师训练营

架构师训练营第十四周课程笔记及心得

Airs

Week10 作业

evildracula

架构师训练营 第3期 第5周 作业和总结

ihiming

在自动化测试结果分析中使用AI工具_软件工程_Ben Linders_InfoQ精选文章