¿Cómo calcular el ROI de la automatización de pruebas con Selenium?


Se preparó una traducción del artículo específicamente para los estudiantes del curso de Ingeniero de Python QA.




Las pruebas entre navegadores son exactamente el tipo de prueba que requiere mucho esfuerzo y tiempo. Probar una aplicación web en varios navegadores, en diferentes sistemas operativos, dispositivos, resoluciones de pantalla para evaluar la representación de su contenido de red a un público amplio es una tarea seria. Especialmente si lo haces manualmente. Las pruebas automatizadas entre navegadores con Selenium ahorrarán tiempo en actividades de rutina y reducirán el tiempo de prueba de regresión. Sin embargo, a la gente no le gusta el cambio. Si las pruebas manuales son populares en su organización, la administración probablemente tendrá preguntas cuando proponga implementar la automatización de pruebas.


La automatización de pruebas, aunque es una tarea extremadamente rentable, es potencialmente costosa. ¿Vale la pena el juego? Este es uno de los problemas que puede enfrentar al convencer a la alta gerencia. A medida que desarrolle su aplicación web, deberá proporcionar un retorno efectivo de la inversión (ROI) de la automatización de pruebas con Selenium, enfatizando los beneficios de dicha automatización para la prueba de navegadores cruzados de aplicaciones web, es decir, un trabajo más rápido y menos trabajo manual.



En este artículo, discutiremos varias métricas para evaluar el ROI de la automatización de pruebas con Selenium, así como los métodos para calcular el ROI, comenzando con lo básico y terminando con métodos avanzados.


Métricas para evaluar el ROI de la automatización de pruebas usando Selenium


Usted, así como los miembros de su equipo, pueden seleccionar indicadores y mediciones específicos que lo ayudarán a analizar el ROI de la automatización de pruebas con Selenium, mientras planea comenzar las pruebas automatizadas de su aplicación web desde cero. El rendimiento puede variar según la organización. Por qué Esto es una cuestión de prioridades, porque hay varios indicadores, como la cantidad de defectos detectados (errores), el tiempo dedicado y la cobertura de prueba, que afectan directamente los riesgos, el costo, la calidad y el cronograma de entrega de su producto. Algunas organizaciones pueden dar prioridad a la cantidad de defectos encontrados, ya que creen que la cantidad está fluyendo hacia la calidad. Algunos piensan de manera diferente, ya que la calidad es fundamental para ellos. ¿Qué eliges? ¿Qué crees que es más importante: calidad o cantidad? Puedes escribir tus pensamientos en los comentarios.


Bueno, ahora definir las métricas clave para calcular el ROI de la automatización de pruebas con Selenium será crucial para usted, ya que debe identificarlas antes de entablar una discusión con la alta gerencia.



Área de automatización de prueba con selenio


Es bien sabido que las pruebas no pueden ser completamente automatizadas. Cuánto puede automatizar las pruebas entre navegadores es una pregunta difícil. Si decide implementar pruebas automatizadas entre navegadores para su aplicación web, tendrá que decidir sobre las prioridades, es decir, qué navegadores y sistemas operativos deben cubrir las pruebas. En cualquier caso, no puede cubrir todos los escenarios. El número total de escenarios posibles puede estar en cientos o miles de pruebas. Si su secuencia de comandos de automatización lleva mucho tiempo, esto inevitablemente afectará peor la cantidad total de tiempo que pasa todos los días probando su aplicación web o sitio web.


En resumen, debe comparar el número total de casos de prueba automatizados y el número de casos de prueba en los que puede aplicar la automatización.


En caso de que desee reducir el tiempo de ejecución de conjuntos de pruebas complejas, puede usar pruebas paralelas con Selenium Grid . De esta forma, puede ejecutar varios scripts de prueba a la vez. Sin embargo, aquí debe pensar cuántas sesiones simultáneas o paralelas serán suficientes para satisfacer los requisitos dados. Puede calcular esto con una calculadora de concurrencia .


Mejorar este indicador significa que los equipos pueden encontrar rápidamente el error y corregirlo, lo que conduce a menores riesgos y un mayor ROI de la automatización de pruebas con Selenium.


¿Cuánto tiempo ahorrarás?


Agile se caracteriza por sprints semanales y de dos semanas y cambios frecuentes en los requisitos. En tales circunstancias, la importancia de las pruebas de regresión está aumentando. La introducción de pruebas de regresión automatizadas reducirá el tiempo requerido para realizar dichas pruebas. Esto aumentará la cantidad de tiempo para desarrollar o desarrollar otro sprint. Ahorrar tiempo es una prioridad para todas las organizaciones, especialmente para las nuevas empresas que necesitan escalar rápidamente su aplicación web. ¿Es el tiempo uno de sus intereses en evaluar el ROI de la automatización de pruebas?


El ancho de banda de sus recursos.


Sabemos que probar la automatización con Selenium lo ayudará a lanzar rápidamente su aplicación web al mercado. Sin embargo, ninguna organización preferiría que sus empleados permanezcan inactivos la mayor parte del tiempo, esperando que el script funcione. El cálculo del ROI requiere un análisis exhaustivo de los esfuerzos realizados por cada probador en su equipo.


Presupuesto de inversión de recursos y herramientas.


La automatización de pruebas ahorra tiempo y esfuerzo. Sin embargo, esto implica un compromiso con los precios. Debe pensar cuánto presupuesto puede gastar en el mantenimiento de las herramientas para realizar pruebas automatizadas.


Numero total de defectos


El número total de defectos descubiertos después de cada ciclo de prueba de regresión da una idea de la calidad del producto y qué tan efectiva es la prueba automatizada para este producto en particular.


Encontrar el ROI correcto para pruebas automatizadas


Dependiendo del número de ciclos de regresión que se deben realizar durante el ciclo de vida del proyecto, el ROI puede tomar un valor positivo. Por lo general, el ROI se calcula utilizando la siguiente fórmula:


ROI = (   –   ) /    

Sin embargo, con el advenimiento de Agile y DevOps, el método clásico ya no funciona. Además, dicha medición no es realista, ya que la cantidad de pruebas manuales no puede ser la misma que la cantidad de pruebas automatizadas. No es preferible calcular el valor de ROI correcto de la automatización de prueba en el caso de selenio en función de la cantidad, pero aún se utiliza.


Calidad de los defectos


Esto, en mi opinión, es un indicador muy importante para calcular el ROI de la automatización de pruebas con Selenium. Creo que el objetivo de la automatización de pruebas no es eliminar la necesidad de probadores manuales en el proyecto. El significado de la automatización es reducir el tiempo que pasa el probador en la realización de pruebas, en las condiciones de su apretada agenda, para que el probador pueda llegar a más casos de prueba ya preparados. Mejorar la calidad de los casos de prueba sin duda ayudará a mejorar su aplicación web.


Errores comunes al calcular el ROI a partir de pruebas automatizadas


Aunque el cálculo del ROI implica un cálculo básico utilizando una fórmula simple, pueden producirse errores si omite algunos parámetros importantes. Analicemos algunos errores comunes que cometen las personas al calcular el ROI.



fuente


No ignoras completamente las pruebas manuales, ¿verdad?


Uno de los errores más comunes es usar solo métricas de prueba automatizadas. Las pruebas manuales siempre serán de particular importancia. Cuando hablamos de pruebas entre navegadores, entendemos que algunos escenarios se pueden automatizar, pero hay ocasiones en las que necesita interactuar con una aplicación web en tiempo real, haciendo pruebas entre navegadores manualmente. Debido a que los defectos visuales, por ejemplo, son más fáciles de detectar manualmente que ejecutar un script automatizado. Cosas como el atractivo de la apariencia del sitio cuando se muestra en varios navegadores o el correcto funcionamiento del menú de navegación siempre se verifican manualmente. Si intenta automatizar las pruebas de este tipo, no aumentarán el ROI. Incluso si no considera el “trabajo manual”, debe tener en cuenta el tiempo y el dinero asignados para esto.


Imagina el panorama general


Al medir el ROI de la automatización de pruebas con Selenium, debe considerar un período de tiempo más largo. La prueba de cómo una metodología de prueba en particular beneficia a la organización en poco tiempo no siempre proporciona una imagen completa. Debe averiguar cómo afectará a la organización y al equipo a largo plazo. En lugar de tomar meses, piense en cómo cambiará el ROI en 3-5 años. Por ejemplo, ¿vale la pena usar las pruebas de desplazamiento a la izquierda en su práctica? La prueba de desplazamiento a la izquierda es una metodología que se centra en las pruebas lo antes posible, comenzando con la fase de recopilación de requisitos. La idea es pensar en los errores de antemano y encontrarlos lo antes posible, porque se cree que el error encontrado en una etapa posterior del ciclo de vida del desarrollo del sistema será más costoso que el error que se encontró en las etapas iniciales.


¿Has apreciado las capacidades de tu organización?


Debe hacer coincidir las capacidades de su organización con una pila de herramientas de automatización de pruebas. La implementación exitosa de una estrategia de prueba automatizada requiere tanto conocimiento del producto como conocimiento de automatización. Su equipo debe tener una comprensión clara de cómo usar la herramienta de automatización prevista, así como de cómo funciona la aplicación.


El soporte de prueba es importante


El soporte de pruebas es otro factor que las personas tienden a pasar por alto al medir el ROI de la automatización de pruebas. Si usa Selenium para las pruebas automáticas entre navegadores, luego de la implementación exitosa de su estrategia, deberá actualizar y mantener los casos de prueba regularmente. El conjunto de regresión y los casos de prueba comenzarán a crecer en número a medida que agregue nuevas páginas, expanda o actualice las funciones de la aplicación web. Mantener estas suites de prueba utilizables durante un período de tiempo más largo requerirá asistencia regular.


Falta de documentación de calidad adecuada


Este es un error bastante común, y no solo en términos de automatización, sino también en términos de gestión. La documentación debe reflejar los estándares de la organización. Cuando el probador escribe un guión de prueba, debe preparar un documento que explique el propósito del guión y cómo funciona. Una base de conocimiento común debe ser accesible para todos dentro de la organización e incluir documentación para cada escenario de automatización utilizado en su organización. Tal base de conocimiento servirá como un soporte confiable para cualquier recién llegado a su equipo. También ayudará a eliminar los problemas que inevitablemente surgen en ausencia de un gerente de proyecto "senior" o cuando un probador valioso se va a otra compañía. Por lo tanto, la próxima vez que calcule el ROI a partir de la automatización de la prueba, asegúrese de tener en cuenta la cantidad de esfuerzo requerido para mantener una de esas bases de conocimiento para los empleados internos.


Qué hacer para aumentar el ROI de la automatización de pruebas con Selenium


Por el momento, somos conscientes de los errores comunes y conocemos los indicadores para calcular el ROI de la automatización de pruebas. Que sigue Cumplimiento ¿Cómo encontrar la mejor manera de obtener el ROI máximo de la automatización de pruebas con Selenium? Bueno, aquí hay algunas prácticas notables para ayudarlo a aprovechar al máximo la automatización de pruebas.



Implementar automatización para nuevas pruebas


Este es un factor muy importante, especialmente si está pasando de la prueba manual a la prueba automatizada. Supongamos que introduce el uso de Selenium WebDriver en su organización para las pruebas automáticas entre navegadores.


  • Calcule la cantidad de casos de prueba que necesitan ser automatizados;
    - Ahora verifique cuáles necesitan ser automatizados y cuáles se hacen mejor manualmente;
    - ¡No cambie los casos de prueba de manera que puedan automatizarse! Hay algunas cosas que deben verificarse manualmente;
  • Calcular el costo por hora de un probador que realiza casos de prueba;
  • Si algunos probadores no tienen experiencia en automatización, calcule el costo de la capacitación.

Prioridad del proceso de automatización para nuevos casos de prueba.


Todos sabemos que las pruebas de regresión siempre son una prioridad, especialmente cuando se trata de pruebas de regresión visual de una aplicación web en varios navegadores para verificar la compatibilidad entre navegadores .


La prueba de regresión implica principalmente volver a ejecutar casos de prueba antiguos para asegurarse de que las nuevas funciones que se agregaron no afectaron el funcionamiento de la funcionalidad anterior y no causaron nuevos errores. Con el tiempo, a medida que sus aplicaciones web crezcan arquitectónicamente y funcionalmente, el seguimiento manual del progreso de las pruebas de regresión resultará costoso. La implementación de pruebas de regresión visual automatizadas tiene sentido si desea guardar.


  • Al calcular el ROI, suponga que cada nuevo caso de prueba pronto se convertirá en parte de la prueba de regresión. Trátelos como parte de su estrategia de prueba de regresión.
  • Ordene los casos de prueba por complejidad y vea cuáles se pueden automatizar.
  • Como se indicó anteriormente, considere el costo de mantener las pruebas antiguas.

Casi 100% de cobertura de prueba bajo varias configuraciones de prueba para navegadores y SO


El objetivo principal de la automatización de pruebas es mejorar la calidad de su aplicación. Al calcular el ROI, también debe tener en cuenta que la cantidad de formas de ver un sitio web aumenta cada día. Hay cientos de navegadores y dispositivos en el mercado donde las personas pueden ver su aplicación web, y su número crece constantemente. Defina una matriz de compatibilidad del navegador para usted.


Recomendaciones de relación de cobertura


Puede aumentar la cobertura de la prueba realizando pruebas de humo, pruebas unitarias y pruebas de regresión que apuntan a la fuente de los errores.


Pruebas unitarias. Las pruebas unitarias constituyen el mayor porcentaje de pruebas al probar su aplicación web. Siempre tiene sentido utilizar un mecanismo de ejecución en paralelo para ahorrar tiempo.


Pruebas de humo Ejecutar pruebas de humo en paralelo es la mejor manera de cubrir casos de prueba al enviar revisiones a una aplicación. Las pruebas de humo automatizadas son una buena manera de realizar pruebas diariamente para su aplicación web.


Pruebas de regresión. En la era ágil, el desarrollo rápido requiere más y más pruebas de regresión, especialmente para el control de versiones. La realización de pruebas de regresión paralelas garantiza que cada ensamblaje posterior funcionará exactamente igual que el anterior, lo que permitirá ajustar las pruebas en un período de tiempo significativamente más corto.


Recuerde sobre la fuga de defectos : la cantidad de errores que ocurren durante el ciclo de producción, debido al hecho de que no se detectaron en las primeras etapas de la prueba. Esto puede suceder debido a una cobertura de prueba funcional deficiente o un entorno de prueba deficiente.


Intenta usar la metodología de prueba shift-left . Implica la participación de los probadores en el desarrollo. Los desarrolladores también participan en él, realizando pruebas unitarias después del desarrollo de un módulo específico. La idea principal es encontrar un error antes de que se muestre y, en última instancia, reducir su costo.


Descubra el número de casos de prueba duplicados y redundantes


La duplicación de casos de prueba es un factor importante que puede conducir a un aumento en el presupuesto para la prueba. No tiene sentido volver a desarrollar esos casos de prueba que ya utilizó anteriormente para otro módulo. La reutilización de los casos de prueba conduce a pruebas más rápidas.


El cálculo del costo incluye:


  • número de pruebas repetidas;
  • casos de prueba con componentes repetitivos;
  • el tiempo requerido para detectar y crear todos estos casos de prueba redundantes;
  • cálculo del costo de usar la herramienta de administración de casos de prueba.

Recomendaciones para reducir la redundancia:


  • Use la herramienta de administración de casos de prueba para encontrar escenarios duplicados. Puede usar estas herramientas para almacenar pruebas con campos variables, que luego se pueden modificar según sus necesidades. El uso de dicha herramienta ayudará a detectar rápidamente la redundancia.
  • También puede desarrollar casos de prueba modulares que puede reutilizar en el futuro. Destaque las pruebas que se ejecutan con mayor frecuencia. Por ejemplo, la funcionalidad de inicio y cierre de sesión. Para verificar el funcionamiento correcto de estas funciones, debe realizar un cierto rango de pruebas. Diseñe un caso de prueba modular que se pueda usar para cada una de las muchas variaciones de inicio y cierre de sesión.

Realice pruebas automatizadas entre navegadores con Selenium Grid On-Cloud sin problemas


El área imperativa del cálculo del ROI de la automatización de pruebas con Selenium se basa en el método de ejecución. Selenium es conocido por ser un marco de automatización de pruebas abierto diseñado para facilitar la prueba de aplicaciones web. Puede realizar pruebas automatizadas con Selenium localmente o utilizando una de las herramientas en la nube que ofrece Selenium Grid.


Cuando realiza pruebas automatizadas con Selenium en su propia infraestructura, debe considerar el presupuesto para escalar su conjunto de pruebas. ¿Cómo introducirá nuevos dispositivos? ¿Nuevas versiones de navegador? Para admitir la ejecución paralela, su computadora requerirá una potencia considerable. Sin embargo, si está probando con Selenium Grid en la nube , puede escalarlo para que se ajuste a los requisitos de su proyecto.


Selenium por sí solo no proporciona una herramienta de informes. Los informes de prueba se pueden obtener utilizando marcos de automatización de prueba basados ​​en el lenguaje utilizado. Si utiliza Selenium Grid de LambdaTest, puede obtener informes a través de nuestra API abierta de Selenium .


Otra diferencia clave entre los dos métodos es la prueba paralela. Usando Selenium Grid en su máquina local, puede ejecutar casos de prueba solo en los navegadores instalados en esta máquina. Sin embargo, si utiliza un Selenium Grid basado en la nube, como LambdaTest, puede probar en más de 2000 navegadores reales y sus versiones.


LambdaTest es una nube para pruebas de navegador cruzado en la que puede ejecutar simultáneamente varios casos de prueba de Selenium en varias combinaciones de dispositivos y navegadores, lo que reduce el costo de crear su propio "laboratorio" para pruebas de navegador cruzado y pruebas en varios dispositivos.


Recuerde que si la prueba paralela no se realiza correctamente, existe el riesgo de fuga de defectos. Cuanto antes encuentre un error, más fácil será corregirlo.


Métodos avanzados de cálculo de ROI


Ahora que hemos aprendido los conceptos básicos, es hora de hablar sobre los métodos avanzados utilizados para calcular el ROI.


ROI efectivo



fuente


Debido a que los casos de prueba automatizados se pueden ejecutar todo el día, el ROI se calcula en días. Por otro lado, con las pruebas manuales, solo se tiene en cuenta el tiempo de trabajo del probador, que promedia 8 horas al día. La fórmula que es la base para calcular el ROI:


  • (a) Tiempo para desarrollar un caso de prueba para automatización = (Tiempo para automatizar una prueba en horas * Número de casos de prueba para automatización * Período de retorno de la inversión) / 8
  • (b) Tiempo de ejecución de caso de prueba automatizado = (Tiempo de ejecución de prueba automatizado por prueba * Número de casos de prueba para automatización * Período de retorno de la inversión) / 18
  • ( c ) Tiempo de análisis de prueba automatizado = (Tiempo de análisis de prueba * Período de ROI) / 8
  • (d) Tiempo de servicio para prueba automatizada = (Tiempo de servicio * período de retorno de la inversión) / 8
  • (e) Tiempo de ejecución manual = (Tiempo de ejecución de prueba manual * Número de casos de prueba manual * Período de ROI) / 8

Nota: El período de recuperación de la inversión (Período de retorno de la inversión) es el número de semanas para las cuales se debe calcular el retorno de la inversión dividido entre 8, que ocurre en todas partes donde se tiene en cuenta la mano de obra. La división por 18 ocurre dondequiera que se use la automatización.


Al calcular la efectividad, la atención se centra en la eficacia de las pruebas automatizadas para la organización. El factor monetario se considera secundario, por lo tanto, no es necesario incluir el pago por hora por el trabajo del probador.


ROI para reducir el riesgo


Se supone que calcula independientemente los beneficios de la automatización. Nuevamente tomaremos un ejemplo con las pruebas entre navegadores y el uso de WebDriver para comprender cómo funciona esto. Durante las pruebas manuales, todo el equipo pasó mucho tiempo haciendo las mismas cosas una y otra vez en varios navegadores. Después de implementar la automatización, los evaluadores tienen mucho tiempo adicional para realizar un trabajo productivo, como desarrollar casos de prueba, analizar una aplicación, etc. En resumen, el ROI para reducir el riesgo resuelve problemas que ni siquiera se habían planteado antes.


Con la introducción de la automatización, la cobertura de pruebas está aumentando. La dependencia total de las pruebas manuales dará lugar a errores innecesarios que pueden aparecer ya en la producción. Esto conducirá a una disminución en la calidad del producto y la eficiencia de las pruebas. Tal posible pérdida se considera un riesgo. No hay cambios en el valor de la inversión. Solo se calculan las pérdidas monetarias que una organización puede enfrentar sin implementar la automatización.


¡Esto es solo una envoltura! (orig. ¡Es una envoltura!)


Gracias por leer, espero que haya adquirido el conocimiento necesario y una estrategia útil para convencer a la administración utilizando el ROI de la automatización de pruebas con Selenium. No cometa el error de pensar que el ROI es solo una comparación del tiempo y el dinero gastados en probar manualmente una aplicación web y pruebas automatizadas. Hay muchos factores a considerar, y cada uno de ellos tiene sus propias ventajas y desventajas. Además, el ROI no se puede calcular con una sola fórmula. Existen varios métodos, y deberá elegir lo que necesita según los requisitos de su organización y su proyecto. ¡Buena suerte en las pruebas!

Source: https://habr.com/ru/post/461257/


All Articles