在过去的两年里,人工智能,尤其是 LLM(大型语言模型)的进步,已经证明可以更有效地解决传统问题,而 LLM 可以产生的影响之一就是帮助我们实现软件测试自动化。对于许多软件团队来说,自动化从来都不是 SDLC 周期的一等公民,并且团队努力实现测试用例的自动化,从而产生了“测试自动化债务”。由于测试自动化方面的差距,质量团队需要花费大量时间手动验证和编写这些测试用例,从而降低了工程团队的交付速度。
尽管上述所有问题都需要单独一篇文章来介绍软件团队应如何解决它们,但在本节中,我们将讨论 QA 工程师如何利用 ChatGPT 或 LLM 作为BDD(行为驱动测试)的副驾驶。
什么呢是 BDD?
行为驱动开发 (BDD)是一种敏捷软件开发方法,其中围绕用户在与其交互时期望体验的行为来记录和设计应用程序。对于本次讨论的背景,让我们在 YC 网站上应用基于 BDD 的测试,并以 YC 黑客新闻的登录页面为起点。
“当用户尝试登录并在上输入有效凭据并按下登录时,它应该将用户重定向到黑客新闻网站”。
根据 BDD 指南,上述行为可以编写为 Gherkin 语法/步骤,这可以是一个可能的测试用例,并且使用 Cucumber 作为框架,相同的 Gherkin 可以自动化,并且这种行为将不再需要人工干预。然而,由于我们在上面部分中讨论的问题,QA 团队通常会在自动化方面遇到困难,但我们可以通过编写一些提示并为我们的 QA 团队创建工作流程来利用LLM的强大功能来搅动 Gherkin 步骤及其自动化在 Cucumber 框架上速度更快。
绘制 Gherkin 词法的工作中具体步骤
从 Gherkin 语法结构导出 Cucumber 兼容编码的工作的方案
第 1 步:提示进行设计
步骤 2:注入需要用作自动化基础的相关 HTML。
内容如下图如下图所示,在调整后,ChatGPT 会条件出具想关的 HTML 和 Gherkin 步,都可以于转成 Cucumber 的步定议。
Step3:生成步骤定义
Feature: User Login Redirect Scenario: User logs in with valid credentials Given the user is on the login page of "//news.ycombinator.com/login?goto=news" When the user enters valid credentials and presses the login button Then the user should be redirected to the "hacker news" website
最终输出