如何使用生成式人工智能进行软件测试和质量保证

在质量保证中跳过生成式人工智能可能会使组织在快速发展的技术领域中落后。

译自 How To Use Generative AI for Software Testing and Quality Assurance,作者 Udi Weinberg。

对软件开发保持“一切照旧”心态的组织面临落后于竞争对手的风险。速度、可靠性和安全性现在需要成为SDLC的重要组成部分,而增强的质量工程是确保这三个要素的最佳方法之一。

根据第16版世界质量报告,生成式人工智能 (GenAI) 和自动化是质量工程(也称为质量保证)发生这种变化的驱动力之一。除了能够跟上不断发展的技术之外,使用GenAI和自动化还为组织的质量工程带来了诸多好处和风险。好处包括提高开发过程的效率和可靠性。它还为成功实施DevSecOps打开了大门,其优势从DevOps团队规划到网络安全实施,再到最终用户的部署后安全。

生成式人工智能是质量工程师的朋友

GenAI的主要优势是通过实现可靠且可扩展的测试来降低成本和缺陷。根据世界质量报告,许多组织已经意识到了这些好处。例如,68%的受访者正在积极使用GenAI或已经完成了试点并正在制定路线图。最能表明GenAI采用情况的数据是,在第16版的受访者中,只有4%的人表示他们甚至没有探索GenAI的使用。这比上一份报告中的31%大幅下降。

虽然必须在质量工程中紧急使用GenAI,但这种做法仍处于早期阶段。许多已经利用GenAI的组织仍在尝试各种用例,并确定哪些用例能够带来最大的收益。现在仍然可以开始将AI集成到SDLC中,但推迟采用可能会使公司面临落后太多的风险。

现在是时候解决这个房间里的大象了:通过减少质量工程师人数来降低成本的诱惑。对于大多数组织来说,使用GenAI取代质量工程师可能是一个错误。相反,使用GenAI通过增强质量工程师的工作来显著提高生产力将是明智的战略。

实施GenAI来执行日常测试任务,可以让工程师腾出时间来处理新的研发活动或将他们的技能用于更详细的项目。反过来,这使组织能够始终处于当前技术转型和未来进步的前沿。

此外,如果在SDLC的开发阶段实施了GenAI,公司也应该在质量保证阶段实施它。组织采用AI的主要原因之一是它可以帮助开发人员提高效率并更快地生成代码。但是,如果质量工程不采用AI,它将无法跟上代码交付速度的提高。

另一个需要注意的是,虽然GenAI可以在代码到达测试阶段之前就对代码质量和设计做出贡献,但它也可能很危险。开发人员可能会养成依赖AI的习惯,以至于在将代码交给质量保证团队之前,他们需要运行更多的测试。

GenAI和测试自动化:双赢组合

越来越多的组织意识到他们必须制定全面的自动化战略,使工作与业务成果保持一致,并投资于现代技术。自动化对熟练人员的主要优势在于它使质量工程师摆脱了日常重复性任务,从而使他们有更多时间进行创新。GenAI的出现是因为它加速了测试自动化(以及如果需要的话,手动和基于性能的)脚本的创建。这使得整个过程更加高效。

世界质量报告的受访者表示,使用GenAI增强测试自动化的主要好处包括更快的自动化 (72%)、更容易的集成 (68%) 以及测试资源和工作的减少 (62%)。 一旦决定要转型质量工程,就必须始终将几件事情放在首位。为了实施和维护一个强大而准确的AI驱动测试程序,公司应该投资于AI以优化测试,利用AI来确保智能产品得到准确和高效的测试。同时,明智的做法是创建GenAI数字测试员与人工测试员相结合的模式,由人工测试员来验证AI和GenAI无法处理的产品质量方面,并让产品质量工程师为不断发展的技术做好准备。

与GenAI一样,自动化也面临着挑战和风险,可以通过规划来避免。其中之一是让技术能力较弱的人员也能为自动化做出贡献。第二个挑战是提高创建的测试速度以匹配开发人员不断提高的速度。自动化测试的可维护性正在提高,工程师有时会花费更多的时间来修复和编写测试。GenAI驱动的质量工程中最令人兴奋的潜在用途之一是利用自愈功能。当代码更改需要手动干预时,传统的自动化测试通常会失效。预计到2025年,自主测试将能够利用自愈功能动态地适应代码和配置的变化,从而确保一个具有弹性和适应性的测试环境。

DevSecOps:一股统一的力量

如果要让工程师选择一个Gen AI和测试自动化在整个SDLC和部署后运营的成功中发挥重要作用的领域,简单的答案可能是新兴的DevSecOps实践。单从定义来看,DevSecOps——代表开发运营(DevOps)、安全运营(SecOps)和IT运营(ITOps)的集成——是IT世界中的一股统一力量。DevSecOps的首要目标是无缝地提高安全性。它还重塑了IT专业人员的角色,并使软件开发生命周期更快、更可靠、更便宜。此外,越来越明显的是,AI可以成为DevSecOps中的一股强大力量,尤其是在测试自动化成为战略一部分的情况下。

GenAI和测试自动化使安全性可以无缝地成为软件规划和开发的一部分,而不是在周期结束或部署之后。借助GenAI和测试自动化,DevOps和SecOps工程师可以通过DevSecOps平台查看潜在问题,这些平台可以扫描代码、运行全面测试并实时监控系统。GenAI可以超越观察,在项目管理中发挥作用,帮助揭示风险,提出缓解措施,并协助相关利益相关者首先关注最具影响力和风险最高的项目。

其结果是一个整合的、更高效的开发流程,可以生产出更有效的产品。除了在SDLC期间的节省之外,DevSecOps还大大降低了成功网络攻击的风险,这些攻击可能造成数百万甚至数十亿美元的损失、计划外的长时间停机、声誉受损以及不满客户的愤怒。

GenAI、测试自动化和DevSecOps的未来用途?

预计到2025年,更多集成的DevSecOps管道将变得越来越突出,同时打破开发、质量工程和安全团队之间的孤岛。这种统一为更快的软件发布打开了大门,并通过在整个管道中尽早且经常地嵌入测试和安全检查(在AI驱动的洞察力的帮助下)来减少漏洞。

关于AI驱动的DevSecOps计划的一个关键点是,它向组织灌输了一种新的主动网络安全思维模式,而不是传统的被动姿态。为什么这很重要?虽然AI是一种好的工具,但它也可以被用来进行网络攻击。2024年,美国联邦调查局发出警告警告网络犯罪分子正在使用AI来提高网络攻击的速度、规模和自动化程度。对抗AI的最佳方式是用AI。

随着AI数据质量工程和准确性的提高,业界将开始克服对AI的信任度、可靠性和安全性的怀疑。接受这种转变的组织将有助于弥合全面测试自动化的差距,加强数据完整性,并减少对遗留系统的依赖。因此,它们将变得更强大,并为下一次不可避免的技术变革做好更充分的准备。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注