Unit, API и GUI тесты — чем отличаются |
03.02.2021 00:00 |
Автор: Ольга Назина Давайте рассмотрим стандартную пирамиду автоматизации Если говорить о программе:
Начинаем писать тесты снизу, потому что сначала логичнее проверить небольшой участок кода, а потом усложнять:
В качестве аналогии давайте рассмотрим создание платья. Вот я заказала себе платье по фигуре. Мастер выслушает мои пожелания, снимет мерки, а потом приступит за работу. Сначала он сделает выкройку и раскроит ткань. Если проверять каждую деталь, сравнивая с выкройкой — это будут юнит-тесты. Проверили каждую деталь отдельно? Теперь тестируем вместе. Обметали и смотрим — ровно? Криво? Может, что-то подправить? Это аналог api-тестов — платье еще не готово, это не конечный продукт. Но мы соединили отдельные детали вместе и смотрим, как они работают. Если всё хорошо, можно шить! А дальше следуюет аналог UI-тестов — последняя проверка, когда платье уже готово. Нигде не накосячили? Когда все вместе собрано и рукав к попе пришит, переделывать уже очень трудно и дорого, такие проблемы лучше обнаружить заранее. А еще одну аналогию можно провести с танцами. Начинаем с основ. Сначала надо отработать движение, чтобы потом внедрять его в танец. Каждое конкретное движение — аналог unit-тестов. Следующий этап — связать отдельные функции вместе. Зная 5 разных движений, мы начинаем связывать их под музыку. Это аналог api-тестов. Каждую часть танца мы разрабатываем отдельно (как и разные куски api в программе). А потом уже соединяем всё вместе. И получается готовый танец. Аналог UI-тестов. Итого Соберем всё вместе. В программе:
На примере платья:
На примере танца:
PS — это выдержка из моей книги для начинающих тестировщиков, написана в помощь студентам моей школы для тестировщиков |