Сквозное тестирование
Сквозное тестирование (End-to-end, E2E, Chain testing) — это вид тестирования, используемый для проверки программного обеспечения от начала до конца, а также его интеграцию с внешними интерфейсами. Цель сквозного тестирования состоит в проверке всего программного обеспечения на предмет зависимостей, целостности данных и связи с другими системами, интерфейсами и базами данных для проверки успешного выполнения полного производственного сценария.
Наряду с программной системой тестирование также обеспечивает проверку пакетной обработки и обработки данных из других вышестоящих и нижестоящих систем. Отсюда и название «End-to-End». Сквозное тестирование обычно проводится после функционального и системного тестирования. Для его проведения используются реальные данные и тестовая среда для имитации рабочего режима.
Зачем нужно сквозное тестирование?
Сквозное тестирование проверяет весь системный флоу и повышает уверенность за счет своевременного обнаружения проблем и увеличения покрытия тестами подсистем. Современные системы ПО сложны и взаимосвязаны с большим количеством подсистем, которые могут существенно отличаться от существующих систем. Вся система может разрушиться из-за отказа любой подсистемы, что представляет собой серьезный риск. Этого риска мы как раз и стремимся избежать с помощью сквозного тестирования.
Основные виды деятельности, связанные со сквозным тестированием:
- Изучение требований к сквозному тестированию;
- Настройка тестовой среды и требования к оборудованию/программному обеспечению;
- Описание всех процессов системы и ее подсистем;
- Описание ролей и ответственности для всех систем;
- Методология и стандарты тестирования;
- Сквозное отслеживание требований и разработка тест-кейсов;
- Входные и выходные данные для каждой системы.
Сквозное тестирование — это процесс проверки программной системы вместе с ее подсистемами.
Самая большая трудность при этом типе тестирования состоит в том, что необходимо располагать достаточным количеством информации о всей системе, а также о взаимосвязанных подсистемах.