Автор статьи — Татьяна Курносова, но она поехала покорять горы Киргизии. Поэтому честь опубликовать этот пост выпала мне.
В компании 2ГИС помимо известных Desktop, Mobile и Online-приложений, разрабатывается множество внутренних Enterprise-продуктов. Эти продукты скрыты от глаз пользователей, однако, именно с их помощью выполняется колоссальная работа по обеспечению всей инфраструктуры 2ГИС картографическими и справочными данными. Обработка этих данных трудозатратна и требует безошибочных расчётов, поэтому перед «приёмом на работу» все продукты тщательно тестируются.
В этой статье я расскажу, как мы выбирали инструменты, как анализировали их технические возможности, чтобы они вписывались в нашу инфраструктуру, и на чём остановились.
В своё время перед нами встала задача выбора пакета, подходящего для тестирования пользовательского интерфейса используемых продуктов. Всё, что поддаётся автоматизации, мы покрываем автоматизированными тестами, и GUI — не исключение. Для этого, как известно, существуют инструменты, позволяющие имитировать действия пользователя.
С учётом того, что тестируемые продукты реализованы на .NET, а их тестировщики знакомы с языком программирования С#, было принято решение разрабатывать тесты также на языке C#. Из большого набора инструментов, представленных на рынке, мы остановились на двух. Первый — CodedUI, который поставляется с активно используемой нами Microsoft Visual Studio. Второй — Ranorex, так как он совместим с Visual Studio, имеет удобный интерфейс и положительные отзывы тестировщиков.
Coded UI является одним из решений, поставляемых вместе с Microsoft Visual Studio Premium/Ultimate, предоставляет доступ к библиотекам для разработки тестов.
Ranorex Automation Tools — это полноценная среда разработки, а также набор инструментов и библиотек для написания тестов.
Далее нам предстояло сделать выбор в пользу одного из этих продуктов.
Критерии сравнения
Мы сформулировали основные критерии, по которым сравнивали пакеты:
- Поддержка динамически генерируемых графических элементов управления (контролов)
- Настраиваемая система поиска контролов
- Простая поддержка тестов, основанных на данных (Data Driven Testing)
- Возможность разрабатывать свои модули (фреймворки) и использовать их при разработке тестов на C#
- Поддержка запуска тестов на сервере Continuous Integration (TeamCity)
- Генерация информативных отчетов по результату прогона тестов
- Возможность интеграции тестов с тест-кейсами системы тест-менджмента (TMS)
- Простота изучения и использования тестировщиками
Read more: Habrahabr.ru
QR: