За последние два года развитие искусственного интеллекта, особенно LLM (больших языковых моделей), позволило более эффективно решать традиционные проблемы, и одним из таких результатов, которые могут оказать LLM, является помощь в автоматизации тестирования нашего программного обеспечения. Для многих команд разработчиков ПО автоматизация никогда не была первоочередной частью цикла SDLC, и команды изо всех сил пытаются автоматизировать тестовые сценарии, что создает « долг автоматизации тестирования ». Из-за этого пробела в автоматизации тестирования команды качества тратят много времени на ручную проверку и написание тестовых примеров, что в результате замедляет скорость разработки командой инженеров.
Единственный выход, который существует, чтобы избежать такой рутины, — это автоматизировать тестовые случаи с большей скоростью, но часто мы не можем этого сделать, потому что:
Хотя все проблемы, упомянутые выше, требуют отдельной статьи о том, как команды разработчиков должны их решать, в этом разделе мы поговорим о том, как инженеры по обеспечению качества могут использовать ChatGPT или LLM в качестве второго пилота в BDD (тестирование на основе поведения).
Что такое БДД?
Разработка на основе поведения (BDD) — это гибкая методология разработки программного обеспечения, в которой приложение документируется и разрабатывается с учетом поведения, которое пользователь ожидает испытать при взаимодействии с ним. В контексте этого обсуждения давайте применим тестирование на основе BDD к веб-сайту YC и рассмотрим страницу входа в хакерские новости YC в качестве отправной точки.
Для вышеупомянутой страницы ожидаемое поведение:
« Когда пользователь пытается войти в систему и вводит действительные учетные данные на https://news.ycombinator.com/login?goto=news и нажимает кнопку входа в систему, он должен перенаправить пользователя на веб-сайт хакерских новостей ».
В соответствии с рекомендациями BDD вышеуказанное поведение может быть записано как синтаксис/шаги Gherkin, что может быть возможным тестовым примером, а с использованием огурца в качестве основы тот же Gherkin можно автоматизировать, и это поведение больше не потребует вмешательства человека . Однако из-за проблемы, которую мы обсуждали в разделе выше, команда QA обычно страдает от ее автоматизации, но мы можем использовать возможности LLM , написав несколько подсказок и создав рабочий процесс для наших команд QA, чтобы систематизировать шаги Gherkin и их автоматизировать. с более высокой скоростью на каркасе огурца.
Рабочий процесс создания синтаксиса Gherkin
Например, на изображении ниже я показал, как можно точно настроить модель GPT, используя подсказку для создания синтаксиса корнишонов для поведения, представленного на естественном языке.
Рабочий процесс создания кода, совместимого с огурцами, из синтаксиса Gherkin
Шаг 1. Предложение о разработке
Ниже приведено приглашение, которое вы можете написать в консоли ChatGPT, чтобы точно настроить его и выполнить соответствующую автоматизацию, используя HTML-код и предоставленные шаги Gherkin. В качестве окончательного результата мы попросили сгенерировать код в форме определения шага, необходимый для огурца, который можно скопировать в том виде, в каком он есть, с помощью QA.
Шаг 2. Внедрение соответствующего HTML-кода, который необходимо использовать в качестве основы для автоматизации.
Как показано ниже, после тонкой настройки ChatGPT запрашивает соответствующие шаги HTML и Gherkin, которые он может использовать для создания определений шагов для огурца.
Шаг 3: Создание определения шага
В результате GPT поймет структуру DOM из предоставленного HTML и запросит у вас соответствующий синтаксис Gherkin. Для приведенного выше случая мы уже сгенерировали Gherkin, который можем передать как есть:
Feature: User Login Redirect Scenario: User logs in with valid credentials Given the user is on the login page of "https://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
Окончательный результат
Наконец, в соответствии с рабочим процессом и упомянутым приглашением он генерирует файл определения шага для вышеупомянутых шагов и сценария Gherkin, который может быть скопирован QA в их структуру огурца после незначительной проверки качества, чтобы ускорить автоматизацию поведения, которое они предполагали. тестировать.
С появлением искусственного интеллекта и появлением вторых пилотов люди увидят рост своей производительности. Они смогут еще больше расширить границы своих инноваций, передав элементарные и рутинные задачи ИИ. Тем не менее, я по-прежнему считаю, что мы должны рассматривать их просто как помощников в любой работе, которую мы выполняем, и при этом разумность их использования будет принадлежать людям, поскольку команды по технологиям, маркетингу, продажам и работе с клиентами пытаются использовать возможности LLM в своих рабочих процессах. то же самое могут сделать инженеры по контролю качества, чтобы они могли еще больше повысить свою производительность и сделать свою работу по обеспечению качества и стабильности программного обеспечения захватывающей!