За последние два года развитие искусственного интеллекта, особенно LLM (больших языковых моделей), позволило более эффективно решать традиционные проблемы, и одним из таких результатов, которые могут оказать LLM, является помощь в автоматизации тестирования нашего программного обеспечения. Для многих команд разработчиков ПО автоматизация никогда не была первоочередной частью цикла SDLC, и команды изо всех сил пытаются автоматизировать тестовые сценарии, что создает « долг автоматизации тестирования ». Из-за этого пробела в автоматизации тестирования команды качества тратят много времени на ручную проверку и написание тестовых примеров, что в результате замедляет скорость разработки командой инженеров.
Хотя все проблемы, упомянутые выше, требуют отдельной статьи о том, как команды разработчиков должны их решать, в этом разделе мы поговорим о том, как инженеры по обеспечению качества могут использовать ChatGPT или LLM в качестве второго пилота в BDD (тестирование на основе поведения).
Что такое БДД?
Разработка на основе поведения (BDD) — это гибкая методология разработки программного обеспечения, в которой приложение документируется и разрабатывается с учетом поведения, которое пользователь ожидает испытать при взаимодействии с ним. В контексте этого обсуждения давайте применим тестирование на основе BDD к веб-сайту YC и рассмотрим страницу входа в хакерские новости YC в качестве отправной точки.
« Когда пользователь пытается войти в систему и вводит действительные учетные данные на и нажимает кнопку входа в систему, он должен перенаправить пользователя на веб-сайт хакерских новостей ».
В соответствии с рекомендациями BDD вышеуказанное поведение может быть записано как синтаксис/шаги Gherkin, что может быть возможным тестовым примером, а с использованием огурца в качестве основы тот же Gherkin можно автоматизировать, и это поведение больше не потребует вмешательства человека . Однако из-за проблемы, которую мы обсуждали в разделе выше, команда QA обычно страдает от ее автоматизации, но мы можем использовать возможности LLM , написав несколько подсказок и создав рабочий процесс для наших команд QA, чтобы систематизировать шаги Gherkin и их автоматизировать. с более высокой скоростью на каркасе огурца.
Рабочий процесс создания синтаксиса Gherkin
Рабочий процесс создания кода, совместимого с огурцами, из синтаксиса Gherkin
Шаг 1. Предложение о разработке
Шаг 2. Внедрение соответствующего HTML-кода, который необходимо использовать в качестве основы для автоматизации.
Как показано ниже, после тонкой настройки ChatGPT запрашивает соответствующие шаги HTML и Gherkin, которые он может использовать для создания определений шагов для огурца.
Шаг 3: Создание определения шага
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
Окончательный результат