计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-09-29(下)

简介: 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-09-29(下)

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-09-29(上)+https://developer.aliyun.com/article/1628918

4. Artificial Intelligence in Software Testing: A Systematic Review

Publisher: IEEE

Mahmudul Islam; Farhan Khan; Sabrina Alam; Mahady Hasan

软件测试中的人工智能:系统综述

摘要

这篇文章通过系统地回顾现有的文献,探讨了人工智能(AI)在软件测试中的应用。研究涵盖了多种AI技术,包括机器学习(ML)、遗传算法、神经网络等,以及这些技术如何被用于提高软件测试的效率和有效性。文章还讨论了在软件测试中应用AI技术时面临的挑战,并提出了未来研究的方向。

研究背景

随着软件系统的复杂性不断增加,传统的软件测试方法面临着效率和有效性方面的挑战。AI技术提供了一种潜在的解决方案,可以帮助自动化和优化测试过程。

问题与挑战

  • 测试用例的生成和选择: 传统的测试用例设计既耗时又容易出错。
  • 测试执行的自动化: 自动化测试执行需要智能决策支持。
  • 软件缺陷的检测: 准确地识别软件中的缺陷是一个挑战。
  • 测试数据的生成: 生成有效的测试数据是保证测试质量的关键。

如何解决

  • 机器学习: 利用机器学习算法自动生成和选择测试用例。
  • 遗传算法: 使用遗传算法优化测试用例的选择和测试执行的过程。
  • 神经网络: 应用神经网络提高缺陷检测的准确性。

创新点

  • 系统综述: 提供了AI在软件测试中应用的全面概述。
  • 多技术融合: 探讨了多种AI技术在软件测试中的融合应用。

算法模型

文章综述了多种AI算法在软件测试中的应用,包括:

  • 机器学习算法: 用于测试用例生成和选择。
  • 遗传算法: 用于测试用例优化。
  • 神经网络: 用于缺陷预测和检测。

结论

AI技术在软件测试中的应用提供了提高测试效率和有效性的潜力。尽管存在一些挑战,但未来的研究可能会继续探索AI在软件测试中的新应用。

推荐阅读指数

★★★☆☆

推荐理由:

对于希望了解AI在软件测试中应用的研究人员和实践者来说,这篇文章提供了一个很好的起点。它不仅概述了当前的应用状态,还指出了未来研究的方向。

5. AI in Software Testing – Benefits, Approaches, Tools to Look in 2024 [翻译]

来源: https://www.testingxperts.com/blog/AI-in-Software-Testing

AI在软件测试中的应用 – 2024年值得关注的益处、方法和工具

人工智能(AI)是最新被利用在所有行业和领域的技术。AI继续进入以前仅为人类技能保留的领域,并带来了显著的优势结果。同样,AI也被用于软件测试领域,以简化自动化测试过程并提供更高质量的结果。

根据Grand View Research的数据,2022年AI启用测试的市场规模约为4.147亿美元,预计从2023年到2030年将以18.4%的复合年增长率(CAGR)扩张。

通常,AI在软件测试中的应用将使整个测试过程更快、更清晰、更容易、更节省预算。因此,基于AI的测试将提供一个战略平台,软件测试人员可以利用AI并将测试过程提升到一个新的水平,从而为企业交付更高质量的结果。

测试自动化工具多年来一直支持持续测试过程。但现在,需要更有效的工具和技术,例如在软件和QA测试中嵌入AI,已经成为交付高质量软件和确保优越客户体验的命令。

5.1 什么是AI基础测试?

AI基础测试是一种软件测试技术,其中使用AI和机器学习(ML)算法来有效测试软件产品。AI基础测试的目标是使测试过程更智能、更高效。通过在测试中加入AI和ML,可以应用逻辑推理和解决问题的方法来改进整个测试过程。此外,在此测试方法中,使用AI测试工具来执行测试,这些工具使用数据和算法设计和执行测试,无需任何人为干预。

5.2 AI在软件测试中的演变

过去二十年来,软件测试的范式发生了显著变化。从手动测试到自动化测试,Selenium被认为是最好的自动化测试工具之一,测试之旅一直非常鼓舞人心。然而,在当今快节奏的IT世界中,软件测试领域必须提出创新和经过充分研究的测试方法。因此,AI基础测试的出现已经证明非常有意义。

AI算法可以完全模仿人类智能,ML允许计算机在没有任何人为干预的情况下自动学习。有趣的是,AI和ML涉及开发独特和特定的算法,这些算法可以访问数据,通过提取模式从数据中学习来做出决策,这些预测将有效地用于软件测试。

此外,企业正在转向可以利用AI和ML算法并可以用于有效测试软件的工具。人们也看到,企业从AI基础测试中获得了许多好处,因为它将实现更快的持续测试,完全自动化,无需任何人为干预,并且还能更快地获得投资回报。

5.3 利用AI在软件测试中的一些益处

视觉验证 –

AI具有模式识别和图像识别能力,这些能力共同帮助通过对应用程序进行视觉测试来检测视觉错误。它有助于确保所有视觉元素都能吸引并正常工作。AI可以识别动态UI控件,无论其大小、形状如何,并在像素级别进行分析。

提高准确性 –

在手动测试方法中,特别是在重复任务的情况下,出现人为错误的可能性很高。自动化测试有助于消除这些人为错误。但是,随着AI在自动化测试中的应用,重复任务得到了更有效的处理,结果也被更准确地记录。因此,AI有助于消除微小的错误机会,并提高测试的整体准确性。

更好的测试覆盖率 –

AI测试增加了测试覆盖率,因为它可以无缝地检查文件内容、数据表、内存和内部程序状态。它还有助于确定程序是否按预期工作并提供有效的测试覆盖率。

节省时间、金钱和努力 –

每当源代码发生变化时,就需要重复软件测试。手动操作非常耗时,需要测试人员付出很多努力。但是,通过AI驱动的测试,重复任务得到了适当、快速和有效的处理。

更快的上市时间 –

AI驱动的测试支持持续测试,因此产品发布更快,这有助于企业更早地进入市场。

减少缺陷 –

AI测试有助于早期和快速识别错误,这最终减少了缺陷,使产品对最终用户来说无错误,更可靠。

5.4 4个关键的AI驱动测试方法

差异测试 – 在这种类型的测试中,对差异进行分类并比较每个构建的应用程序版本。

视觉测试 – 视觉测试是一种软件测试技术,通过利用基于图像的学习和屏幕比较来测试应用程序的外观和感觉。

声明式测试 – 它旨在以自然或特定领域的语言指定测试的意图。系统决定如何执行测试。

自愈自动化 – 当UI发生变化时,测试中的元素选择会自动更正。

5.5 4个主要类别的AI驱动测试工具

差异工具

这些工具利用AI和ML算法识别代码相关问题、安全漏洞、回归等问题。这是通过代码扫描、单元测试自动化等实现的。这类工具包括:

1. Launchable:

Launchable基于ML算法,根据过去的运行和测试下的源代码变化预测每个测试失败的可能性。这个工具让用户记录测试套件,以便首先运行可能失败的测试。可以选择这个工具来运行可能失败的动态子集测试,从而将长时间运行的测试套件减少到几分钟。

2. Google OSS-Fuzz:

它是一种模糊测试工具,旨在使常见的开源软件更安全、更稳定、更可靠。这个工具结合了现代模糊测试技术与可扩展和分布式执行。这个工具支持C/C++、Rust、Go和Python代码。

视觉AI测试工具

随着平台数量的不断增长,屏幕尺寸和配置各不相同,对于测试工程师和开发人员来说,有效地测试UI层变得越来越繁琐。此外,随着企业希望提供更好的用户体验,UI层也在不断变化。因此,今天迫切需要有效地测试所有这些UI层变体的视觉AI测试工具。这类工具包括:

1. Applitools:

这是一个由AI驱动的视觉测试和监控平台。它被称为由视觉AI驱动的下一代测试自动化平台。主要功能包括Applitools Eyes,有助于增加测试覆盖率并减少维护。Ultrafast网格有助于跨浏览器和跨设备测试,并加速功能和视觉测试30倍。这个Applitools平台与所有现代测试框架集成,并与许多现有的测试工具如Selenium、Appium、Cypress等一起工作。

2. Percy by BrowserStack:

这是一个全合一的视觉审查平台,具有逐像素差异、响应式差异和快照稳定化等惊人功能。这个工具允许跨浏览器渲染、高速渲染,并具有并行化能力。Percy帮助团队自动化视觉测试。这个Browserstack工具通常用于捕获屏幕截图并将它们与基线进行比较并显示视觉变化。它增加了视觉覆盖率,并帮助团队有信心地部署代码更改。

声明式工具

这些工具旨在提高测试自动化的生产力和稳定性。这些工具利用AI和ML,并在机器人过程自动化(RPA)、自然语言处理(NLP)、基于模型的测试自动化(MBTA)和自主测试方法(AT)方面具有重要能力。这些方法的主要目标是通过智能自动化消除繁琐、错误倾向、重复的任务。这类工具包括:

1. Tricentis:

这是一个AI驱动的下一代自动化测试工具,允许敏捷和DevOps团队快速实现测试自动化目标。它允许团队超越持续测试与AI。它允许自动化软件应用程序的端到端测试。这个工具结合了软件测试的多个方面(测试用例设计、测试自动化、测试数据设计和生成以及分析),从业务角度测试GUI和API。

2. UiPath Test Suite:

这是最新的测试套件,可以用来自动化和集中测试过程,并帮助启动弹性机器人并确保每次自动化的高质量。UiPath测试套件包括UiPath Studio Pro、UiPath测试管理器和UiPath Orchestrator。因此,UiPath测试套件可以用来在UiPath Studio Pro中使用拖放界面自动化测试,使用UiPath测试管理器帮助管理测试,并使用UiPath Orchestrator帮助执行测试。因此,UiPath测试套件正在帮助企业进行360度测试,并正在帮助RPA开发人员构建更多、测试更好、永不修复。

自愈工具

在自动化测试中,存在不稳定、可靠性和维护问题,这是将AI和ML引入测试自动化的主要原因之一。为了克服这些问题,已经开发了自愈工具,这些工具大多基于记录和回放机制,其中主要的ML引擎位于记录脚本的自愈中。这类工具包括:

1. Mabl:

它是为CI/CD构建的领先智能测试自动化平台。Mabl爬行你的应用屏幕并开始运行大多数应用程序常见的默认测试。它还使用ML算法来改进测试执行和缺陷检测。

2. Testim:

这个工具使用AI和ML算法来完全自动化测试

5.6 小结

这篇文章通过系统地回顾现有的文献,探讨了人工智能(AI)在软件测试中的应用。研究涵盖了多种AI技术,包括机器学习(ML)、遗传算法、神经网络等,以及这些技术如何被用于提高软件测试的效率和有效性。文章还讨论了在软件测试中应用AI技术时面临的挑战,并提出了未来研究的方向。

5.7 推荐阅读指数

★★★☆☆

推荐理由: 对于希望了解AI在软件测试中应用的研究人员和实践者来说,这篇文章提供了一个很好的起点。它不仅概述了当前的应用状态,还指出了未来研究的方向。


后记

如果您对我的博客内容感兴趣,欢迎三连击(点赞,关注和评论),我将持续为您带来计算机人工智能前沿技术(尤其是AI相关的大语言模型,深度学习,计算机视觉相关方向)最新学术论文及工程实践方面的内容分享,助力您更快更准更系统地了解 AI前沿技术


相关文章
|
机器学习/深度学习 人工智能 自然语言处理
人工智能技术的探讨
人工智能的概念,人工智能的发展,人工智能的各种学派,人工智能的应用领域
479 4
|
人工智能 自然语言处理 算法
生成式人工智能认证(GAI认证)与标准化进程协同发展及就业市场赋能研究
本文探讨生成式人工智能认证(GAI认证)在人工智能标准化进程中的重要性,分析其对就业市场的积极影响及未来发展趋势。GAI认证不仅是个人AI能力的权威认可,还推动行业标准化与技术创新。文章指出,随着技术融合加速和应用场景拓展,GAI认证标准需不断完善,以应对技术更新、数据安全等挑战,为AI健康发展贡献力量。
|
存储 负载均衡 算法
基于 C++ 语言的迪杰斯特拉算法在局域网计算机管理中的应用剖析
在局域网计算机管理中,迪杰斯特拉算法用于优化网络路径、分配资源和定位故障节点,确保高效稳定的网络环境。该算法通过计算最短路径,提升数据传输速率与稳定性,实现负载均衡并快速排除故障。C++代码示例展示了其在网络模拟中的应用,为企业信息化建设提供有力支持。
371 15
|
人工智能 语音技术
推动人工智能技术和产业变革,啥是核心驱动力?生成式人工智能认证(GAI认证)揭秘答案
人工智能(AI)正以前所未有的速度重塑世界,其发展离不开领军人才与创新生态的支持。文章探讨了AI领军人才的核心特质及培养路径,强调构建产学研深度融合的创新生态,并通过教育变革与GAI认证提升全民AI素养,为技术与产业变革提供持续动力。这不仅是推动社会高质量发展的关键,也为个人与企业带来了更多机遇。
|
机器学习/深度学习 人工智能 自然语言处理
生成式人工智能的价值回归:重塑技术、社会与个体的发展轨迹
生成式人工智能(Generative AI)正以前所未有的速度重塑社会面貌。它从单一决策工具转变为创造性生产力引擎,推动知识生产、艺术创作与科学研究的发展。同时,其广泛应用引发社会生产力和生产关系的深刻变革,带来就业结构变化与社会公平挑战。此外,生成式AI还面临伦理法律问题,如透明性、责任归属及知识产权等。培生公司推出的生成式AI认证项目,旨在培养专业人才,促进技术与人文融合,助力技术可持续发展。总体而言,生成式AI正从工具属性向赋能属性升华,成为推动社会进步的新引擎。
|
人工智能 自然语言处理 API
MCP与A2A协议比较:人工智能系统互联与协作的技术基础架构
本文深入解析了人工智能领域的两项关键基础设施协议:模型上下文协议(MCP)与代理对代理协议(A2A)。MCP由Anthropic开发,专注于标准化AI模型与外部工具和数据源的连接,降低系统集成复杂度;A2A由Google发布,旨在实现不同AI代理间的跨平台协作。两者虽有相似之处,但在设计目标与应用场景上互为补充。文章通过具体示例分析了两种协议的技术差异及适用场景,并探讨了其在企业工作流自动化、医疗信息系统和软件工程中的应用。最后,文章强调了整合MCP与A2A构建协同AI系统架构的重要性,为未来AI技术生态系统的演进提供了方向。
1768 62
|
12月前
|
机器学习/深度学习 人工智能 自然语言处理
阿里云人工智能平台 PAI 开源 EasyDistill 框架助力大语言模型轻松瘦身
本文介绍了阿里云人工智能平台 PAI 推出的开源工具包 EasyDistill。随着大语言模型的复杂性和规模增长,它们面临计算需求和训练成本的障碍。知识蒸馏旨在不显著降低性能的前提下,将大模型转化为更小、更高效的版本以降低训练和推理成本。EasyDistill 框架简化了知识蒸馏过程,其具备多种功能模块,包括数据合成、基础和进阶蒸馏训练。通过数据合成,丰富训练集的多样性;基础和进阶蒸馏训练则涵盖黑盒和白盒知识转移策略、强化学习及偏好优化,从而提升小模型的性能。
|
人工智能 算法 搜索推荐
人工智能技术对未来就业的影响
人工智能大模型技术正在重塑全球就业市场,但其核心是"增强"而非"取代"人类工作。虽然AI在数据处理、模式识别等标准化任务上表现出色,但在创造力、情感交互和复杂决策等人类专属领域仍存在明显局限。各行业呈现差异化转型:IT领域人机协同编程成为常态,金融业基础分析岗位减少但复合型人才需求激增,医疗行业AI辅助诊断普及但治疗决策仍依赖医生,制造业工人转向技术管理,创意产业中人类聚焦高端设计。未来就业市场将形成人机协作新生态,要求个人培养创造力、情商等AI难以替代的核心能力,企业重构工作流程。AI时代将推动人类向更高价值的认知活动跃升,实现人机优势互补的协同发展。
1409 2
|
监控 网络协议 算法
基于问题“如何监控局域网内的电脑”——Node.js 的 ARP 扫描算法实现局域网内计算机监控的技术探究
在网络管理与安全领域,监控局域网内计算机至关重要。本文探讨基于Node.js的ARP扫描算法,通过获取IP和MAC地址实现有效监控。使用`arp`库安装(`npm install arp`)并编写代码,可定期扫描并对比设备列表,判断设备上线和下线状态。此技术适用于企业网络管理和家庭网络安全防护,未来有望进一步提升效率与准确性。
587 8
|
机器学习/深度学习 存储 人工智能
AI职场突围战:夸克应用+生成式人工智能认证,驱动“打工人”核心竞争力!
在AI浪潮推动下,生成式人工智能(GAI)成为职场必备工具。文中对比了夸克、豆包、DeepSeek和元宝四大AI应用,夸克以“超级入口”定位脱颖而出。同时,GAI认证为职场人士提供系统学习平台,与夸克结合助力职业发展。文章还探讨了职场人士如何通过加强学习、关注技术趋势及培养合规意识,在AI时代把握机遇。