Другое

End-to-end или E2E-процесс: что это? Сквозное тестирование

Lorem ipsum dolor

Сквозное тестирование, оно же End-to-end или E2E, — это процесс тестирования, при котором происходит подробная эмуляция пользовательской среды. То есть при данном тестировании имитируют:

  • щелчки мышью, 

  • нажатия на кнопки, 

  • заполнение форм, 

  • переходы по страницам и ссылкам,

  • и другие поведенческие факторы. 

Суть этого тестирования — посмотреть, так ли работает программа для конечного клиента, как рассчитывалось изначально? При этом нужно учитывать, что пользователю все равно, функционирует ли программа «как надо», ему главное, чтобы программа функционировала и оправдывала ожидания, поэтому основной упор делается на корректное функционирование.

Е2Е-процесс — это конечный этап тестирования, после него никакого тестирования не проводят. Он самый трудозатратный и дорогой, именно поэтому находится на вершине пирамиды тестирования.

 

Е2Е-процесс что это?

Е2Е-процесс происходит при помощи сложных программ для тестирования, написанных специально для тестирования или «вручную», от этого данный процесс требует много времени и затрат. Поэтому до его применения обычно проводят более дешевые и нетребовательные виды тестирования. 

К примеру, компания Гугл при разработке своих продуктов следует правилу «70-20-10», цифры которого показывают процентное соотношение от общего количества тестов, то есть:

  • 70% занимают юнит-тесты;

  • 20% занимают интеграционные тесты;

  • 10% занимают Е2Е-тесты.

Конечно, такая комбинация тестов не является эталонной. Для каждого проекта она будет своя. Но идея в том, что количество Е2Е-тестов должно быть куда меньше, чем остальных тестов. В некоторых проектах сквозного тестирования вообще может не быть, так как unit-тесты и интеграционные тесты покрывают все процессы программы. А иногда просто их нецелесообразно проводить из-за того, что проект небольшой и тестируемый функционал может быть еще много раз переписан. Поэтому можно сказать, что E2E — это процесс больших и сложных проектов.

 

Какие бывают Е2Е-тесты

Нет единого алгоритма сквозного тестирования, так как многое будет зависеть от сложности самого проекта и что конкретно нужно тестировать. Е2Е — это лишь название процесса тестирования, а не его метод или алгоритм. Но при этом выделяют два основных типа сквозного тестирования, на которых мы немного остановимся.

Типы Е2Е-тестирования:

  1. Метод «черного ящика». Это специальный E2E-процесс тестирования, при котором само тестирование проводится только с интерфейсом пользователя. «Черным ящиком» называется, потому что тестировщика интересуют только проблемы интерфейса: работоспособность функций, ошибки при взаимодействии, ошибки при определенном поведении пользователей и т. д., и его абсолютно не интересует, как это все работает внутри программы. В большинстве случаев тестировщик даже не понимает, как с помощью кода получается тот или иной функционал. Такой тип тестирования считается самым распространенным.

  2. Метод «белого ящика». В этом типе тестирования тестировщику известна «внутренняя кухня» программы. А это значит, что ему известно, как себя должна повести программа при определенном действии пользователя. Он анализирует, совпадает ли задуманный результат поведения с реально происходящим, и понимает, где нужно вносить необходимые корректировки.

Любой сквозной тест это:

  • в первую очередь тестирование UI;

  • тяжелый и медленный тест;

  • применение метода «черного ящика» и найм сторонних тестировщиков, никак не связанных с разработкой программы;

  • тяжелый «отлов» найденной проблемы;

  • тестирование всех модулей и всех систем целиком, поэтому требуется сложный и эффективный софт или работа «руками»;

  • гарантия, что программа работает так, как задумано, или нет.

 

Заключение

Е2Е — это дорогой и сложный процесс тестирования, к которому нужно подготавливаться основательно. Давайте проведем аналогию с мостом. Мост через реку — это тестируемая программа. Так вот Е2Е-тестирование — это не просто проехать по мосту груженными КАМАЗами и смотреть издалека: выдержит или не выдержит. Е2Е — это куча всевозможных датчиков, расставленных по всему мосту, которые сигнализируют о каждом шаге и готовы фиксировать любой сценарий развития на «мосту»:

  • перегруз;

  • колебания;

  • микротрещены;

  • нагрузку на каждый трос или балку;

  • поведение моста при наводнении, землетрясении, пожаре или аварии на нем;

  • и др.

Нужен или нет Е2Е именно вашей компании/программе/разработке? Это дело индивидуальное и зависит только от поставленных целей и потребностей. Практика показывает, что до сквозного тестирования должно проводиться множество других более простых тестов и на основе полученных от них результатов решается, нужен ли проекту Е2Е-тест или нет.

Схожие статьи

Big Data — что это такое? Простыми словами рассказываем о главном
Другое

Big Data — что это такое? Простыми словами рассказываем о главном

Какими качествами должен обладать программист, чтобы найти работу
Другое

Какими качествами должен обладать программист, чтобы найти работу

Vue JS анимация. Примеры, синтаксис и основные разновидности анимации
Другое

Vue JS анимация. Примеры, синтаксис и основные разновидности анимации

Для чего нужен Vue JS? Базовая терминология и информация для новичков
Другое

Для чего нужен Vue JS? Базовая терминология и информация для новичков