08/31/2020

7 diferencias entre pruebas automatizadas y RPA

COMPARTIR EN:

  • Linkedin Logo
  • Twitter Logo
  • Facebook Logo
  • Mail Logo

Se suele pensar que las pruebas automatizadas y RPA son sinónimos, pero ambas prácticas tienen objetivos y focos muy diferentes. En este artículo se busca echar luz sobre el tema, detallando las principales características y diferencias entre cada práctica.

RPA Robot

¿Las pruebas automatizadas y RPA son lo mismo?

Últimamente se ha escuchado mucho el término RPA (Robotic Process Automation), pero cuando uno pregunta qué es, o a qué hace referencia, la respuesta no es del todo clara, incluso existen confusiones al respecto. Es común que se confundan las pruebas automatizadas con RPA, ya que en ambos casos hay una automatización para ejecutar una tarea, pero es importante entender que son cosas distintas.

Para poder aclarar sobre estas prácticas y responder a la pregunta inicial, en este artículo se presenta información sobre sus principales diferencias, con el objetivo de entender cuando se debe aplicar cada una y obtener así el mayor beneficio en cada caso.

¿Qué es RPA?

Robotic Process Automation (RPA) permite automatizar tareas repetitivas sin la intervención de una persona. Este tipo de herramientas emulan las acciones de una persona interactuando con una aplicación para cumplir con un objetivo. Las tareas que se pueden automatizar son muchas, por ejemplo cargar información en una aplicación, procesar un email, realizar cálculos complejos, entre otras. Es común que sea utilizada por áreas de negocio como administración, suministros, finanzas, etc.

Las herramientas de tipo RPA utilizan la interfaz de usuario (UI) de la misma forma que lo hace un usuario, identificando elementos, completando campos y de esta forma se logra la automatización de una tarea sin necesidad de una persona.

El fin en sí mismo es optimizar la performance de un proceso, automatizando tareas repetitivas, mejorando los tiempos de ejecución y reduciendo la tasa de errores.

Existen distintas herramientas para implementar RPA y la mayoría se encuentran bajo un licenciamiento pago. Las herramientas más conocidas son:

¿Qué son las pruebas automatizadas?

Las pruebas automatizadas son parte del ciclo de desarrollo y se realizan para obtener información sobre la calidad del software. Son comúnmente utilizadas por equipos de QA para realizar pruebas de regresión rápidamente.

Existen distintos enfoques de pruebas automatizadas que aplican a distintos niveles del software: unitario, de integración o a nivel de interfaz de usuario (UI). Para cada uno de estos niveles existen herramientas específicas que permiten diseñar y ejecutar las pruebas.

Para que las pruebas automatizadas sean efectivas, deben ser ejecutadas de manera frecuente, por ejemplo cada vez que hay algún cambio en el código de la aplicación.

Existen distintas herramientas para implementar pruebas automatizadas, algunas bajo licenciamiento pago y otras gratuitas de código abierto. Algunas de las herramientas más conocidas son:

¿Cuáles son las diferencias?

1. Objetivo

El objetivo de cada práctica es totalmente distinto. RPA busca la automatización de un proceso de negocio que se caracteriza por ser repetitivo y su fin último es lograr la ejecución de un proceso o tarea de manera eficaz y eficiente. En cambio, las pruebas automatizadas se diseñan y ejecutan para evaluar el comportamiento del software,  y su finalidad es brindar información sobre la calidad del sistema para tomar decisiones sobre su liberación.

2. Alcance

En términos de alcance, desde el punto de vista de RPA se puede obtener un resultado respecto al cumplimiento de un proceso y/o tarea; en otras palabras el alcance se limita a lo funcional.

En las pruebas automatizadas esto es distinto, ya que en ocasiones el alcance puede exceder la funcionalidad, contemplando también atributos de calidad como el rendimiento (tiempos de respuesta), compatibilidad (exploradores, resoluciones, etc.), accesibilidad, entre otros aspectos.

3. Foco y estrategia

RPA se enfoca generalmente en procesos del back-end, los que debe llevar a cabo un colaborador de una organización. Para comenzar a automatizar se buscan típicamente los procesos ineficientes y repetitivos.

Las pruebas automatizadas es más probable que tengan foco en la evaluación del front-end, dado que es lo más cercano a los usuarios (en algunos casos clientes). Es común que se busque la automatización de pruebas enfocadas en las funcionalidades más críticas, aquellas que si fallan tienen un alto impacto para el negocio.

4. Ambiente

El ambiente de ejecución en cada caso también es distinto. RPA está concebido para ejecutar en ambientes de producción, ya que debe cumplir con un proceso o tarea en el contexto de la operativa real de una organización. En cambio las pruebas automatizadas se ejecutan generalmente en ambientes de desarrollo, pruebas, homologación o pre-producción, ya que buscan evaluar una versión candidata a ser liberada.

5. Roles involucrados

En el caso de RPA, si bien puede haber un equipo de desarrollo involucrado, este tipo de automatizaciones están pensadas para ser implementadas y ejecutadas por las personas del negocio. Mientras que en la automatización de pruebas, generalmente son implementadas y ejecutadas por el equipo de desarrollo y/o QA.

6. Skills técnicos

Siguiendo el punto anterior, cuando hablamos de RPA, gran parte de las herramientas están pensadas para que las personas que implementan la automatización no requieran conocimientos técnicos, como por ejemplo programación.

En cambio, la automatización de pruebas generalmente requiere de mayor conocimiento técnico, ya que dependiendo de la herramienta que se utilice, se deberán definir los scripts utilizando algún lenguaje de programación. Las habilidades técnicas necesarias para utilizar este tipo de herramientas también dependen del nivel de pruebas a automatizar.

7. Ciclo de vida

En relación a RPA, encontramos un ciclo de vida que tiene mayor independencia, ya que comienza con una versión del sistema liberado. Las automatizaciones implementadas y su evolución dependerá de los objetivos de negocio y no tanto de las decisiones sobre la liberación de nuevas versiones del software.

Por su parte, las pruebas automatizadas son parte del ciclo de vida de la construcción y mantenimiento del software. En este sentido se encuentran integradas al proceso de desarrollo y tienen una importante dependencia con las decisiones sobre las nuevas versiones del mismo.

Conclusiones

Las pruebas automatizadas y RPA tienen diferencias importantes, que parten del objetivo que se busca alcanzar.

Las diferencias no se tratan sobre las herramientas, el análisis presentado compara las prácticas, entendiendo que luego cada herramienta puede llegar a tener sus particularidades.

Se recomienda que cada práctica sea abordada de manera independiente y persiguiendo el objetivo que se desea alcanzar. No es buena idea intentar implementar ambas prácticas con una misma herramienta, ya que se necesitan capacidades, conocimientos y tiempos distintos en cada caso.

Escrito por Alejandro Bermudez de QAlified, unidad de negocio de Testing y Aseguramiento de la Calidad de GeneXus Consulting.