RPA против традиционных инструментов автоматизации

Я - инженер по автоматизации тестирования и недавно получил возможность изучить проект инструмента RPA. После изучения я обнаружил, что он похож на инструменты автоматизации пользовательского интерфейса, поддерживающие различные технологии. Может кто-нибудь сказать мне, какое значение RPA добавляет по сравнению с традиционными инструментами. Мне было интересно посмотреть, как он может использовать "интеллект", но не смог найти ни одной функции.

Может ли эксперт на этом форуме помочь мне понять, что может сделать RPA, чего не может сделать традиционный инструмент?

Я вижу похожие вопросы, но они не дают ответов, которые я ищу.

Спасибо нилеш

8 ответов

Технологические проблемы RPA и средств автоматизации очень похожи. RPA и тестируемые продукты различаются по своему пользовательскому опыту и отчетности. В то время как инструменты тестирования часто предлагают функции для оценки риска или создания данных тестирования, инструменты RPA уделяют больше внимания созданию ботов и хранению пользовательских данных.

Вы можете сказать, что есть сходство с тем фактом, что компания Tricentis, которая занимается разработкой решения для тестирования Tosca, теперь также разрабатывает продукт RPA ( Tricentis RPA).

Основное различие между двумя очень похожими методами автоматизации тестирования (процесса) и роботизированной автоматизации процесса - это цель. Почти все пункты, содержащиеся в предыдущих постах, по моему скромному мнению, являются следствием цели обоих методов:

  • С помощью инструмента автоматизации тестирования (процесса) вы хотите протестировать тестируемое приложение или систему. Т.е.: хотите найти ошибки или доказать, что качество приложения достигло определенного уровня. Автоматизация процесса тестирования обычно выполняется в тестовой среде. Если что-то пойдет не так с вашим кодом автоматизации тестирования или инструментом, полностью разрушающим тестовую среду, это не так уж и плохо: вы можете перезагрузить среду и никому не навредить.
  • С помощью инструмента RPA вы хотите реализовать реальный бизнес-процесс. Робот работает в продуктивной среде. Если что-то пойдет не так, вы можете причинить кому-то боль, например нанести ущерб продуктивным данным или среде. Робот выполняет работу пользователя, а не просто имитирует его. Поэтому робот должен быть "спасен". Также должно быть возможно понять, что именно робот сделал с работой, которую он получил.

Надеюсь, это поможет уточнить.

PS: я включаю слово "Процесс" в контексте тестирования, потому что инициализация или сброс тестовой среды, предоставление вторичных данных, загрузка тестируемой системы, запуск теста, сбор результатов, сравнение фактических с ожидаемыми результатами, создание отчетов для теста Управление или DevOps - это обычно процесс, который вы автоматизируете, используя своего рода "Автоматизацию процесса тестирования", а не просто "Автоматизацию тестирования".

На менее официальной и серьезной ноте, RPA - это маркетинговый термин для робота автоматизации тестирования, на который наложен какой-то редактор Workflow и некоторые удаленные технологии.

Мы использовали стандартные тестовые автоматизированные роботы (UFT, Selenium и т. Д.) Для выполнения некоторых RPA с ответной реакцией о том, что автоматизированный рабочий процесс был скорее закодирован, чем визуализирован, и нам пришлось приложить определенные усилия для поддержки масштабирования. (запуск их в массовом порядке и автоматически)

Что это решает? - Как уже упоминалось выше, визуализация работы и масштабирование - хотя здесь у него есть ограничения

Какие слабые места?

  • Робот автоматизации тестирования, завернутый в RPA, может быть очень ограничен - во многих случаях он менее зрелый, чем современные роботы TA.
  • Обещание записи и воспроизведения и перетаскивания рабочего процесса. Как всегда - нас там еще нет
  • Это решает проблему так, как ее не следует решать; GUI предназначен для пользователя, API - для программного обеспечения (или в этом случае называют их роботами). Эти проблемы должны быть решены путем написания интеграций между системами или расширения существующих API (безопаснее, дешевле, гораздо надежнее и т. Д.)

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

Эти платформы в основном будут пытаться консолидировать и формализовать усилия по автоматизации на предприятии. и здесь слово "предприятие" является ключевым.

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

Платформы RPA, с другой стороны, являются более масштабным "формальным" усилием, которое попытается автоматизировать задачи, которые в противном случае требуют большого количества FTE (штатного сотрудника) для выполнения. Типичные случаи использования RPA - это повторяющиеся задачи, которые люди выполняют весь день, не используя много мозга. подумайте о том, чтобы извлечь каждую позицию из заказа на поставку (заказа на покупку) и поместить ее в электронную таблицу Excel, а затем разместить ее в каком-то внутреннем приложении. А теперь представьте, что один парень делает это, может быть, за сотни заказов в день.

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

я могу идти весь день о RPA, дайте мне знать, если у вас есть какие-либо последующие qns. Я работаю на одной из этих платформ RPA, возможно, я смогу помочь.

Существует множество ароматов РПА. Blueprism - не идеальный пример того, как должен выглядеть современный RPA, подумайте о проверке https://www.automationanywhere.com/ или UiPath (оба предлагают Community Edition, которую вы можете скачать и попробовать бесплатно). Хотя технологические различия могут быть не такими значительными (и, действительно, производители RPA сейчас рассматривают автоматизацию тестирования как рынок для своих продуктов), самые большие различия заключаются в способах разработки платформ, а именно:

  1. Ориентированный на безопасность подход, платформа RPA разработана таким образом, чтобы обеспечить ответственную обработку важных данных.
  2. Дизайн для простоты использования для нетехнических людей. Selenium - это здорово, но вы должны знать, как программировать его. UiPath требует простого перетаскивания для тех же вещей.
  3. Работа с неструктурированными входными данными, такими как документы OCR и работа с ними
  4. Интеграция ML, для принятия решений или дополнительных возможностей. Например, НЛП, анализ настроений, помощь в распознавании текста, распознавание новых форматов документов и т. Д. Интеграция со сторонними, такими как чат-боты или BPM
  5. Аналитические и контрольные возможности, чтобы убедиться, что вы знаете, сколько времени ваши боты выполняют свою работу, и помочь им в случае неудачи

Простота использования не должна быть отброшена: с RPA это получасовая работа, чтобы получить запрос по почте, получить данные из SAP, построить сводную таблицу в Excel и загрузить на веб-сайт в формате JSON. Не могли бы вы сделать это в других инструментах? Конечно! Это так просто? Обычно нет. Таким образом, вы можете сделать RPA для плохого человека с помощью Selenium, AutoIT, bash или PowerShell, это будет не так просто и предоставит меньше возможностей, требующих больших усилий на каждом этапе. И если вы сделаете это правильно, вы все равно будете копировать одну из платформ RPA.

Также в RPA обычно есть, но не всегда, центральный координационный механизм (например, Selenium Grid) для организации нескольких роботов (до 10 000 в случае UiPath), чтобы убедиться, что они действуют синхронно, имеют какую-то рабочую очередь, меняют свою рабочую нагрузку, разворачивают процессы для них и т. д. Это имеет все значение для сценариев использования предприятия.

  1. Основное отличие заключается в типе задачи, которую мы можем автоматизировать с помощью традиционной автоматизации и RPA:

    • Традиционная автоматизация в основном используется для автоматизации тестовых случаев приложений/продуктов.
    • RPA в основном используется для автоматизации бизнес-процессов.
    1. Если говорить о знаниях в области кодирования, то традиционная автоматизация требовала больше знаний в области кодирования по сравнению с RPA.

    2. Традиционная автоматизация может одновременно поддерживать автоматизацию настольных приложений или автоматизацию веб-приложений без интеграции сторонних инструментов. тогда как RPA может поддерживать автоматизацию как веб-приложений, так и настольных приложений.

... что может сделать RPA, какой традиционный инструмент не может сделать?

Ключевым компонентом любого настоящего и современного инструмента RPA является компьютерное зрение. Это распознавание изображений и распознавания текста (OCR). А в будущем другим ключевым компонентом будет ИИ (например, классифицировать документы, автоматически отвечать на электронные письма и т. Д.).

  • Полезные инструменты RPA включают в себя очень хорошее компьютерное зрение (CV) и имеют возможности AI в своей дорожной карте (например, пресс-релиз UIPath и документы Kantu RPA). Но ни на одном инструменте на рынке не было реализовано ни одной истинной функции ИИ. Так что сейчас "ИИ" используется только как маркетинговый термин, если вы не называете OCR "ИИ".
  • Традиционные инструменты автоматизации не содержат CV и AI, а также не планируют добавлять их (например, AutoIT или Selenium).

У инструментов RPA и UI Automation есть некоторые пересекающиеся технические особенности. Например;

  • Использование компонентов пользовательского интерфейса: эти инструменты могут использовать подход на основе изображений экрана пользовательского интерфейса, платформу ОС (например, Microsoft Accessibility Framework) или расширение платформ, ориентированное на технологии (например, расширение Chrome или Firefox).
  • End-2-End управление приложениями: эти инструменты позволяют приложениям выполнять свои обязанности. Например, войдите в приложение и получите некоторые данные, а затем переключитесь на другие устаревшие приложения и введите данные.
  • Очистка экрана: эти инструменты имеют функции очистки экрана для извлечения некоторых данных на экранах, где другие методы не применимы.
  • Интеграция сторонних приложений: также эти инструменты могут интегрировать веб-службы или базы данных для получения данных и использования их в сценариях использования приложений....

Как видите, эти инструменты RPA и UI Automation имеют много общего. Но главное здесь не технология, а методология применения. С этой точки зрения RPA Tools

  • Создан для управления реальным бизнес-потоком в производственной среде.
  • Может обладать некоторой когнитивной способностью выполнять задачи, связанные с экспонатами человека (например, анализ документов, высокая способность распознавания текста, распознавание образов)
  • Может работать сопровождающим и без присмотра
  • Не требует знания языка программирования. Этот нетехнический персонал может легко использовать и учиться.
  • В отличие от приведенного ниже: для реализации сложных потоков, обеспечения масштабируемости, обеспечения бесшовной интеграции со сторонними приложениями и встроенной интеграции внешних технологий в ваши бизнес-потоки (т. Е. Сторонняя библиотека AI для классификации предложений микроблогов, которую вы разработали самостоятельно) Некоторые инструменты RPA (Voodoo RPA) имеют собственную встроенную среду разработки (EDE) для программистов.
  • Создан для надежного и безопасного выполнения важных повторяемых задач в режиме 7/24
  • Расширенные возможности управления рабочим процессом, олицетворения и ведения журнала

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

Другие вопросы по тегам