Что такое End-to-End тест

Ответ

End-to-End (E2E) тестирование — это метод проверки работы приложения от начала до конца, имитирующий действия реального пользователя. Оно охватывает все слои приложения: фронтенд, бэкенд, базу данных и внешние сервисы.

Пример с использованием Cypress:

describe('Login Flow', () => {
  it('successfully logs in', () => {
    cy.visit('/login')
    cy.get('#email').type('user@example.com')
    cy.get('#password').type('password123')
    cy.get('button[type="submit"]').click()
    cy.url().should('include', '/dashboard')
  })
})

Ключевые особенности:

  • Проверяет полные сценарии (регистрация, оплата и т.д.)
  • Использует реальный браузер или его эмуляцию
  • Медленнее unit- и integration-тестов
  • Хрупкие — могут ломаться при малейших изменениях UI