Как стать автором
Обновить

Использование ChatGPT для автоматизации тестирования

Время на прочтение4 мин
Количество просмотров12K
Автор оригинала: Mayank Bhola

ChatGPT побил все Интернет-рекорды, став вирусным в первую неделю после запуска. Миллион пользователей за 5 дней — это беспрецедентно. Система искусственного интеллекта – виртуальный собеседник, который может отвечать на вопросы на естественном языке и создавать стихи, писать сценарии фильмов, посты в социальных сетях, сочинения и делать массу удивительных вещей. Наша первая мысль, когда мы получили доступ к платформе, заключалась в том, как использовать эту замечательную платформу, чтобы облегчить жизнь тестировщикам веб-приложений и мобильных приложений. И самое главное, как можно использовать ChatGPT для автоматизированного тестирования.

 Чему мы научились, когда создавали автоматизированные тесты с помощью ChatGPT

В целом это было весело. И каждый раз мурашки по коже, когда платформа превосходила наши ожидания. Вот что на самом деле мы извлекли из всех проведенных экспериментов. И хорошее, и плохое.

 Плюсы ChatGPT для автоматизации тестирования

  • Добавление отказоустойчивости

Одна из вещей, которую тестировщики упускают из виду или считают избыточной, — это добавление отказоустойчивости в код автоматизации. Обычно добавление отказоустойчивости в низком приоритете. С помощью ChatGPT мы можем легко создать код, чтобы добавить отказоустойчивость в скрипт автоматизации.

  • Обеспечение безопасности

Добавление лучших практик, ориентированных на безопасность, должно быть приоритетом с первого дня. Однако, если у вас есть незащищенный устаревший код или не хватает времени на поиск уязвимостей в коде, может помочь ChatGPT. Некоторые фрагменты кода, созданные ChatGPT, по умолчанию были безопасны (например, использование функции GitHub Secrets). Иногда вам может потребоваться намеренно запросить у ChatGPT создание безопасного кода. Например, нам пришлось попросить ChatGPT использовать переменные окружения.

  • Предоставление тестировщикам возможности преодолеть кривую обучения

ChatGPT — отличный инструмент для преодоления ограничений, связанных со знанием той или иной технологии. Например, если вы являетесь экспертом по Selenium, но плохо разбираетесь в GitHub pipelines, вы можете использовать ChatGPT для создания начального кода, который поможет вам создать GitHub workflows.

Однако следует понимать, что ChatGPT не идеален и не надежен. Это просто еще один инструмент, облегчающий вашу жизнь, но если вы действительно хотите добиться успеха, вы не можете полностью зависеть от ChatGPT. Вам придется глубоко погрузиться в технологию.

  • Ускорение отладки кода

Когда дело доходит до отладки, ChatGPT является полезным дополнением к набору инструментов любого разработчика программного обеспечения. В Интернете можно найти примеры, когда люди копировали и вставляли свой код в ChatGPT и получали точную причину сбоя в качестве выходного ответа. Опять же, это не на 100% надежно, и ChatGPT может упустить очевидные проблемы, но, тем не менее, он может помочь вам на начальном этапе или навести на нужную мысль при отладке кода.

 Минусы ChatGPT для автоматизации тестирования

Хотя ChatGPT имеет много преимуществ и вариантов использования, есть несколько недостатков, о которых следует знать.

  • Он основан на статистических закономерностях и не понимает скрытый смысл

ChatGPT построен на основе GPT3.5, авторегрессионной языковой модели. Одна из самых больших проблем в этом подходе заключается в сильной зависимости от статистических закономерностей.

Эта модель обучения с помощью статистических моделей предсказывает, какими должны быть следующие слова, исходя из того, какие слова использовались ранее. Но без понимания значения этих слов.

Это означает, что ее нельзя использовать столь же эффективно в ситуациях, когда вопросы или утверждения пользователя требуют понимания контекста, который ранее не объяснялся.

Хотя эти ограничения могут показаться незначительными, это очень важно, если вы используете ChatGPT для тестирования. Например, точность ChatGPT резко снизится, если вам придется создавать тест-кейсы, требующие предварительного глубокого понимания тестируемой системы.

  • Пробелы в обучении

Базовая технология ChatGPT, языковая модель GPT3.5, представляет собой языковую модель глубокого обучения, которая была обучена на больших массивах данных, созданных человеком. Можно предположить, что ChatGPT также выучил Код как текст; поэтому он смог создать такой точный код.

Это означает, что он не может точно ответить на то, чего не изучил раньше, или может дать неверную информацию, если его обучение не было обновлено.

Например, если его последний этап обучения был на фреймворке, половина методов которого с тех пор устарела, то код, который он создаст, будет использовать эти устаревшие методы. Таким образом, пользователь должен убедиться, что окончательный код, который он использует, отвечает современным требованиям.

  • Неполный код

Еще одна проблема создания кода через ChatGPT заключается в том, что вам приходится иметь дело с частично написанным кодом.

Поэтому, если вы зависите от кода на основе ChatGPT, вам сначала нужно будет понять неполный код, доработать его или изменить в соответствии со своими потребностями. И, как вы можете себе представить, это может быть довольно не просто, так как очень много вещей могут пойти не так. Даже если вам удастся получить то, что вы хотите, конечный продукт, скорее всего, будет не так хорош, как если бы вы писали код с нуля. Но, с другой стороны, иногда расширение кода или отладка кода может быть проще, чем создание кода с нуля.

  • Предположения

ChatGPT зависит от предположений. Тестировщики программного обеспечения обучены выявлять скрытые факторы, которые потенциально могут привести к сбою приложения, и встраивать в свои тест-кейсы способы проверки этих проблем. Но что происходит, когда вашим тестировщикам не дается достаточно времени, чтобы проверить все их предположения? Что делать, если информация, необходимая для подтверждения предположения, недоступна? Когда в создании продукта участвуют разные команды, QA или Development, это может быть трудно контролировать.

Та же проблема существует и с ChatGPT. Платформа начинает с множества предположений о введенном вами варианте использования. В большинстве случаев эти предположения очевидны, и ChatGPT справляется с ними, но часто предположения могут привести к очень неточному коду, который не сильно вам поможет.

 Заключение

ChatGPT все еще находится на начальной стадии, и в него постоянно вносятся обновления для добавления функций или исправления ошибок. Кроме того, это модель постоянного обучения, поэтому чем больше людей используют ее и обнаруживают проблемы в платформе, тем лучше она становится. Точность ChatGPT будет продолжать расти, а пробелы в обучении будут продолжать заполняться.

Это означает, что пользователи должны быть в курсе этих изменений, чтобы продолжать эффективно использовать ChatGPT.

Полную информацию о запросах и ответах ChatGPT вы можете найти в оригинальной статье.

Теги:
Хабы:
0
Комментарии6

Публикации

Истории

Работа

Ближайшие события