вопросы от новичка по автоматизации backend'a

Здравствуйте!

  1. Под автоматизацией фронта понимаю автоматизацию JS’a. Верно ли это?

  2. Что означает автоматизация backend’a и как это происходит? Это модульные и интеграционные тесты? Также не очень понимаю как можно обеспечивать качество backend’a мануально. Если автоматизируем, то только на языке самого приложения? Какие есть инструменты?

  3. Что означает тестирование API? Чем отличается тестирование backend’a и API? Это можно делать мануально? Какие есть инструменты?

Заранее благодарен за любые ответы, ссылки на доп.ресурсы. Если можно, то с примерами.

1 Like
  1. Смотря с позиции кого вы рассматриваете данный вопрос. Если вы - Front-end Developer, а UI использует JS движок, то вы можете писать соответствующие unit тесты на ваш код. С точки зрения QA Automation Engineer, вашей основной задачей является - моделирование реальных действий конечного пользователя. А достигается это, к примеру, при помощи популярного набора библиотек Selenium.
  2. Любой уважающий себя девелопер должен писать юнит / интегрейшен тесты на разрабатываемые компоненты. Помимо всего прочего, backend side может содержать различные web сервисы, которые тоже можно тестировать, к примеру, при помощи SoapUI. Слабо представляю себе, что вы вкладываете в понятие мануального тестирования бэкэнда. В голову приходит лишь наличие каких-то сервисов, имеющих GUI, с которыми могут взаимодействовать manual QAs. К примеру, какой-нибудь эмулятор пеймент системы. Допустим, если вам нужно протестировать какие-то ожидаемые ошибки недоступности сервиса, вы можете попробовать осуществить проплату с выключенным эмулятором и т.п. Хотя, manual QAs могут также проверять end points через тот же Swagger.
    Автоматизировать фронт-энд можно не только на языке приложения, а вот backend… В случае unit / integration test конечно используется host language. Ну а с web-services: вы ведь посылаете http запросы, так что тут без разницы, на чем написан клиент.
  3. Смотря, какие API имеются ввиду. Но в любом случае, это будет частным случаем тестирования backend’а

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

1 Like

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

  1. Не верно. В общем смысле WebUI - это не только JS. С точки зрения тестирования под автоматизацией фронта обычно понимают автоматизацию тестирования взаимодействия пользователя с UI. Из инструментов для WebUI сейчас наиболее распространен Selenium WebDriver

  2. Зависит от того, что это за бэкенд. Модульные тесты вручную не делаются. Только автоматически и на том же языке, на котором написано приложение. И делаются они самими разработчиками. В остальном многое зависит от того, что это за приложение, и что за бэкенд. Нужна конкретизация вопроса

  3. Я так понял речь идёт о публичном API, то есть интерфейсе приложения для взаимодействии с другими приложениями. От тестирования бэкенда отличается тем, что у API зачастую более узкое предназначение. Вручную тестировать можно, но с использованием инструментов для взаимодействия с API. Инструменты: curl, soapUI