AT.info ПОСИДЕЛКИ  vKontakte   facebook группа  
API

требуется помощь в выборе средства для автоматизации тестирования

Добрый день!
У меня возникла проблема с выбором средства для автоматизации тестирования. Надо протестировать корректность работы API-методов приложения. Т.е. послали,например, POST-запрос на создание баннера, проверили тот ли нам ответ вернулся,который мы ждем, а потом посмотрели все ли создалось в БД..
Подскажите, пожалуйста, в какую сторону искать?

общий вопрос.ruby

Я только начал разбираться

в офф документации пишут: 

The gem also includes the older selenium-client gem for use with Selenium RC. When reading the docs, keep in mind that these two namespaces refer to different APIs:

Архитектура автоматизации: Ограниченное использование графического интерфейса (Thin GUI)

Проблема: Как можно протестировать графический интерфейс без непосредственного вызова элементов управления?

Решение: Разрабатывайте графический интерфейс пользователя как отдельный слой презентационного кода исходя из бизнес-логики. Используйте модульные- или API- тесты для тестирования бизнес-логики.

Контекст:

  • Участники: Разработчики помогают тестировщикам разработать архитектуру автоматизации
  • Продукт: Продукт имеет в наличии некоторый графический интерфейс или же другие формы отображения информации. Фреймворк автоматизации уже существует для модульного и API тестирования.
  • Цели: Расширить автоматические тесты для покрытия графического интерфейса

Стратегия тестирования:

  • Создание тестов: Тесты создаются как программистами, так и тестировщиками
  • Выполнение тестов: Тесты запускаются через модульный или API фреймворк
  • Оценка: Ожидаемые результаты описываются вручную в тестах. Заметка, фактические значения, которые отображаются на экране не проверяются, а проверяется значения которые посланы на спроектированный графический интерфейс

Атрибуты качества:

  • Сопровождение и поддержка: Высокая. Цель отделения фактического графического интерфейса заключается в том, чтобы сделать тесты более устойчивыми к изменениям графического дизайна. Хотя некоторые технические проблемы могут помешать этой цели.
  • Проверка: Средняя. GUI тесты написаны на том же языке программирования, что и модульные или API тесты. Соответственно, большинство людей из команды смогут проверять код автоматизации.
  • Целостность и зависимость: Средняя. Фактически графический интерфейс не тестируется автоматически, потому все равно нужно будет выделить ресурсы на ручное тестирование.
  • Возможность повторного использования: Средняя. Все что можно переиспользовать в этой технике - это модульные или API тесты

Следующий шаг:
Нет.

Архитектура автоматизации: API-тесты

Проблема: Как можно разработать тесты без взаимодействия через графический интерфейс?

Решение: Используйте программные интерфейсы, которые позволяют получить прямой доступ к той функциональности, что надо протестировать.

Контекст:

  • Участники: Программисты/тестировщики.
  • Продукт: API тестируемого продукта должен быть предоставлен.
  • Цели: Поиск эффективного пути создания мощных автоматизированных тестов.

Стратегия тестирования:

  • Создание тестов: Тесты пишутся на стандартном языке программированния, который позволяет использовать API-функции.
  • Выполнение тестов: Понадобятся специальная среда для выполнения тестов.
  • Оценка результатов тестов: Обычно, ожидаемые результаты определяются в момент создания тестов.

Атрибуты качества:

  • Сопровождение и поддержка: Высокая. API-функции более стабильны нежели пользовательский интерфейс.
  • Проверка: Средняя. Тесты пишутся на том же языке программирования и в той же среде, что и модульные/API-тесты, а это означает, что многие сотрудники смогут разобраться в коде.
  • Целостность и зависимость: Средняя. Заметьте, что тестирование реального графического интерфейса пользователя невозможно полностью автоматизировать. Какие-то тесты все равно придется провести вручную.
  • Возможность повторного использования: Низкая. 

Следующий шаг:
Можно воспользоваться другими техниками и расширить API тестами, например до использования ключевых слов-действий. Разработчики API тестов могут воспользоваться программированием на основании тестов. Как только API тесты созданы, то можно подумать надо использованием и добавлением проверок и диагностик. Если пользовательский интерфейс строится поверх API, то вы можете использовать технику "Ограниченного использования графического интерфейса"

RSS-материал