Показаны сообщения с ярлыком GUI-тесты. Показать все сообщения
Показаны сообщения с ярлыком GUI-тесты. Показать все сообщения

воскресенье, 17 января 2021 г.

Unit, API и GUI тесты — чем отличаются

Давайте рассмотрим стандартную пирамиду автоматизации

Если говорить о программе:

  • UI-тесты — честные тесты, «как это делал бы пользователь» (они же GUI, graphical user interface)
  • API-тесты — опускаемся на уровень ниже, выкидывая лишнее.
  • Unit-тесты — тесты на отдельную функцию

Начинаем писать тесты снизу, потому что сначала логичнее проверить небольшой участок кода, а потом усложнять:

  • Unit — тесты на отдельную мелкую функцию (посчитать одну ячейку отчета)
  • API — тесты на конкретный функционал, который состоит из отдельных функций (загрузить весь отчет)
  • GUI — честный тест через графический интерфейс, «как это делал бы пользователь» (открыть браузер, войти в систему, перейти в отчеты, и наконец вызвать отчет).

В качестве аналогии давайте рассмотрим создание платья. Вот я заказала себе платье по фигуре. Мастер выслушает мои пожелания, снимет мерки, а потом приступит за работу. Сначала он сделает выкройку и раскроит ткань. Если проверять каждую деталь, сравнивая с выкройкой — это будут юнит-тесты.