Блог

Полезные статьи и новости о жизни WaveAccess

Как автоматизировать тестирование на desktop. Часть I: “Do Pilot” и платные фреймворки

Если вы сталкивались с автоматизацией тестирования, то это, скорее всего, были автотесты для web-страницы, web-блога, web-интерфейса. Возможно, ваша команда использует Appium для функционального тестирования мобильного приложения или инструментальные тесты Android (Espresso).

Но в 2018 году всё ещё нужно разрабатывать десктопные приложения, поддерживать legacy-проекты. Банки, финансовые отделы компаний, производства и лаборатории, сегмент HoReCa применяют Windows Desktop-приложения. Множество бизнесов разных направлений применяют их для учета, организации и автоматизации бизнес-процессов.

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

  • Подключение внешних устройств. К примеру, использование сканера отпечатков пальцев для идентификации, сканера паспорта и других устройств.

  • Соблюдение политики безопасности. Например, на заводе или в банке, где запрещен выход в Internet.

  • Уже существующий парк машин, который может состоять, например, из PС на OC Windows 7.

Всё вышеперечисленное — потребности реальных заказчиков, и достижения web для таких задач неприменимы.  

Тестирование — это долгие месяцы? Стратегия Do Pilot

Наш заказчик использует desktop-приложение (.NET) для делопроизводства, организации и сопровождения бизнес-процессов, которое разрабатывается и развивается годами.

Сейчас оно состоит из десятков тысяч строк кода, а это сотни тестов и примерно полтора месяца, которые требуются на первичное ручное тестирование:  

  • Две недели на первичный ручной прогон регресс тестов. 

  • Две недели на повторный прогон.  

  • Время на исправление ошибок и возможные накладки.

По мере исправления ошибок затрачиваемое время растет, могут случаться накладки во время планирования и контроля. Итого — примерно 1,5 месяца работы двоих инженеров, которые обычно задействованы на выполнении регрессионных проверок.

Полквартала для завода, производства или банка, когда нужно срочно доработать функционал, внести правку, добавить модуль, оборачиваются потерей денег.  

Заказчику нужны быстрые релизные итерации: запрос, разработка, короткое тестирование и внедрение. Главное — оставить качество на прежнем уровне, а лучше — повысить его по объективным количественным критериям. Именно так появляется необходимость автоматизации тестирования.

Конечно, не все в тестировании можно автоматизировать, и некоторые задачи все еще приходится делать вручную. Но если нужно узнать, насколько автоматизация возможна, полезна и пригодна на конкретном проекте, — команда WaveAccess пользуется manage-паттерном автотестирования “Do Pilot” (“создай пилотную версию”).  

Стратегия Do Pilot заключается в том, чтобы автоматизировать часть работ и оценить их результат: потраченное время, масштабируемость тестов, стоимость их поддержки. То есть, сделать пилотную версию автотеста (АТ), а затем принять решение о том, стоит ли переводить всё тестирование в автоматизацию.

Всегда проще потратить пару недель, чтобы понять: найден полезный инструмент, пригодный для бизнеса, или это потеря времени.

Do Pilot на проектах WaveAccess: требования и возможности  

Итак, мы решили реализовать пилотную версию АТ для крупного.NET Windows Desktop приложения нашего клиента. Для этого выбрали стабильную версию приложения и подобрали шесть основных тестовых сценариев, отмеченных тегом Smoke или Regress, прохождение которых даёт гарантию, что основной функционал тестируемого приложения работает в соответствии с техническим заданием.

К результату выдвинули требования:

  • Оперативность. Имеется возможность “на выходе” просматривать отчеты из CI (Continuous Integration) с ночными прогонами этих 6-ти тестов или получать письмо с описанием “упавших” тестов.

  • Прозрачность. Команда тестирования понимает, что именно проверяется в каждом шаге теста, а менеджер может читать отчет, написанный в понятной для него форме (например, "на окне n не хватает третьего поля ввода").

  • Стоимость. Выбранный инструмент не удорожает проект без необходимости.

Главный вопрос, который встал перед нами, — поиск подходящего инструмента для написания АТ, который отвечал бы всем критериям.

Обзор решений для автотестирования 

Как мы уже сказали выше: web- и mobile-технологиях автотестирование сейчас преобладает. Рассмотрим, что же, все-таки, можно найти на этом поле для Windows Desktop.  

Платные инструменты. TestComplete

Одним из лидеров платных фреймворков является полноценная студия для АТ TestComplete от SmartBear. У решения есть триал-период, есть положительные отзывы пользователей.

Выбираем решение "из коробки" на одного пользователя:

Test Complete

Выбираем кастомизированное решение, убираем "Web" и "Mobile".

Test Complete Choice 

Пытаемся максимально снизить цену. За возможность безлимитного тестирования и другие необходимые аддоны все же придется доплатить 1700 для одной лицензии.

Научить команду тестирования пользоваться студией TestComplete можно, получив сертификаты по 150-700 за каждый. Возьмём один базовый TestComplete Certification

Итого:

Test Complete Full Price 

Итак, 4000 за студию и один год поддержки на 1 пользователя. Однако заказчику мы хотели предложить такое решение, которое при сохранении качества платных решений “из коробки” не вынуждало бы его платить такую сумму нам, а через год — продолжать платить уже за продление лицензии.

Платные инструменты. Telerik Test Studio

Следующий платный инструмент — Telerik Test Studio. Его цены:

Telerik Test Studio

Но за каждую вспомогательную функцию придется платить:

Telerik Test Studio1

Telerik Test Studio Full Price

Эта сумма — 2499 + 899 +599 = 4000$ — включает только одного пользователя и год поддержки. Умножив ее на количество пользователей, а на данном проекте команда WaveAccess состояла из двух инженеров, получаем итоговую цену: 8000$ за год. И многие другие платные фреймворки также удивляют ценообразованием.  

Вывод по рассмотренным фреймворкам 

Мы  стремимся к оптимизации ресурсов при сохранении качества. Но главное — мы стремимся к тому, чтобы до конца понять: что именно мы предлагаем клиенту, как используем. Поэтому ПО с открытым программным кодом предпочтительнее, чем коробочное решение — этакий “кот в мешке”. 

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

Мы с радостью ответим на Ваши вопросы об автоматизации тестирования любого вашего приложения, в том числе, Windows Desktop: 

Телефон: +7 812 407 2350

E-mail: hello@wave-access.com 

 

Заказать звонок

Удобное время:

Отменить

Пишите!

Присоединить
Файл не больше 30 Мб.
Отменить