Каждый раз, когда в код вносят хоть мелкий фикс — его надо проверять. Чем раньше ловите баг — тем дешевле и быстрее чините. Если пустить всё на самотёк — пользователи первыми найдут ваши косяки и радостно уйдут к конкурентам.

⚙️ Функциональное тестирование

Проверяет, выполняет ли программа то, что от неё ждут. Включает:

  • что именно должно работать — чек лист;
  • как это проверить — тест-кейсы;
  • пошаговую прогонку: что на входе, что на выходе;
  • сравнение результата с тем, что обещали.

Если что-то не сходится — баг фиксится, пока не будет нормально.

🖱️ Тестирование удобства (Usability)

Это не про баги, а про то, насколько удобно юзеру тыкать в кнопки. Делают не только тестировщики — привлекают пользователей, собирают фидбэк, что бесит или непонятно. После — улучшают интерфейс или логику.
Часто переплетается с функциональным тестированием.

🎨 Тестирование интерфейса

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

🔄 Тестирование совместимости

Проверяет, как ваш софт уживается с другим софтом или железом: ОС, браузеры, мобильные версии, сторонние сервисы. Частая боль — когда всё работает на dev-сервере, но падает у клиента из-за старого браузера или кривого VPN.

⚡ Тестирование производительности

Проверяют, выдерживает ли продукт нагрузку. Запускают «бомбардировку»: имитируют кучу пользователей, массовую генерацию данных, запросы к БД. Смотрят, где всё тормозит или падает. Потом эти слабые места чинят или масштабируют.

🔐 Тестирование безопасности

Проверяют, нет ли дыр, через которые можно увести данные или сломать сервис. Что смотрят:

  • как передаются и хранятся данные;
  • кто и куда имеет доступ;
  • правильно ли закрываются сессии;
  • нет ли возможности залить что-то левое;
  • как обрабатываются ошибки ввода.

Любой пропущенный косяк = потенциальный взлом. А взлом — это убытки и репутационные дыры.

✅ Итог

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