Ventajas y desventajas de la automatización

2/9
Recursos

Para comprender mejor la automatización de pruebas, es necesario tener claro las ventajas y desventajas asociadas a ellas. Esto permitirá saber en qué condiciones debemos utilizarlas.

Ventajas de la automatización de pruebas

Las ventajas que nos ofrece la automatización de pruebas son las siguientes:

  • Mejorar la eficiencia de las pruebas.
  • Proporcionar una cobertura de pruebas más amplia con respecto a las pruebas manuales.
  • Reducir el costo total de las pruebas, es decir, no implicar costos que generarían acciones innecesarias como las pruebas manuales.
  • Acortar el periodo de ejecución de las pruebas.
  • Aumentar la frecuencia de las pruebas reduciendo el tiempo requerido para los ciclos de prueba.
  • Se pueden ejecutar más pruebas por compilación o por liberación.
  • La posibilidad de crear pruebas que no se pueden realizar manualmente, como las pruebas en tiempo real o pruebas paralelas.
  • Las pruebas están menos sujetas a errores del operador. Una vez que se haya programado, no van a fallar.

Desventajas de la automatización de pruebas

Las desventajas que nos ofrece la automatización de pruebas son las siguientes:

  • Costos adicionales en herramientas, soluciones o profesionales.
  • Requiere de conocimientos de programación, lo que implica que sea más difícil de solucionar errores o debuggear.
  • Requiere un mantenimiento continuo porque el software evoluciona rápidamente.
  • Es necesario agregar tecnologías adicionales en el stack de tu empresa.
  • Las pruebas pueden volverse complejas.
  • Distracción de los objetivos de la prueba, a veces no se evalúa correctamente lo que se debe automatizar o lo que no.
  • Tiempos innecesarios en automatizar pruebas que hubieran sido resueltas más rápido de forma manual.

Contribución creada con los aportes de: Andrés Guano.

Aportes 53

Preguntas 10

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Yo creo que automatizando las pruebas piensas más en una solución más óptima y tienes menos bugs en tu solución final.

Ventajas y desventajas vistas en clase:

Ventajas

  • Mejora la eficiencia de las pruebas
  • Proporcionar una cobertura de pruebas más amplia
  • Reducir el coste total de las pruebas (vas a poder reutilizar la automatización N veces)
  • Acortar el periodo de ejecución de la prueba (al ser automático, será más rápido que lo que tardaría en hacerlo una persona)
  • Aumenta la frecuencia de prueba / reducir el tiempo requerido para los ciclos de prueba
  • Se pueden ejecutar más pruebas por compilación / liberación
  • Posibilidad de crear pruebas que no se pueden realizar de forma manual (p.ej: pruebas paralelas)
  • Las pruebas están menos sujetas a errores del operador

Desventajas

  • Costes adicionales (requiere un coste implementar una infraestructura para automatizar las pruebas)
  • Más difícil debuggear
  • Conocimiento de programación (requiere que tu equipo de QA tenga estos conocimientos y por eso se hará más complicado también debuggear)
  • Mantenimiento continuo
  • Require tecnologías adicionales
  • Pruebas más complejas
  • Puede distraer la atención de los objetivos de prueba

Cuando el profe menciona el grupo de QA se refiere al grupo dedicado al grupo de Quality Assurance en Testing, se refiere a ese grupo que se aseguran que la empresa entregue el mejor producto posible. Esto se logra a partir de procedimientos establecidos para que el producto cumpla con determinados estándares de calidad.

Source: https://www.tiempodev.com/blog/what-is-qa-in-software-testing/

Veo que las desventajas están pensadas para empresas chicas. Las grandes empresas de software no reparan en ese tipo de costos. Ponen todo lo necesario a tu alcance para lograr una óptima performance en cualquier área y calidad no es la excepción.

En la empresa en la que trabajo las tareas eran en extremo manuales, mi experiencia fue aprender a utilizar JavaScript y Python desde cero para poder lograr que las tareas se automatizaran, mi consejo es no desprestigiar el poder de los UserScripts!

La ventaja más clara es la escalabilidad y la desventaja más clara son los costos.
Aunque, por otro lado, un tester automático nos puede ahorrar el trabajo de diez testers manuales. Todo es cuestión de perspectiva.

Apuntes Dejo mis apuntes del Curso por si alguien le sirve

Ventajas

  • Da más fiabilidad, pues el error humano se elimina. Cualquier script de automatización tiene pasos más precisos que siempre se ejecutarán en el mismo orden, sin cabida al error.

  • Tiene mayor cobertura en las pruebas, porque como se explico en la clase algunas pruebas como las paralelas y las de un ambiente, son casi que imposibles de replicar.

  • Por ser de naturaleza automática requerirá menos tiempo…se ejecutará mucho más rápido.

Desventajas

  • Por no poder automatizar todo, pues no logramos usarlas al 100%

  • La creación de scripts automatizados es un proceso costoso que requiere un gran nivel de habilidades técnicas, de personal y sobretodo de constante actualización, cuando cualquier feature es cambiada.

VENTAJAS

  • Mejorar la eficiencia de las pruebas.
    (Somos más eficiente con el tiempo en el que se ejecutan)
  • Proporcionar una cobertura de pruebas mas amplia.
    (El rango de cobertura haciendo pruebas manuales se agranda con la automatización.)
  • Reducir el costo total de las pruebas.
    (Se reutilizan la automatización todas las veces que quieras, ahorrando otros costos)
  • Acortar el periodo de ejecuación de las pruebas.
    (Al hacer automatizado es más corto que si lo hace un humano)
  • Aumentar la frecuencia de la prueba.
    (La frecuencia es mayor, porque no genera un costo)
  • Se ejecutan más pruebas por compilación/liberación.
    (Cada ciclo de prueba se ejecuta más veces que si fuera manual)
  • Se crean pruebas que no sepueden hacer manual.
    *(Como por ejemplo, en timepo real, paralelas) *
  • Estan menos sujetas a errores del operador.
    (Se debe a que los humanos solemos cometer errores, que las maquinas no.)

DESVENTAJAS

  • Costos adicionales
    (Se requiere un costo grande, al comprar una herramienta, implentaciones, maquinas, personas con conocimiento)
  • Conocimiento de programación
    (Esto lleva a que sea más dificil de Debuggear)
  • Más dificil de Debuggear
  • Mantenimiento continuo
    *(Se debe a que el software cambia y evoluciona constantemente) *
  • Requiere tecnologias adicionales.
    (Se necesita que se agregen nuevas tecnologias para llevar acabo esa automatización.)
  • Pruebas más complejas
    (Se tarda mucho tiempo haciendo “cosas” que se identificarian más fácil de forma manual. Como por ejemplo si un boton cambio de color)
  • Puede distraer la atención de los objetivos de la prueba
    (Es importante saber bien que se va a automatizar y que no)

En la empresa para cual trabajo trabajan con Azure devops para crear los tickets y los flujos de trabajo se marcan a través de un tablero kanban. Todos los casos los hago manual, y hay algunos que son muy laboriosos, que si existiese la posibilidad de automatizarlos seria genial porque me puede llevar medio día o a lo sumo uno entero en hacer las pruebas.

Vaya! es bastante la diferencia entre la Automatización Industrial de la Automatización de pruebas.
He tenido experiencia de reclutadores que se confunden con los términos de automatización

En el proyecto donde estoy, la automatización de pruebas permitiría una mayor rapidez en las ejecuciones y una mayor cobertura, ya que actualmente se realizan muchas pruebas con pasos repetidos de los distintos productos que desaarrollan

La automatización de pruebas puede traer la ventaja de disminuir los errores en el sistema luego de un pase a producción porque últimamente ha habido mala racha con eso.

La “desventaja” es que no todo el equipo QA está preparado. Por tal motivo llevará tiempo para adaptarse y aprender.

La automatización de pruebas es una técnica utilizada en el desarrollo de software para ejecutar pruebas de manera automatizada, en lugar de hacerlo manualmente. A continuación se presentan algunas ventajas y desventajas de la automatización de pruebas:

Ventajas:

Ahorro de tiempo: la automatización de pruebas puede ser más rápida que las pruebas manuales, lo que significa que se pueden ejecutar más pruebas en menos tiempo.

Reducción de errores: los errores humanos son comunes en las pruebas manuales, mientras que la automatización de pruebas elimina los errores humanos y mejora la precisión.

Reutilización de pruebas: las pruebas automatizadas pueden ser reutilizadas fácilmente en diferentes etapas del ciclo de vida del software, lo que permite ahorrar tiempo y recursos.

Cobertura amplia: la automatización de pruebas permite ejecutar una gran cantidad de pruebas, lo que significa que se pueden cubrir más escenarios de prueba.

Mejora de la calidad: la automatización de pruebas mejora la calidad del software al detectar problemas de manera temprana y reducir la cantidad de errores que pasan a la producción.

Desventajas:

Costo inicial alto: la implementación de la automatización de pruebas puede ser costosa en términos de tiempo y recursos para la selección, adquisición y configuración de herramientas y la formación de los equipos.

Mantenimiento constante: las pruebas automatizadas requieren un mantenimiento constante para asegurarse de que estén actualizadas y funcionando correctamente.

Limitaciones en la detección de errores: algunas pruebas manuales pueden detectar problemas que no son evidentes en las pruebas automatizadas.

Falta de flexibilidad: las pruebas automatizadas pueden no ser tan flexibles como las pruebas manuales, lo que significa que no pueden detectar ciertos tipos de problemas.

Necesidad de habilidades técnicas: la automatización de pruebas requiere habilidades técnicas para configurar, ejecutar y mantener las herramientas de prueba, lo que puede ser una barrera para algunos equipos o individuos.

Yo creo que es a la larga esas desventajas que mencionas, es mayor el beneficio que trae, porque si es cierto que requiere inversión $ y tiempo, pero esto se compensará luego cuando simplemente ejecutes las pruebas y te des cuenta de que no tendrás que elaborarla proyecto por proyecto.

Una de las alternativas que utilizo son de automatizar las pruebas y evaluar cada punto a trabajar, escudriñar dudas y poder marchar en automatizado unas pruebas de calidad.

Considero de que una de las principales desventajas de la automatización a nivel web y mobile es el tema de la Capcha y validaciones de seguridad OTP, biometría, reconocimiento facial y uso de camara.

La automatización nos permite reducir costos y tiempos de procesos, ademas nos ayuda a mejorar el análisis de las pruebas y tener un mejor alcance.

yo creo que el Aumentar la Frecuencias de Pruebas / reducir el tiempo requerido para los ciclos de pruebas. es excelente para una empresa y la desventaja la del mantenimiento continuo

Eso de que en ocasiones tardas más tiempo haciendo una automatización que una prueba manual, es muy cierto, por lo que si trabajas con automatización has de presentar todos esos posibles casos y variaciones, así como organizar con tu equipo las tareas y el flujo de trabajo.

la ventaja que mas me llama la atencion es la de Ejecutar pruebas mas pruebas por compilación/liberación ahora voy a ponerme a investigar mas a profundidad!

Pienso que al querer automatizar intentamos encontrar una solución rápida y optima a las pruebas que realizamos, pero a su vez tenemos que ser los suficientemente capaces para detectar que pruebas podemos automatizar las cuales no nos hagan perder tiempo y enfoque. En resumen y conociendo las ventajas de automatizar necesitamos tener un criterio de cuando debemos hacerlo y lograr así tener una mayor eficacia en el trabajo que realizamos.
De alguna forma veo un limitante / "desventaja" en las pruebas de UI o UX cuando se intenta realizar de forma automatizada.
Yo veo como ventaja en la reduccion de costos ya que procesos que antes requerian tiempo y mas personas, eso se reduce. Desventaja veo que suceptible a cometer errores.
Las ventajas que nos ofrece la automatización de pruebas son las siguientes: * Mejorar la eficiencia de las pruebas. * Proporcionar una cobertura de pruebas más amplia con respecto a las pruebas manuales. * Reducir el costo total de las pruebas, es decir, no implicar costos que generarían acciones innecesarias como las pruebas manuales. * Acortar el periodo de ejecución de las pruebas. * Aumentar la frecuencia de las pruebas reduciendo el tiempo requerido para los ciclos de prueba. * Se pueden ejecutar más pruebas por compilación o por liberación. * La posibilidad de crear pruebas que no se pueden realizar manualmente, como las pruebas en tiempo real o pruebas paralelas. * Las pruebas están menos sujetas a errores del operador. Una vez que se haya programado, no van a fallar.
Ventajas: Facilitar las tareas repetitivas de algunos casos de prueba base, aumentar la casuística en los proyectos, obtener mayor tiempo para el análisis a nivel de negocio. Desventajas: Dependencia de la herramienta, falta de adherencia a aplicaciones con tecnologías nuevas, pocas habilidades para hacer scripting.
En el proyecto que estoy actualmente, considero que puede traer ventajas pues hay momentos en los que esperar por el pipeline de pruebas toma muchisimo tiempo, y si podemos automatizar esto y que se haga mucho mas rapido, nos toma menos timepo la implementacion de cualquier feature. La desventaja que podria tener es que la automatizacion de pruebas no fue bien planificada, y el colocar a alguien que no tiene mucha experiencia en programacion puede hacer que la implementacion no sea mantenible.

Es cierto que muchas desventajas… a largo tiempo siguen siendo desventajas. Pero muchas desventajas de momento en el corto tiempo suponen ser una desventaja, pero a la larga, terminan evitando que ocurran ciertas cosas o solucionando situaciones

Ahora mismo estoy en un proyecto de automatizacion, y concuerdo con lo que el facilitador a dicho hasta ahora, hemos evaluado tantos las ventajas como las desventajas y va acorde a lo que dices.

Las ventajas que podemos obtener de la automatización y creo yo que la mas importante es el benficio en el tiempo de desarrollar las pruebas , aunque va ahi mismo con las descentajas de un desarrollador, ya que si nos vamos con las UnitTests , el desarrollador debera tener mas tiempo para automatizar estas.

Como se menciona en lso comentarios , todo depende del valor que el
Tester le de asi mismo la empresa se anime a realizar este tipo de pruebas ya que por costos, tal vez no sea factible y se continue con pruebas manuales aunando los errores que se pueden llegara pasar.

Depende del cristal con que se mire puede haber mas ventajas que desventajas o viceversa.

¿Cómo se combinan las pruebas manuales y las automáticas?

Hola, yo creo que la principal ventaja es la eficiencia en las pruebas y el tiempo de ejecución, en el caso de las desventajas es el conocimiento en la programación y lo difícil de debuggear.

Ventajas:
Ahorrar tiempo en ejecución de pruebas
Permite una mejor distribución de las pruebas al estar ya documentadas

Desventajas:
Curva de aprendizaje para programar las pruebas

Automatización de pruebas sirve para ahorrar tiempo en ejecución de las pruebas manuales

buena explicacion

exelente exlicacion

por hoy no tengo ningún proyecto en clase, pero creo que si estuviera en uno este me podría traer costos adicionales, ahorro de tiempo, acortar el tiempo de ejecución de las pruebas y el tener menos errores en mi proyecto.

Ventajas:

  • Reducir tiempos de ejecución de pruebas.
  • Mejorar eficiencia de las pruebas.

Desventajas:

  • Costos adicionales
  • Mantenimiento continuo.

creoq ue una de las desventajas que suele tener es que el tiempode automatización de la prueba suele superar el tiempo de ejecución de la prueba entonces puede volverse muy dispendioso

Considero que pueden estar expuestas a un hackeo y …

Feliz de que Platzi finalmente abrió ruta de QA 😄

Veo una enorme ventaja, cuando se requieren realiza pruebas de regresión y los test están automatizados.

Pues asi nomas puedo decir que una ventaja que veo es que cada vez que se cambia algo en la aplicacion con las pruebas se puede chequear que todo siga funcionando correctamente.
Una desventaja es el tiempo y el conocimiento que requiere programar estas pruebas.

VENTAJAS DE LA AUTOMATIZACIÓN
.

  • Mejor eficiencia de las pruebas.
  • Proporciona una cobertura de pruebas mas amplia.
  • Reducir costos total de las pruebas.
  • Acortar el periodo de ejecución de la prueba.
  • Aumentar frecuencia de las prueba y reducir el tiempo requerido para los ciclos.
  • Poder ejecutar mas pruebas por compilación/liberación.
  • Poder crear pruebas que no se podían realizar manualmente.
  • Las pruebas están menos sujetas a errores del operador.
    .

DESVENTAJAS DE LA AUTOMATIZACIÓN
.

  • Costos adicionales.
  • Mas difícil Debuggear.
  • Conocimiento de programación.
  • mantenimiento continuo.
  • Requiere tecnologias adicionales.
  • Pruebas mas complejas.
  • Puede distraer la atención de los objetivos de prueba.

Existen procesos o H.U que al momento de probar el desarrollo de la misma, no son fáciles de percibir por el ojo humano un ejemplo puede ser la ubicación de una imagen, estos BUG´s o errores pueden irse a producción, pero automatizando estos ofrecemos un software de calidad mas completo.

Una de las ventajas que tienes Automatizando, es simular escenarios con muchos Usuarios o ejecutando transacciones que requieren una gran cantidad de recursos, puedes armar ciclos etc.

Sin embargo tuvimos una desventaja y fue que utilizábamos visual studio test profesional pero Microsoft ya no dio soporte, por tanto tuvimos que migrar a Jmeter aprender esta herramienta e iniciar prácticamente de cero mas de 300 transacciones que ya habían sido automatizadas, lo que ha implicado invertir tiempo y esfuerzo.

automatizacion debes a ver reecorrido mucho testing y datos para luego poder automatizar.

Considero que la automatización de pruebas ayuda a hacer pruebas de cosas especificas, repetitivas o así (por ejemplo que el sitio funcione correctamente, que la interfaz se comporte como debe, las interacciones si responda y otras cosas que precisamente quiero aprender en estos cursos jaja).

Pero siento que en temas como la accesibilidad, experiencia de usuario, arquitectura de la información y cosas así que no es probar el CÓMO FUNCIONA sino el CÓMO HACE SENTIR al usuario no se pueden automatizar 🤔

Además claro hay pruebas que con personas serían muy fáciles de hacer (como el ejemplo del profesor de si un botón cambia de color o no) pero automatizadas pueden requerir más tiempo y código

no tener conocimientos en programación

Creo que también ha y que tener en cuenta que tipo de producto o servicio quieres automatizar.
en mi caso vengo de aplicar test en una app mobile y ahora intento replicar eso en un chatbot y AV. y el 2do me esta complicando mas 😕

Desventajas

Costes adicionales (requiere un coste implementar una infraestructura para automatizar las pruebas)
Más difícil debuggear
Conocimiento de programación (requiere que tu equipo de QA tenga estos conocimientos y por eso se hará más complicado también debuggear)
Mantenimiento continuo
Require tecnologías adicionales
Pruebas más complejas
Puede distraer la atención de los objetivos de prueba

En las ventajas la posibilidad de ejecutar varias veces un proceso y de esta manera identificar la respuesta de la aplicación.
En las desventajas la dificultad que representa el construir la automatización.

Las ventajas son:

  • Automatizar procesos repetitivos o que requieren de mucho tiempo.
    *Darle una mayor cobertura a las pruebas.
    *Ejecutar pruebas de regresión haciendo uso de los srcipts o robots.

Desventajas:
*Se requiere personal con conocimientos y experiencia en programación y herramientas como Seleniuro.

  • Tiempo para estructurar e implementar las pruebas automatizadas.