Рассмотрим распространенный вопрос, который часто спрашивают на собеседованиях тестировщиков — рассказать о типах тестирования.
Тестирование можно проводить разными способами. Некоторые из них используются разработчиками, другие применяют тестировщики. Далее мы расскажем о разных типах тестирования с кратким описанием каждого:
Тип | English | Описание |
---|---|---|
Unit-тестирование | Unit Testing | Unit-тесты, чаще всего, пишут разработчики. Этот тип тестирования применяется для проверки выделенной части кода (например, функция, метод, класс и т.п.) на работоспособность. |
Интеграционное тестирование | Integration Testing | Применяется для проверки работоспособности частей системы, объединенных вместе. |
Регрессия | Regression Testing | Регрессионное тестирование используется для проверки того, что существующая работающая функциональность не сломалась после добавления новых фич. |
Системное тестирование | System Testing | Полное end-to-end тестирование, чтобы убедиться, что вся система работает как ожидается. |
Smoke-тестирование | Smoke Testing | Быстрый тест, который делают, чтобы удостовериться, что приложение отрабатывает на базовых сценариях. Название пошло от тестирования техники. Если после включения устройства в розетку из него не повалил дым — smoke-тестирование пройдено успешно. |
Тестирование производительности | Performance Testing | Проводится, чтобы удостовериться, что производительность системы соответствует ожиданиям. Проводятся замеры времени выполнения запросов под разной нагрузкой. |
Приемочное тестирование | User-Acceptance Testing | Используется для проверки соответствия требованиям клиента. Как правило, проводится прямо перед релизом. |
Стресс-тестирование | Stress Testing | Применяется для проверки того, что приложение работает в нестандартных условиях (например, при высокой нагрузке) |
Тестирование юзабилити | Usability Testing | Проверяет, насколько удобно пользоваться приложением. Как правило, проводится небольшой группой, отобранной из будущих пользователей. Собирается обратная связь о том, насколько удобно/неудобно пользоваться приложением. |
Тестирование безопасности | Security Testing | Проверяется возможность взлома приложения. Особенно важно для финтех-приложений или приложений, собирающих и хранящих конфиденциальную информацию. |