Новичок в тестировании? Рассказываю, как с ИИ легко находить баги в приложениях
Начинающим тестировщикам не просто — море теории, мало практики. Но с нейросетью стартовать легче. Покажу, как ИИ помогает искать баги, писать чёткие баг-репорты и учиться тестировать быстрее.
Работая уже 19 лет в IT, часто слышу от новичков: "Тестирование — это сложно. Не ясно, что искать и куда смотреть". Я согласен, но раньше у тестировщиков не было ИИ. Поэтому я решил показать, как нейросеть упрощает тестирование, даже если ты не шаришь в программировании.
Для этого взял OWASP Juice Shop — учебное приложение с багами для тренировки.
В этой статье расскажу, как ИИ помогает новичкам тестировать без лишних заморочек, а также:
- ИИ для проверки приложения: как он помогает запускать тесты без сложных навыков.
- ИИ для придумывания идей: как он подсказывает, что проверить.
- ИИ для описания проблем: как он помогает рассказать о найденных ошибках.
- ИИ для поиска ошибок: как он направляет, где искать проблемы.
- ИИ как учитель: как он учит тестировать лучше.
- Чего остерегаться: как не запутаться при работе с нейросетью.
ИИ для проверки приложения
Представьте: вы только начинаете осваивать тестирование и хотите проверить, работает ли форма входа в интернет-магазин. Зайти на сайт, ввести логин и пароль — с этим вы справитесь. А вот автоматизировать проверку — уже сложнее, писать код пока не умеете. Раньше на этом этапе многие стопорились.
Я взял Workik — это бесплатный сервис, который сильно упростит задачу. Просто пишете, что хотите проверить, — он сам генерирует инструкции для теста.
Например, я задал такой сценарий:
Workik тут же выдал пошаговый план: ввести email, пароль, нажать кнопку входа, посмотреть результат.
Эти шаги запускаются в программе Cypress — она как робот открывает сайт, кликает по элементам и проверяет, всё ли работает как должно. Если что-то идёт не так, показывает, где именно сбой. Получается, что вся «тяжёлая» часть автоматизации за вас делает умный помощник — вам остаётся только задать задачу и смотреть результат.
Как это работает:
- Я захожу на сайт Workik и пишу, что хочу проверить форму входа.
- Workik даёт готовые инструкции, которые я копирую в Cypress.
- Запускаю Cypress, и он показывает, прошли тесты или нет. Если тест не прошёл, я вижу, что именно сломалось.
Почему это круто: Вы не пишете сложный код, а ИИ делает всё за вас. Вы просто смотрите, как приложение ведёт себя, и учитесь находить проблемы.
ИИ для придумывания идей
Тестирование — это не просто проверить, что кнопка нажимается. Важно думать, как реальный пользователь, который может сделать что угодно: забыть ввести данные, вбить ерунду в поле или даже попробовать взломать сайт. Новичкам такие сценарии даются с трудом — тут как раз помогает ИИ.
Я просто написал Workik:
И он сразу выдал идеи:
Наличие необходимых элементов:
- Проверка наличия полей для ввода электронной почты и пароля.
- Проверка наличия кнопки "Войти".
- Проверка наличия ссылки для восстановления пароля (если она есть).
- Проверка наличия ссылки на регистрацию (если это применимо).
Функциональность полей ввода:
- Проверка, что поля ввода пустые по умолчанию.
- Проверка, что поля поддерживают ввод текста.
- Проверка, что поле для пароля скрывает введенные символы (например, отображает символы как * или ●).
Валидация пользовательского ввода:
- Проверка, что не удаётся войти с пустыми полями.
- Проверка на показ сообщения об ошибке при вводе неправильного формата электронной почты.
- Проверка сообщения об ошибке при вводе неверных учетных данных (например, неправильный email или пароль).
- Проверка обработки слишком длинного ввода (например, превышение максимально допустимого количества символов).
Безопасность формы:
- Проверка, что после нескольких неудачных попыток входа блокируется доступ (например, срабатывает CAPTCHA или временная блокировка).
- Проверка, что при вводе неправильного логина и пароля не выводится подробная информация о пользователе (например, не отображается, правильный ли логин).
- Проверка, что происходит безопасный выход после успешного входа (например, доступен вывод для дальнейшего использования).
UX/UI проверки:
- Проверка корректного отображения формы на мобильных и десктопных устройствах (адаптивность).
- Проверка наличия подсказок для полей ввода, если они предусмотрены.
- Проверка наличия сообщения об успешном входе после успешной аутентификации.
- Проверка наличия сообщений о необходимости подтвердить ввод (например, "Пожалуйста, заполните все обязательные поля").
Тесты на производительность:
- Проверка времени отклика системы на вход (не более X секунд).
- Проверка, что форма не зависает при вводе данных.
Эти идеи учат думать, как тестировщик. Например, я не знал, что можно попробовать ввести код для взлома (это называется SQL-инъекция), но Workik подсказал, и я нашёл, что приложение правильно защищено.
Как это работает:
- Пишу в Workik, что хочу протестировать.
- Он даёт список идей, которые я могу проверить.
- Я запускаю эти проверки через Cypress и вижу, где приложение ломается.
Почему это круто: ИИ помогает придумывать неочевидные вещи, которые вы могли пропустить. Это как подсказки в игре, которые ведут к цели.
ИИ для описания проблем
Когда вы находите баг (например, сайт вдруг выдаёт странное сообщение), важно объяснить его разработчикам. Такой отчёт называется баг-репортом — и для новичков это одна из самых сложных задач. Тут снова выручает ИИ.
Допустим, я тестировал форму входа и заметил, что при слишком длинном email сайт выдаёт ошибку. Без ИИ я бы написал что-то вроде: «Сайт сломался». Полезно? Не очень.
А с Workik и Cypress всё иначе: они подсказывают, что именно я делал, какой результат ожидал и что получилось на самом деле. По сути, на руках уже готовый, понятный отчёт для разработчиков.
Пример отчёта:
- Что сломалось: Слишком длинный email ломает форму входа.
- Что я делал: Ввёл длинный email и нажал «Войти».
- Что должно было быть: Сообщение «Email слишком длинный».
- Что произошло: Сайт показал ошибку.
- Доказательства: Скриншот от Cypress.
Как это работает:
- Workik и Cypress показывают, что пошло не так.
- Я использую эти данные, чтобы написать отчёт.
- Если отчёт выглядит коряво, могу попросить ИИ (например, Grok) сделать его лучше.
Почему это круто: ИИ помогает описать проблему так, чтобы разработчики поняли и не задавали кучу вопросов.
ИИ для поиска ошибок
Иногда тестировщик просто «играет» с приложением — пробует разные сценарии, чтобы найти слабые места. Такой подход называется эксплоративным тестированием. Для новичков он часто кажется хаосом: куда тыкать? что пробовать? где вообще могут быть баги? Тут как раз помогает ИИ.
Я написал Workik:
Следуя этим подсказкам, я нашёл две ошибки:
- Отсутствующая валидация пользовательского ввода (Injection Vulnerabilities). Например, если вы введете недопустимые символы или специально сформированные строки, приложение может не корректно обработать ввод, что приведёт к неправильной работе или даже сбоям в процессе.
- Проблемы с безопасностью аутентификации и управления сессиями. Внешние атаки (такие, как атаки с использованием перехвата сессии) возможны, если не предусмотрены подходящие меры защиты для аутентификации и управления сессиями. Например, если приложение не защищает сессионные идентификаторы или не использует HTTPS.
Как это работает:
- Workik даёт идеи, где искать проблемы.
- Я пробую эти сценарии вручную или через Cypress.
- Если нахожу ошибку, пишу отчёт (как выше).
Почему это круто: ИИ направляет вас, чтобы вы не тратили время на случайные клики. Вы учитесь находить серьёзные проблемы, вроде тех, что могут использовать хакеры.
ИИ как учитель
Самое полезное — ИИ помогает вам учиться тестировать. Когда тест не проходит, Workik и Cypress показывают, что именно пошло не так. Например, я ожидал сообщение «Email слишком длинный», а сайт вывел другое. Workik подсказал: «Проверь, что именно выдаёт сайт». Я посмотрел — и понял: приложение некорректно обрабатывает длинные данные.
Другой пример: Workik предложил протестировать поведение формы с «кодом для взлома». Я загуглил, что это, и узнал, как хакеры используют такие штуки для атак. Теперь понимаю, что такие проверки нужны везде — в формах, поиске, корзине.
Как это работает:
- ИИ даёт задачу или подсказку.
- Вы пробуете и смотрите, что получилось.
- Если непонятно — ИИ объясняет или направляет, куда копать дальше.
Почему это круто: ИИ всегда рядом — в отличие от наставника, который может быть занят. Он помогает учиться на ошибках и с каждым тестом становиться лучше.
Чего остерегаться при работе с нейросетью
ИИ — это отличный помощник, но не волшебная палочка. Важно помнить о таких нюансах:
- Не верьте ИИ вслепую. Если Workik не предложил проверить что-то — это не значит, что там точно нет багов. Думайте сами.
- ИИ тоже может ошибаться. Иногда он даёт неверные шаги — их стоит проверять и при необходимости править.
- Не ленитесь учиться. Если просто копировать подсказки ИИ, вы не станете хорошим тестировщиком. Важно понимать, что и почему вы проверяете.
- Бесплатные инструменты ограничены. Workik — бесплатный, но у него есть свои лимиты. Иногда понадобится искать дополнительные решения.
А если вам нужен ИИ-помощник для сотрудника — познакомьтесь ближе с продуктами Minervasoft. Ассистент с генеративным ИИ Minerva Copilot встраивается в любую систему компании и подсказывает ответы из корпоративной базы знаний в зависимости от контекста. Быстро, качественно и со ссылками на статьи.
Кроме того, благодаря технологии DataHub система управления знаниями Minerva Knowledge становится корпоративным «мозгом» для GenAI. Платформа объединяет любые источники информации в компании, в том числе внутренние системы, базы знаний и другие хранилища данных.