在生成式人工智能时代重新思考质量保证

重新思考人工智能时代的质量保证

生成式人工智能(Generative AI)使软件开发人员能够比以前更快地创建更多的代码。对于负责确保应用程序按时发布且没有错误的软件质量测试工程师来说,GenAI既是一个挑战,也是解决这个问题的方案。更具体地说,它提供了强调测试用户体验重要性的机会。

长期以来,质量保证工程师一直被迫将功能性、性能和安全性测试置于其他方面之上。现在是测试的新时代的开端,它更加综合并为工程师和测试人员提供了广泛的好处。

软件测试程序的重点

软件质量已经发展到优先考虑以下七个维度,按照对业务价值的重要性列出:

  1. 功能性:确保应用程序符合设计要求的适应性。
  2. 可用性:评估应用程序的用户界面和工作流程,以确保它可以轻松导航和理解。
  3. 性能:测试应用程序在不同条件下的性能,以避免延迟问题并优化响应时间。
  4. 一致性:验证应用程序的输出,以确保结果和行为在时间和不同地区都是相同的。
  5. 安全性:评估应用程序对潜在攻击的脆弱性,以确保数据始终受到保护。
  6. 弹性:确保系统在不利和不可预测的条件下保持运行,能够优雅地恢复并继续正常工作,避免关键故障。
  7. 根据用户反馈进行适应:确保应用程序根据用户的反馈(作为功能/功能成熟度的一部分)进行适应并融合新信息。

这个列表已经相当令人望而却步。要实现对每个维度的全面覆盖有点像追逐移动的目标。期望可以迅速变化,所需的资源的可用性也可以迅速变化。 GenAI提供了这样的机会。

功能性、性能和安全性测试仍然引领潮流

GenAI使软件开发人员能够创建高度创造性的应用程序(例如生成内容的应用程序,包括艺术和音乐作品),并且测试这些应用程序需要与传统测试相比的一种修订方法。与传统应用程序相比,这些应用程序的可能输出范围更加流动/灵活,导致以下增加:

  • 随机性(输出不可预测)
  • 意外行为/输出的风险
  • 密集算法导致对硬件资源的更高压力,从而导致性能瓶颈

满足上述列表所提出的挑战的唯一方法是用GenAI辅助工具来进行测试计划和执行,以火攻火。自动化测试工具应该成为任何测试计划的基石。对于测试工程师来说,这意味着需要更多的努力来审计软件,设计测试计划并在规模上执行它们。但是,在代码开发的数量和速度要求仍然需要相当的关注的同时,测试工程师需要继续分析用户交互,模拟和验证应用程序的响应和行为,特别是在AI模型可能难以生成准确输出的边缘情况下。

GenAI对质量保证提出了全新的要求,需要更智能、更快速的方法。我们需要敞开心扉,应用创造性的测试程序来适应这种构建软件的新方式。通过重新思考一些旧的方法,我们可以更早地预见问题,并交付性能更高、安全性更强、更用户友好的软件。