Автоматизированные тесты. Пирамида тестирования
Last updated
Was this helpful?
Last updated
Was this helpful?
Автоматизированные тесты - это дополнительный код, позволяющий в автоматическом режиме убедиться в правильном функционировании определенных компонентов программного обеспечения.
Условно, автоматизированные тесты можно разделить на 3 группы:
e2e тесты (обозначены зеленым) - полное тестирование интерфейса пользователя (как он работает вместе с реальным бэк-эндом, переходы между страницами и т. д.). Такие тесты довольно долго запускаются и зависят от многих условий, поэтому их использования следует свести к минимуму. Однако эти тесты могут проверить правильное функционирование системы в целом, поэтому их работу не удастся заменить юнит или интеграционным тестированием.
Интеграционные тесты (обозначены синим) - тестирование взаимодействия (интеграции) нескольких систем. Системные тесты (обозначены синим) - тестирование отдельно взятой системы в целом (например, бэк-энд тестируется отдельно от фронт-энда). Тесты в синем секторе - более узконаправленные, быстрее за e2e и менее зависят от внешних условий. Однако, так как эти тесты не являются изолированными, то их следует писать меньше, чем юнит-тестов.
Модульные тесты (юнит-тесты) - тестирование отдельно взятого компонента, функции или метода. Эти тесты являются быстрыми, полностью изолированными, позволяют легче идентифицировать место неисправности. Однако не проверяют взаимодействие различных компонентов. По-факту, ~ 80% тестов на проекте - это юнит-тесты.