Перед тестировщиками в компаниях обычно стоит широкий спектр задач, для решения которых необходимо применять различные подходы к тестированию. Как правило, наиболее востребовано функциональное тестирование, то есть определение способности ПО в конкретных условиях решать задачи, нужные пользователям. В такой работе тестировщикам приходится постоянно повторять большой объем рутинных операций, на что уходит большое количество времени, часто — много больше, чем этого времени есть у сотрудников отдела тестирования.
Очевидным выходом здесь может стать автоматизация процесса тестирования. Для нее существует много инструментов, а целесообразность ее внедрения определяется финансовой окупаемостью решения, которая в первую очередь зависит от возможностей, предоставляемых тестировщику, от того, насколько быстро можно автоматизировать тот или иной кейс, какой уровень навыков для этого нужен, и как дорого будет эту автоматизацию поддерживать. Конечно, у автоматического тестирования есть не только преимущества, но и свои ограничения.
Чтобы сделать выбор в сторону автоматизации, следует разобраться в ее плюсах и минусах.
Преимущества, которые дает тестировщику автоматизация:
- Человеческий фактор сведен практически нулю — скрипт не может ничего перепутать или запустить нерелевантный тест.
- Скорость тестирования — автоматизация позволяет прогнать за сравнимое время в несколько раз больше тестов.
- Оптимизация усилий по повторению тестовых сценариев— на поддержку существующих скриптов при автоматизации тратится гораздо меньше времени, чем на постоянное выполнение одного и того же сценария вручную.
- Гибкое время исполнения— тестировать можно в любое удобное время, а не только в рабочее.
Вместе с тем автоматизация имеет место и ряд недостатков, таких как:
- Если тестируемое ПО часто модифицируется, это будет требовать постоянных затрат на поддержку скриптов в актуальном состоянии.
- Изначально большие затраты на разработку автоматизированных тестов, делающие нецелесообразной автоматизацию “разовых” задач.
- Стоимость программных платформ автоматизации может быть достаточно высокой, а у бесплатных инструментов, обычно, более скромный функционал, меньше возможностей “из коробки” и меньшее удобство работы.
Что нужно учитывать перед автоматизацией тестирования?
- Насколько хорошо инструмент для автоматизации распознает элементы управления в приложении, с которым придется работать, это особенно актуально для, например, мобильных приложений или толстых клиентов, особенно написанных на старых платформах, таких как Delphi. Если элементы не распознаются, то необходимо найти плагин или соответствующий модуль. Если вы не можете надежно работать с тем приложением, тестирование которого надо автоматизировать, инструмент вам не подходит.
- Оценить время, которое требуется на поддержку скриптов, написанных с помощью выбранного инструмента, основные проблемы и сложности. Часто усилия требуются только на первых этапах работы, при освоении нового приложения, но иногда выбранный инструмент настолько неудобен, что “лекарство становится хуже болезни”
- Понять насколько удобно пользоваться инструментом для написания новых скриптов. Сколько требуется на это времени, насколько можно структурировать код, насколько он читаем, есть ли поддержка библиотек, работа с репозиториями кода и т.д.
Автоматизация тестирования с помощью RPA
Роботизация бизнес-процессов (RPA) интенсивно развивается и, в силу сходства бизнес задач и подходов, может быть полезной в автоматизации тестирования и разработки. При том, что по миру сейчас процент покрытия автоматизированным тестированием в среднем не больше 30%, применение гибких и простых инструментов, таких как RPA, может помочь его поднять до приемлемых величин (считается, что хорошим процентом покрытия для автоматизации тестирования является 60-70%).
Частые изменения экосистемы приложения
Мы уже упоминали среди системных минусов автоматического тестирования частые изменения тех продуктов, с которыми надо работать. К сожалению, пока эта проблема не решена вендорами и если ваша среда тестирования постоянно изменяется — это будет серьезно ограничивать возможности для его автоматизации.
Современные решения, такие как UiPath RPA позволяют частично эту проблему снять за счет применения “умного” захвата элементов UI, понимающего, что внешний вид приложения или структура может, в определенных пределах, меняться; и репозитория объектов, который позволяет централизованно управлять таксономией UI элементов.
Недостаточно знаний бизнеса
Если специалисты не знают функциональности систем, которые они автоматизируют и не понимают самих бизнес-процессов, то в итоге их тест-кейсы могут быть не релевантны решаемой бизнес-задаче. Может произойти ситуация, когда тестировщики что-то тестируют, а реальные сценарии использования продукта остаются в стороне или покрыты только базовые случаи.
Синергия с RPA хорошо помогает здесь тем, что роботизаторы, как правило, глубоко погружаются в бизнес-процессы. Применение опыта полученного при автоматизации бизнес-процессов позволяет создавать действительно работающие и полезные тесты.
Отсутствие тестовых данных и сред
Это большая проблема: для того чтобы сделать хороший тест нужно иметь реальные данные. В свою очередь для этого нужно работать с живой системой, в которой ничего нельзя менять. Нельзя в действующем электронном магазине купить товаров на 100 тысяч, так как собьется вся статистика. Теоретически у тестировщика для работы должен быть тестовый магазин-двойник с теми же самыми данными, но, к сожалению, реализовать подобное очень сложно и, зачастую, непосильно дорого. Для банковских систем эта проблема еще более актуальна и в этой сфере еще меньше реальных тестовых данных.
Вопрос стоит очень остро. В Test Suite есть функционал по работе с генерируемыми тестовыми данными, что, конечно, проблему не решает, но частично снимает, например за счет возможности гибко настраивать сценарии тестирования для того и параметризировать их для запуска в разных средах.
Наличие user friendly инструментов автоматизации
Инструмент для автоматизации тестирования должен быть гибким и легким в освоении, это снижает порог вхождения и позволяет большему количеству сотрудников создавать тесты. Платформа UiPath дружественна к пользователю и наличие онлайн академии, форума, telegram-сообщества в России и т.д. позволяет быстро обучаться. Освоение инструментария UiPath до уровня, необходимого для создания хороших кейсов, намного проще, чем обучение хардкорным вещам типа Selenium. При этом для тех, кто уже уверенно владеет подобными инструментами, изучение UiPath не составит никакой сложности.
На рынке сегодня существует потребность в инструменте, который облегчил бы тестировщикам и инженерам по автоматизации работу с вышеупомянутыми пробелами. Решение Test Suite призвано сделать тестирование и его автоматизацию интуитивно понятными и простыми в обслуживании, так, чтобы у компаний не было больших расходов.
Преимущества Test Suite
Один инструмент для RPA и автоматизации тестирования
Платформа UiPath многофункциональна, совмещает в себе возможности для роботизации и автоматизации тестирования. Это позволяет обмениваться артефактами автоматизации, созданными во всей организации. Кроме того, в рамках тестового пространства платформа способна интегрироваться и работать более чем со 190 технологиями, что значительно облегчает ее внедрение.
Замена устаревших систем на современные
В любой большой экосистеме предприятия или организации функционирует большое количество разных приложений. Совершенно обычна ситуация, когда рядом работают приложения, выпущенные в 90-м году и в 2020, веб-сайты на разных движках и мобильные приложения на разных технологиях. Проблема «зоопарка систем» при тестировании заключается в том, что определенный инструмент подходит для тестирования одного-трех приложений, но не всех сразу. Есть приложения, которые хорошо тестируют веб-сайты и совсем не умеют работать с «толстым» клиентом. Test Suite позволяет создавать единую экосистему и эффективно тестировать ПО различных категорий и версий. В Test Suite можно одновременно тестировать мобильное приложение и веб-ресурсы и не переключаться между большим количеством разных окон.
Минимальные знания программирования
Тестировщик должен заниматься тестированием системы, а не беспокоиться о кодировании. С помощью Test Suite он получает универсальный инструмент тестирования — все задачи, которые у него есть он может решать в одном инструменте с единой методологией и единым подходом, не вдаваясь в детали реализации.
Оркестровка корпоративного уровня
С помощью UiPath можно тестировать и живое, находящееся в эксплуатации, ПО, не обязательно в тестовом контуре. Для этого используются те же технологии, что и для роботизации реальных бизнес-процессов.
Test Suite хорошо интегрируется с CI/CD, в нем есть готовые коннекторы к большинству основных платформ issue tracking, плагины к Jira и SAP Solution Manager.
Простота создания и обслуживания
Решение для тестирования UiPath демонстрирует не только простоту использования, но и снижает затраты на техническое обслуживание. Некоторые из клиентов UiPath уже сообщили о двукратном увеличении тестового покрытия с помощью Test Suite.
При всех преимуществах автоматизации тестирования с помощью Test Suite, надо понимать, что инструмент не может заменить полностью человека, но он, безусловно, поможет сделать работу тестировщика более легкой и полезной.
raamid
Посмотрел статью, побродил по ссылкам, но так и не понял для чего эта штука годится — для сайтов, для десктопов или может для какой-то библиотеки интерфейса типа Qt.
RPAconsultant Автор
Годится для всего этого одновременно и еще больше
raamid
А как с ценами?