Навайбкодил? Протестируй!

ИИ написал код. MVP запущен за выходные - и он работает. Но ты не знаешь, почему. Хорошая новость: тебе не нужно нанимать QA-инженера, но нужно спасти продукт от факапа на продакшне.

Когда пишешь код - хотя бы примерно понимаешь, что он делает. Когда за тебя пишет ИИ, то получаешь рабочий результат без модели в голове. Он решает задачу, но ты не знаешь что ИИ учёл, а что нет. Главный риск - всегда протестируют только «счастливый путь», то есть то, как приложение работает когда всё хорошо. Пользователи же внесут хаос.

Сначала простые тесты - открой своё приложение и попробуй его сломать. Вставь в поле ввода 10 000 символов. Нажми кнопку «Сохранить» дважды за одну секунду. Введи 🥐 в поле для числа. Попробуй SQL-инъекцию вроде '; DROP TABLE users; --. Открой на мобильном с медленным интернетом. Нажми «Назад» посередине оформления заказа. Попробуй зайти без авторизации по прямой ссылке на защищённую страницу.

Дальше открывай DevTools (в большинстве браузеров (Chrome, Edge, Firefox) можно нажатием клавиши F12 или сочетанием Ctrl+Shift+I (Windows/Linux) / Cmd+Option+I (macOS). Три вкладки, которые нужно знать. Во вкладке Console падают ошибки JavaScript - если там есть что-то красное после действия пользователя, это баг. Например, ошибка Cannot read properties of undefined означает, что где-то код обращается к объекту, которого нет - чаще всего это гонка данных при загрузке. Во вкладке Network видны все запросы к серверу: 200 - всё хорошо, 400 - отправлены неправильные данные, 401 - не авторизован, 500 - сервер упал. В разделе Application → Local Storage хранятся токены и сессии - если они не чистятся при выходе, это уязвимость.

Держать всё в голове - плохая стратегия. Особенно когда релизы учащаются, a приложение растёт. Хорошая привычка - завести чек-лист главных функций продукта и прогонять его при каждом релизе. Конкретные сценарии: «пользователь может зарегистрироваться», «платёж проходит», «уведомление приходит» и так далее.

Для этого отлично подходит testrun.ru - простой инструмент для ручного тестирования. Создаёшь в репозитории тест-кейсы с описанием шагов (или как чек-лист), запускаешь тест-ран перед релизом и отмечаешь, что прошло, а что нет. Минимальная тестовая документация, которая не даст пропустить важное. Это занимает 20-30 минут на настройку и потом 10 минут перед каждым деплоем.

Если в приложении есть авторизация или пользовательские данные - проверь две вещи. Во-первых, неавторизованный пользователь не должен видеть чужие данные: открой /api/users/1 без токена - должен получить 401, а не данные. Во-вторых, всё должно работать только через HTTPS - если http:// открывается без редиректа, это проблема.

Пройти вручную главный сценарий от регистрации до ключевого действия. Открыть Console в DevTools — нет новых красных ошибок. Проверить на мобильном устройстве. Запустить тест-ран по чек-листу главных функций. Вайбкодинг дал тебе скорость. Тестирование даст тебе уверенность.

Начать дискуссию