计算机前沿技术-人工智能算法-大语言模型-最新研究进展-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前沿技术


目录
相关文章
|
29天前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能技术介绍
【10月更文挑战第14天】 人工智能技术介绍
|
25天前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能与机器学习:探索未来的技术边界
【10月更文挑战第18天】 在这篇文章中,我们将深入探讨人工智能(AI)和机器学习(ML)的基础知识、应用领域以及未来趋势。通过对比分析,我们将揭示这些技术如何改变我们的生活和工作方式,并预测它们在未来可能带来的影响。文章旨在为读者提供一个全面而深入的理解,帮助他们更好地把握这一领域的发展趋势。
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能与深度学习:探索未来技术的无限可能
在21世纪,人工智能(AI)和深度学习已经成为推动科技进步的重要力量。本文将深入探讨这两种技术的基本概念、发展历程以及它们如何共同塑造未来的科技景观。我们将分析人工智能的最新趋势,包括自然语言处理、计算机视觉和强化学习,并讨论这些技术在现实世界中的应用。此外,我们还将探讨深度学习的工作原理,包括神经网络、卷积神经网络(CNN)和循环神经网络(RNN),并分析这些模型如何帮助解决复杂的问题。通过本文,读者将对人工智能和深度学习有更深入的了解,并能够预见这些技术将如何继续影响我们的世界。
35 7
|
6天前
|
人工智能 自然语言处理 自动驾驶
技术与人性:探索人工智能伦理的边界####
本文深入探讨了人工智能技术飞速发展背景下,伴随而来的伦理挑战与社会责任。不同于传统摘要直接概述内容,本文摘要旨在引发读者对AI伦理问题的关注,通过提出而非解答的方式,激发对文章主题的兴趣。在智能机器逐渐融入人类生活的每一个角落时,我们如何确保技术的善意使用,保护个人隐私,避免偏见与歧视,成为亟待解决的关键议题。 ####
|
14天前
|
机器学习/深度学习 人工智能 自然语言处理
深度探索人工智能中的自然语言处理技术#### 一、
【10月更文挑战第28天】 本文旨在深入剖析人工智能领域中的自然语言处理(NLP)技术,探讨其发展历程、核心算法、应用现状及未来趋势。通过详尽的技术解读与实例分析,揭示NLP在智能交互、信息检索、内容理解等方面的变革性作用,为读者提供一幅NLP技术的全景图。 #### 二、
25 1
|
20天前
|
机器学习/深度学习 人工智能 搜索推荐
人工智能与未来医疗:AI技术如何重塑医疗健康领域###
【10月更文挑战第21天】 一场由AI驱动的医疗革命正在悄然发生,它以前所未有的速度和深度改变着我们对于疾病预防、诊断、治疗及健康管理的认知。本文探讨了AI在医疗领域的多维度应用,包括精准医疗、药物研发加速、远程医疗普及以及患者个性化治疗体验的提升,揭示了这场技术变革背后的深远意义与挑战。 ###
47 6
|
18天前
|
机器学习/深度学习 人工智能 自然语言处理
探索人工智能的无限可能:技术前沿与应用实践
【10月更文挑战第23天】探索人工智能的无限可能:技术前沿与应用实践
|
20天前
|
人工智能 算法 自动驾驶
人工智能的伦理困境:技术发展与社会责任的平衡
在人工智能(AI)技术飞速发展的今天,我们面临着一个前所未有的伦理困境。本文将探讨AI技术带来的挑战,以及如何在技术创新与社会责任之间找到平衡点。我们将从隐私保护、就业影响、算法偏见等方面进行分析,并提出相应的解决方案。
|
21天前
|
人工智能 算法
人工智能浪潮中的伦理困境:我们如何确保技术的道德发展?
【10月更文挑战第22天】在人工智能(AI)技术的迅猛发展中,伴随着巨大的潜力和便利性,也出现了众多伦理问题。从数据隐私到算法偏见,再到自动化带来的失业问题,AI的每一步进步都在考验着人类社会的道德底线。本文将探讨AI技术发展中的主要伦理问题,并讨论如何通过制定标准、教育和跨学科合作来确保AI技术的道德发展。
|
21天前
|
人工智能 算法 测试技术
探索人工智能的边界:从理论到实践的技术感悟###
一场意外的代码崩溃引发的技术觉醒 一次深夜的紧急修复,让我深刻体会到了算法优化与系统稳定性之间微妙的平衡。一行不起眼的代码错误,导致整个智能推荐系统瘫痪,这次经历促使我深入思考技术的本质和开发者的责任。本文将分享这一过程中的启示,并探讨如何通过技术创新来提升系统的鲁棒性和用户体验。 ###

热门文章

最新文章