Автоматизированное тестирование — важная часть любого CI/CD-процесса. Внедрение разных типов тестов поможет вашей команде поддерживать высокое качество кода при масштабировании вашего приложения. Вот самые распространенные типы тестирования.
Тестирование доступности. В ходе тестирования доступности команда убеждается, что приложение доступно для людей с ограниченными возможностями, например с нарушениями слуха или зрения. Этот вид тестирования является частью юзабилити-тестирования.
Приемочное тестирование. Этот вид тестирования определяет, насколько приложение соответствует бизнес-требованиям и потребностям конечных пользователей. Обычно приемочное тестирование дает двоичный результат — тесты либо пройдены, либо нет.
Тестирование методом черного ящика. Такое тестирование проверяет функциональность программного обеспечения без исследования кода или внутренней структуры приложения. Оно проводится без использования знаний о внутреннем устройстве продукта или его функциональности.
Сквозное тестирование. Как следует из названия, сквозное тестирование (end-to-end testing) — это метод, который подразумевает проверку всей функциональность приложения от начала до конца. При этом имитируются всевозможные реальные сценарии использования продукта.
Функциональное тестирование. Этот метод служит для проверки ПО на соответствие функциональным спецификациям и требованиям. Функциональное тестирование призвано установить, работает ли приложение так, как задумано.
Интеграционное тестирование. Это метод тестирования, при котором отдельные модули или компоненты приложения объединяются и тестируются вместе. Цель интеграционного тестирования — проверить, что компоненты приложения правильно взаимодействуют и совместно функционируют как надо. Интеграционное тестирование обычно проводится после юнит-тестирования и перед системным тестированием.
Интерактивное тестирование. Тестировщик вручную выполняет набор тест-кейсов и проверяет результаты. Интерактивное тестирование полезно, потому что позволяет тестировщику подробно исследовать приложение и обнаружить проблемы, которые не могут быть выявлены с помощью автоматизированных тестов.
Нагрузочное тестирование. Это способ тестирования производительности, который предназначен для оценки того, как система, сеть или приложение работают под большой нагрузкой. Нагрузочное тестирование используется для определения того, как система ведет себя в условиях нормальной и пиковой нагрузки, а также для выявления узких мест и других потенциальных проблем. Оно помогает убедиться, что система может справиться с ожидаемым уровнем трафика и объемами использования без снижения производительности.