Phone icon Зв'язатись з нами

QA та тестування

Що таке E2E-тестування і скільки таких тестів потрібно?

E2E-тестування (end-to-end, наскрізне тестування) — це перевірка повного сценарію користувача на зібраній системі. Тест відкриває браузер, реєструється, додає товар у кошик, оплачує і перевіряє, що замовлення з’явилося. Усі частини системи при цьому працюють по-справжньому.

Цінність E2E в тому, що він перевіряє продукт так, як ним користується людина, і знаходить проблеми, яких не видно на інших рівнях: кнопка не працює, переадресація зламана, фронтенд не сумісний із новою версією API.

Ціна — швидкість і нестабільність. E2E-тести виконуються хвилинами, залежать від середовища і падають через дрібні зміни верстки. Тому їх пишуть небагато: лише для ключових сценаріїв, які приносять гроші, а решту перевіряють швидшими тестами.

Де застосовується

E2E-тести пишуть для найважливіших сценаріїв: реєстрація і вхід, оформлення та оплата замовлення, надсилання заявки з сайту, завантаження документа. Саме вони показують, чи працює продукт для користувача, а не лише окремі його частини.

Запускають їх у CI на зібраній системі, зазвичай на окремому стенді з тестовими даними. Повний набір триває довго, тому його часто запускають уночі або перед релізом, а в швидкій перевірці залишають кілька головних сценаріїв.

Приклад

Тест відкриває браузер, реєструється з новою електронною адресою, додає товар у кошик, оплачує тестовою карткою і перевіряє, що замовлення видно в особистому кабінеті, а лист-підтвердження прийшов на пошту.

Часті запитання

Скільки E2E-тестів потрібно писати?

Небагато — від кількох до кількох десятків на продукт. Вони найповільніші і найважчі в підтримці: будь-яка зміна інтерфейсу може їх зламати. Більшість перевірок роблять модульними та інтеграційними тестами, а E2E залишають для критичних сценаріїв.

Чому E2E-тести часто нестабільні?

Бо в них задіяна вся система: мережа, база, зовнішні сервіси, швидкість відображення інтерфейсу. Типові причини — очікування фіксованого часу замість потрібної події, залежність від порядку запуску і спільні тестові дані, які змінюють інші тести.

Чим E2E відрізняється від інтеграційного тестування?

Інтеграційний тест перевіряє, як працюють разом кілька компонентів, наприклад сервіс і база. E2E проходить увесь шлях користувача через інтерфейс і зачіпає всі частини системи. Він ближчий до реальності, але дорожчий і повільніший.

Чи потрібен для E2E окремий тестовий стенд?

Так, бажано з власною базою і передбачуваними тестовими даними. На спільному середовищі тести заважають один одному: паралельні запуски змінюють ті самі записи, і тоді неможливо зрозуміти, чи це справжня помилка, чи збіг.

Навчання тестуванню в OWU

Опануйте професію QA-інженера на практичних курсах із менторами та реальними проєктами.

Обрати курс