Автоматизированные тесты. Пирамида тестирования

Автоматизированные тесты - это дополнительный код, позволяющий в автоматическом режиме убедиться в правильном функционировании определенных компонентов программного обеспечения.

Условно, автоматизированные тесты можно разделить на 3 группы:

e2e тесты (обозначены зеленым) - полное тестирование интерфейса пользователя (как он работает вместе с реальным бэк-эндом, переходы между страницами и т. д.). Такие тесты довольно долго запускаются и зависят от многих условий, поэтому их использования следует свести к минимуму. Однако эти тесты могут проверить правильное функционирование системы в целом, поэтому их работу не удастся заменить юнит или интеграционным тестированием.

Интеграционные тесты (обозначены синим) - тестирование взаимодействия (интеграции) нескольких систем. Системные тесты (обозначены синим) - тестирование отдельно взятой системы в целом (например, бэк-энд тестируется отдельно от фронт-энда). Тесты в синем секторе - более узконаправленные, быстрее за e2e и менее зависят от внешних условий. Однако, так как эти тесты не являются изолированными, то их следует писать меньше, чем юнит-тестов.

Модульные тесты (юнит-тесты) - тестирование отдельно взятого компонента, функции или метода. Эти тесты являются быстрыми, полностью изолированными, позволяют легче идентифицировать место неисправности. Однако не проверяют взаимодействие различных компонентов. По-факту, ~ 80% тестов на проекте - это юнит-тесты.

Last updated