Разница между GUI, API и Unit тестами (наглядный пример)

Пока нет оценок.
Пожалуйста, подождите...

Каждый QA-инженер знает о существовании классической пирамиды тестирования, в которой unit-тесты – это основа всего процесса проверки ПО, API – промежуточный этап и, наконец, GUI-проверки, которые завершают процесс имплементации заявленных требований к конечной версии ПО.

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

  • UI-тесты – самые честные проверки, которые показывают, как вел бы себя пользователь с тем, что вы тестируете;
  • API-тесты – отсеивают все лишнее;
  • Unit-тесты – проверки на отдельные функциональные составляющие.
Пирамида UI, API и Unit-тестов

Пирамида UI, API и Unit-тестов

Тесты должны создаваться «снизу», так как вначале лучше всего протестировать небольшой функциональный блок кода, а потом уже усложнять будущие проверки:

  1. Unit-тесты – проверка небольших функций (интеграционное тестирование);
  2. API-тесты – тесты конкретного функционала;
  3. GUI-тесты, посредством использования графического интерфейса (использование методики, как бы это сделал пользователь).

Пример последовательности выполнения Unit, API и GUI проверок

Чтобы было более понятно, о чем идет речь, рассмотрим простой пример из жизни. Условно говоря, вы решили заказать себе новый рабочий костюм. Мастер снял все необходимые замеры, выслушал пожелания и приступил к работе.

Для начала, ему стоит сделать выкройку и раскроить материал (ткань для пошива). Работа по проверке каждой детали, сравнивая с имеющейся выкройкой – это выполнение юнит-тестов!

Протестировали каждую деталь по отдельности? Теперь нужно проверить все вместе. Сверяем все ли ровно, красиво и удобно. Это яркая аналогия выполнения API-проверок!

Костюм еще не готов, это незавершенная вещь. Но мы уже смогли соединить некоторые детали вместе и анализируем, как они взаимодействуют.

Если все замечательно, костюм можно сшивать! А затем настанет черед UI-тестов – последняя группа проверок, когда вещь уже готова.

Таким образом

Что мы имеем в сухом остатке?

В ПО:

  1. Unit – проверка мелкого функционала по отдельности;
  2. API – тесты конкретного функционала, состоящие из множества мелких функций;
  3. GUI – тесты через графический интерфейс (условно открыть веб-браузер, войти в аккаунт, перейти на страницу товара/услуги, оформить покупку/оформление необходимого товара или услуги).

На примере создания костюма:

  • Unit – сделали раскройку и по выкройке сверили все детали;
  • API – проверили, чтобы все сошлось ровно, красиво и удобно;
  • GUI – после того, как костюм будет готов, выполняем повторную проверку.

Оставить комментарий