人工智能技术越来越多地被应用于软件测试,以提高自动化程度和效率。Eggplant AI 和 Test.ai 等工具利用人工智能来执行传统上由人类测试人员完成的任务。这些工具使用人工智能算法来生成测试用例、执行测试和分析结果,从而大大减少了测试所需的时间和精力。人工智能可以自动执行重复和平凡的测试任务,让测试人员专注于软件更复杂和更关键的方面。此外,人工智能可以通过分析历史数据和识别模式来预测潜在的故障区域,从而提高测试的准确性和有效性 (Mulla and Jayakumar, 2021)。此外,自然语言处理 (NLP) 等人工智能技术可用于理解和生成用通俗易懂的语言编写的软件需求的测试用例。这使得测试生成更加直观和高效,减少了非技术利益相关者参与测试过程的障碍 (Amershi et al., 2019)。
美国普渡大学计算机科学系,韦恩堡 摘要 人工智能和机器学习的历史可以追溯到 20 世纪 50 年代。近年来,实现 AI 和 ML 技术的应用程序越来越受欢迎。与传统开发一样,软件测试是高效 AI/ML 应用程序的关键组成部分。然而,AI/ML 中使用的开发方法与传统开发有很大不同。由于这些变化,出现了许多软件测试挑战。本文旨在认识和解释软件测试人员在处理 AI/ML 应用程序时面临的一些最大挑战。对于未来的研究,这项研究具有重要意义。本文概述的每一个挑战都值得进一步研究,并且很有可能为更高效的软件测试策略和方法指明方向,这些策略和方法可以应用于 AI/ML 应用程序。 关键词 人工智能 (AI)、机器学习 (ML)、软件测试 1. 引言
摘要在自动化软件测试中机器学习(ML)的集成代表了一种旨在提高测试过程效率,准确性和范围的变革性方法。本文探讨了在软件测试领域中采用ML技术的理论和实用方面,重点是关键领域,例如测试案例案例生成,缺陷预测和测试套件优化。通过全面的文献综述和案例研究,本研究说明了与ML驱动的测试方法相关的潜在益处。调查结果表明,ML可以显着降低手动干预并提高缺陷检测率,从而促进更可靠的软件交付。本文还解决了ML实施在自动测试和未来研究方向中的好处,以弥合现有差距,并进一步利用ML在软件测试中。
人工智能 (AI) 正在医疗、军事、工业、家庭、法律、艺术等多个领域产生重大影响,因为 AI 能够执行多种角色,例如管理智能工厂、驾驶自动驾驶汽车、创建准确的天气预报、检测癌症和个人助理等。软件测试是测试软件是否存在某些异常行为的过程。软件测试是一个繁琐、费力且最耗时的过程。已经开发了自动化工具,有助于自动化测试过程的某些活动,以提高质量和及时交付。随着时间的推移,随着持续集成和持续交付 (CI/CD) 管道的加入,自动化工具的效率正在降低。测试社区正在转向 AI 来填补这一空白,因为 AI 能够在没有任何人工干预的情况下以比人类更快的速度检查代码中的错误和错误。在这项研究中,我们旨在认识到 AI 技术对 STLC 中各种软件测试活动或方面的影响。此外,该研究旨在识别和解释软件测试人员在将 AI 应用于测试时面临的一些最大挑战。论文还提出了未来人工智能对软件测试领域的一些关键贡献。
系统配置选项的优化对于确定其性能和功能性至关重要,尤其是在自动驾驶软件(ADS)系统的情况下,因为它们具有多种此类选项。广告领域的研究工作优先考虑开发了拟议的测试方法,以增强自动驾驶汽车的安全性和安全性。目前,基于搜索的方法用于在虚拟环境中测试ADS系统,从而模拟了现实世界的情况。但是,这种方法依赖于优化自我汽车和障碍的航路点,以产生触发违规的各种情况,并且没有以前的技术专注于从配置的角度优化广告。为了应对这一挑战,我们提出了一个名为Conferve的框架,这是第一个自动配置测试框架。Confve的设计着重于通过不同配置下的不同广告测试方法产生的重新违规场景出现,利用9个测试Oracles使以前的广告测试方法可以找到更多类型的违规行为,而无需修改其设计或实施,而无需修改其新颖的技术,以识别出漏洞的违法行为违规和违反违法行为和违反违法行为。我们的评估结果表明,同盟可以发现1,818条独特的违规行为,并减少74.19%的重复违规行为。
作者地址:Noah H. Oldfield,Simula 研究实验室和奥斯陆大学,挪威奥斯陆,noah@simula.no; Christoph Laaber,挪威奥斯陆 Simula 研究实验室,laaber@simula.no;陶岳,挪威奥斯陆 Simula 研究实验室,taoyue@gmail.com; Shaukat Ali,挪威奥斯陆 Simula 研究实验室和奥斯陆都市大学,shaukat@simula.no。
随着新技术和新技巧的采用,信息技术 (IT) 世界几乎不断发生变化。软件测试人员(无论是按头衔还是在实践中)必须快速适应并能够利用他们的技能来应对新挑战。然而,基本技能和知识保持不变,作为可以添加新信息的核心理解。为了便于阅读,“软件测试人员”一词将用于指代任何测试软件的人,无论他们的正式角色如何。本大纲重点介绍软件测试所需的基本领域,无论使用的技术、生命周期或工具如何。一些项目可能会使用更多或更少的这些技能领域,但所有软件测试人员都需要了解和掌握这套核心技能。顾名思义,本大纲涵盖了“基本知识”。本大纲应被视为其他认证和知识领域的跳板。作为 AT*SQA 符合 ISO 标准的产品的一部分,认证必须与时俱进,并在规定的时间范围内完成额外的学习。有关更多详细信息,请参阅 AT*SQA 的网站。这有助于软件测试人员继续扩展他们的知识和市场能力,并承认软件测试行业对继续教育的真正需求。
软件开发的快速增长和应用程序复杂性的不断增加迫切需要高效的测试解决方案。人工智能 (AI) 已成为软件测试领域的一项变革性技术,为提高测试准确性、减少人工工作量和加速测试过程提供了潜在的解决方案。本文探讨了人工智能在软件测试中的各种应用,包括测试生成、测试执行、缺陷预测、测试优化和测试维护的增强。我们研究了在软件测试中利用机器学习 (ML)、自然语言处理 (NLP) 和深度学习等人工智能技术的好处、挑战和未来前景,并提出了将这些方法集成到测试工作流程中的最佳实践。
快速软件测试探索 (RSTE) 通过简短的实践练习和苏格拉底式讨论介绍了快速软件测试的方法。与 RSTA 相比,RSTE 不太关注测试的工作产品。虽然这两个课程可以按任何顺序学习,但人们通常从 RSTE 开始。 快速软件测试应用 (RSTA) 较少关注解释和演示 RST 的概念和技能,而更多关注练习其核心要素。RSTA 包括长时间的练习,您将在其中测试真实产品的一部分,然后进行汇报。该课程以在线形式(三天内九场网络研讨会)或课堂 2 天或 3 天形式授课。RSTE 不是 RSTA 的先决条件。事实上,这两个课程可以按任意顺序学习。 快速软件测试管理 (RSTM) 是一门面向寻求应用快速软件测试方法或正在努力在组织层面改进测试的经理和其他领导者的课程。应首先学习 RSTE 以充分利用 RSTM。 快速软件测试指导 (RSTC) 是为测试主管、教练和经理开设的课程,他们指导测试,但不一定亲自进行。由于 RSTC 基于快速软件测试方法,因此应首先参加 RSTE,以充分利用 RSTC。