2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

探索 AI 在自动化软件测试中的角色

  • 2024-12-26
    北京
  • 本文字数:1577 字

    阅读完需:约 5 分钟

大小:789.90K时长:04:29
探索 AI 在自动化软件测试中的角色

Victor Ionascu 表示,QA 专业人员越来越多地转向使用 AI 来解决软件测试领域中日益复杂的许多问题。AI 驱动的自动化能力可以提高测试覆盖率、缩短测试周期并提高结果的准确性,从而让开发人员更快地发布更高质量的软件。

 

Victor Ionascu 在 QA Challenge Accepted 上谈到了 AI 在软件测试中的作用。

 

Ionascu 表示,当今测试领域面临的主要挑战之一是确保全面的测试覆盖率。在处理复杂系统时,尤其是在银行或物流等需要处理安全、多步骤数据交易的行业,测试人员几乎不可能手动覆盖所有边缘情况。随着复杂性的增加,遗漏重要工作流程中边缘情况的风险也会增加。正如 Ionascu 所解释的那样,难点在于确保覆盖率的同时不影响任务时间表:


随着应用程序变得越来越复杂,识别边缘情况并将其转换为可行的测试用例变得越来越困难。这会导致测试覆盖率出现潜在的不足,从而导致一些问题被忽视的后果。


Ionascu 表示,自动化测试虽然很有价值,但往往存在开发稳健测试所需的时间过多,以及适应现实世界动态场景的能力有限等问题。自动化测试的挑战不仅在于设置自动化框架或创建脚本,还在于随着系统的发展而维护和改进它们的过程。

 

Ionascu 提到,开发能够处理现实世界动态场景的稳健测试所需的时间,对测试来说是一个重大问题。他补充说,许多自动化测试都很脆弱,它们在稳定的环境中运行得很好,但在面临意外变化或极端情况时就会崩溃。

 

在日常工作中,Ionascu 使用人工智能来增强手动和自动测试。他举了一个例子:


我使用人工智能驱动的测试生成工具(如 Amazon CodeWhisperer 和 ChatGPT)来协助创建自动化测试用例,从而减少了编写复杂脚本所需的时间。这些工具可以帮助我生成动态数据、创建极端情况场景,甚至找出我可能错过的安全漏洞。


Ionascu 说,人工智能工具可以增强手动和自动测试的工作流程。他补充说,这些工具有助于自动执行重复性任务,例如测试用例生成和错误分类,从而使 QA 团队能够专注于更高价值的活动,例如探索性测试和质量策略。

 

Ionascu 表示,虽然自动化操作可以加快重复性任务的速度,但它通常需要大量的人工监督和维护才能处理复杂的工作流程,尤其是当它们遇到了一些在测试脚本的初始开发期间人们尚难以预测的可变条件时更是如此:


尽管测试自动化很有价值,但它并不是动态和复杂系统的灵丹妙药。


InfoQ 采访了 Victor Ionascu,讨论自动化测试和在软件测试中使用 AI 的话题。

 

InfoQ:你在自动化软件测试中面临哪些挑战?


Victor Ionascu:在我们的一个项目中,我们必须测试一个处理多个实体(包括银行和政府机构)之间安全文件传输的应用程序。这一流程涉及多层加密(AES 和 RSA),我们需要验证整个加密/解密过程。最初,我们开发的自动化测试用例在标准场景中运行良好。我们编写了以下流程脚本:

  1. 使用特定算法加密文件

  2. 将它们传输到中央系统

  3. 在接收端验证解密

 

但当一些实际场景出现时,例如意外的网络延迟或不同的文件格式,自动化就会失败。测试无法适应这些动态变化,需要我们频繁手动干预、重写或调整脚本。即使是很小的系统变化,例如引入新的加密算法或数据量意外激增,也会破坏自动化测试。这表明当前的自动化工具在适应更复杂、不断发展的环境方面存在局限性。

 

InfoQ:作为一名软件测试员,你在日常工作中如何使用人工智能?

Ionascu:在一个性能测试案例中,我们必须模拟一个安全文件传输系统的负载测试,该系统最多可处理 10,000 个并发用户。最初,我们使用手动流程,包括编写带有硬编码数据的用户请求静态测试脚本,但随着系统扩展,这种方式变得效率低下。

 

通过使用 CodeWhisperer 等人工智能工具,我能够动态生成用户负载。AI 还建议实现一个扩展机制,而不是使用固定用户负载进行测试。这样系统就可以根据服务器的性能动态调整用户负载,确保我们更有效地捕获峰值负载处理和响应时间。

 

原文链接:

Exploring AI's Role in Automating Software Testing

2024-12-26 08:009941

评论

发布
暂无评论

AI 英语写作 App 的测试

北京木奇移动技术有限公司

软件外包公司 AI英语学习 AI英语写作

行业分享丨泛亚汽车数字化转型实践:虚拟仿真技术如何赋能汽车研发的创新实践?

Altair RapidMiner

AI 汽车 仿真 智能制造 CAE

7月代理IP | 充值加赠22%,1元也加赠!再加新人礼包,限时开启中ing

kookeey代理严选

节点搭建 海外IP 海外IP代理 跨境网络专线

BeeWorks 免费版上线,赋能重要行业高效协作

BeeWorks

即时通讯 IM 私有化部署

数字揭秘丨什么?!Altair EDEM竟然可以用来解答高考物理压轴的电磁力学题?

Altair RapidMiner

AI 制造业 电磁仿真 EDEM 离散元仿真

Nextcloud AIO - 一站式自托管Nextcloud解决方案

qife122

Nextcloud 自托管

屏蔽海外流量是什么意思

网络安全服务

CDN 防火墙 waf DDoS 攻击 海外IP

政务一体化平台的小程序化构建路径:生态融合驱动下的数字化转型创新实践

xuyinyin

通义灵码2.5 | 一个更懂开发者的 AI 编程助手

阿里巴巴云原生

阿里云 通义灵码

注塑行业MES系统解决方案:全面指南与最佳实践

万界星空科技

制造业 mes 万界星空科技mes 注塑MES 注塑行业

360度全方位了解堡垒机作用-行云管家

行云管家

网络安全 数据安全 堡垒机

可观测领域的王者Dynatrace的故障定位能力验证

乒乓狂魔

可观测性 故障定位 AIOPS

动态化-罗码(京东科技一码多端解决方案)介绍

京东科技开发者

手把手教你获取淘宝天猫商品详情数据和全店数据(避坑版)

tbapi

淘宝商品详情接口 天猫商品详情接口 淘宝店铺商品接口 天猫店铺商品接口

低成本创业新方向:使用现成源码搭建游戏陪玩小程序平台

DUOKE七七

MySQL uniapp thinkphp

基于华为开发者空间 - 开发平台,构建AI会议助手

华为云开发者联盟

welink 华为云FunctionGraph 华为开发者空间 MCP Server

好消息!Apache DolphinScheduler 荣获上海上海菁英荟优秀开源项目奖

白鲸开源

大数据 开源 Apache DolphinScheduler 上海 大数据调度

告别SQL卡顿与混乱!AI如何赋能实时计算?

袋鼠云数栈

数据库 sql 数据治理 数据平台 数据管理

数字金融的产业界共识,为什么是存算分离?

脑极体

AI

MyEMS能源管理系统后台配置-网关管理

开源能源管理系统

开源 能源管理

分布式集群中雪花ID重复?三招教你彻底避坑!实战经验+解决方案

Geek_e3e86e

Java 编程

企微、钉钉、飞书私有化贵?这个支持私有化的 IM 软件可免费用!

BeeWorks

即时通讯 IM 私有化部署

喜讯!Apache SeaTunnel 荣获上海开源创新菁英荟优秀开源项目奖

白鲸开源

开源 ETL 数据集成 Apache SeaTunnel 上海

等保测评公司是干什么的?哪里可以查到?

行云管家

等保 等保测评

如何一眼定位SQL的代码来源:一款SQL染色标记的简易MyBatis插件

京东科技开发者

搭建Coze扣子文档智能问答Bot工作流,保姆级教程来了!

合合技术团队

人工智能 算法 #大数据

白鲸开源斩获「创业新星企业奖」,双开源项目同步摘奖!

白鲸开源

数据库 大数据 开源 DataOps 白鲸开源

MyEMS能源管理系统后台配置-协议

开源能源管理系统

开源 能源管理

Java的SPI机制详解

京东科技开发者

CAD图纸填充不完整是怎么回事?快试试这种方法!

在路上

cad cad看图

探索 AI 在自动化软件测试中的角色_AI&大模型_Eran Stiller_InfoQ精选文章