¡Ayuda! Soy un tester manual. ¿Cómo puedo aprender a automatizar?

Cómo pasar de Tester Manual a Tester Automatizador

Mantener sus habilidades al día es una necesidad absoluta en cualquier línea de trabajo, y la industria del software ciertamente no es una excepción.

Para ilustrar el punto anterior, considere las pruebas de software. Los desafíos que debe cumplir como tester de software son cada vez mayores. El volumen de pruebas que se considera normal y el ritmo de las pruebas están determinadas por los estándares actuales para la tecnología y el rendimiento de la aplicación, así como también por las demandas de las aplicaciones basadas en el uso actual y probable en el futuro.

Simplemente no puede seguir adelante si continúa aplicando los métodos de prueba de ayer a la tecnología del mañana.

Es por eso que actualizar sus habilidades es crucial si todavía está atrapado en el mundo de las pruebas manuales. Las pruebas manuales ya no son suficientes en muchos casos.

Pero no se preocupen, testers manuales. En este artículo, analizamos los aspectos básicos para agregar experiencia de pruebas automatizada a su conjunto de habilidades.

CONCEPTOS BÁSICOS DE PRUEBAS AUTOMATIZADAS

¿Qué es una prueba automatizada y por qué la necesita? Las pruebas automatizadas son, en muchos sentidos, una respuesta natural al reconocer de que la mayoría de las pruebas de software son altamente repetitivas y, para los tester humanos, requieren mucho tiempo.

Las pruebas automatizadas están basadas en algoritmos y son razonablemente fáciles de definir de una manera que es tanto abstracta como formal, y su resultado consiste principalmente en informes que comparan estados esperados claramente definidos con resultados reales.

EL MOVIMIENTO A LA AUTOMATIZACIÓN

En cualquier industria, un conjunto de tareas basadas en habilidades que se ajusten a esta descripción sería un candidato ideal para la automatización. El hecho de que las pruebas de software se mantuvieron manuales durante tanto tiempo se debió en gran parte a la naturaleza conceptual algo compleja de muchas de las pruebas involucradas, combinadas con la naturaleza relativamente lenta y basada en pasos del desarrollo tradicional en cascadas.

El paso a la automatización ha sido impulsado por las demandas del modelo de desarrollo e implementación de software DevOps, que enfatiza el uso de herramientas de automatización basadas en scripts para la producción de software, y requiere una integración completa de las pruebas en la cadena de entrega continua.

En un entorno de este tipo, las pruebas manuales tienen un potencial muy alto para convertirse en un cuello de botella y, por lo tanto, deben automatizarse para que el proceso de entrega continua funcione sin problemas.

MOVERSE RÁPIDAMENTE PARA MANTENERSE

¿Esto significa que los probadores de software cuya experiencia es en gran parte manual probablemente estén sin trabajo? No necesariamente, pero cambia la naturaleza de las tareas (humanas) que son parte del trabajo, junto con las habilidades que son necesarias para realizar esas tareas. Sin embargo, incluso con estos nuevos requisitos, es probable que el conocimiento y la experiencia que haya acumulado como probador manual sean de gran valor para realizar la transición a pruebas automatizadas.

Estas son las cosas clave que usted (como un tester manual) necesita saber sobre las pruebas automatizadas.

  • LAS PRUEBAS AUTOMATIZADAS ESTÁN IMPULSADAS POR CÓDIGO

Las pruebas automatizadas se ejecutan desde scripts, y los scripts son, por definición, código.

¿Esto significa que debe poder escribir código para crear, ejecutar y administrar pruebas automatizadas?

No necesariamente. Muchos sistemas de prueba automatizados como Selenium IDE le permiten grabar scripts de prueba (pasando por las pruebas de forma manual mientras el sistema de prueba almacena sus acciones en formato de script), y luego reproducirlos más tarde.

Un conjunto de pruebas automatizadas puede consistir en un conjunto de scripts de prueba grabados; normalmente puede administrar dichos scripts a través de la interfaz gráfica del sistema de prueba, o mediante un script maestro, o mediante la línea de comando.

  • ALGUNA MODIFICACIÓN REQUERIDA

El problema con el uso de scripts de prueba grabados es que, a menos que los modifique, siempre ejecutarán la secuencia de prueba exacta que grabó. En la práctica, por supuesto, incluso el régimen de prueba más básico necesita cierta flexibilidad para dar cuenta de los cambios en la aplicación, la plataforma y las condiciones de operación. Si bien es posible que pueda realizar algunas modificaciones en un script de prueba mediante la interfaz gráfica del sistema de prueba, en general, modificar un script de prueba significa editar el código del script.

  • UN BUEN LUGAR PARA COMENZAR

Esto significa que cuando administre las pruebas automatizadas, probablemente necesite aprender a escribir al menos algunos códigos de script de prueba. En general, sin embargo, es mucho más fácil aprender a escribir código modificando un programa existente que aprendiendo empezando desde cero, por lo que modificar los scripts de prueba es probablemente la mejor y más práctica forma de aprender a escribir código para automatizar pruebas.

  • COMENZANDO DESDE CERO

Escribir scripts de prueba desde cero, puede llegar a ser un reto mayor de lo que parece a primera vista.

Dado que los scripts de prueba sirven a una función bien definida dentro de un dominio específico, los scripts pueden (dependiendo del Framework) ser escritos en un lenguaje de prueba de propósito limitado, el cual típicamente tendrá menos sobrecarga (y menos curva de aprendizaje) que un lenguaje de uso general.

  • IDIOMA ESTÁNDAR, DOMINIO LIMITADO

El Framework también puede aceptar llamadas de API de scripting de una variedad de idiomas existentes, permitiéndole escribir scripts de pruebas en un idioma con el que ya está familiarizado. Cuando lo hace, el ámbito limitado del dominio de prueba significa que probablemente puede centrarse en el subconjunto de comandos y características específicos del lenguaje necesarios para controlar los datos de prueba, realizar operaciones relacionadas con las pruebas y realizar las llamadas a la API necesarias.

  • FRAMEWORK DE PRUEBAS AUTOMATIZADAS

No hace falta decir que las pruebas automatizadas no ocurren en el vacío. Normalmente, utilizará un framework  de pruebas automatizadas (ya sea de código abierto, como Selenium o Appium o patentado) para ampliar sus capacidades de prueba, reducir la sobrecarga de la infraestructura de pruebas y coordinar resultados de prueba y análisis.

El Framework generalmente se encargará de la mayoría de las tareas relacionadas con la infraestructura requeridas para las pruebas automatizadas (Selenium, por ejemplo, proporciona un control automatizado de los navegadores).

También suele proporcionar la API de scripting y los recursos relacionados. Un buen framework debería permitirle concentrarse en las tareas específicas requeridas para probar su sitio web o aplicación, en lugar de tratar problemas básicos de infraestructura.

  • PRUEBAS AUTOMATIZADAS SIN CODIFICAR

¿Qué sucede si no está en condiciones de aprender a escribir o modificar código de prueba, o si está en una situación en la que es improbable que tenga responsabilidades de codificación de pruebas? ¿las pruebas automáticas te pondrán en frío?

No tiene por que. Incluso el sistema de prueba más altamente automatizado requiere personas calificadas y experimentadas para diseñar pruebas y regímenes de prueba, decidir qué pruebas ejecutar e interpretar los resultados de las pruebas y los análisis. Todas estas son tareas que requieren una comprensión profunda del software que se prueba, las condiciones del mundo real bajo las cuales se ejecutará el software y el significado real del resultado de la prueba.

Si eres un tester experimentado que no codifica, no tires la toalla. Es posible que pueda encontrar (o crear) una posición en administración, diseño, administración y análisis de pruebas.

RECURSOS

Aquí hay algunos enlaces a recursos básicos que pueden ser útiles para los tester manuales que consideran pasar a las pruebas automatizadas:

  • Selenium plataforma de automatización del navegador de código abierto utilizada por muchos sistemas de prueba automatizados. (sitio oficial https://www.seleniumhq.org/)
  • Appium otro framework de pruebas automatizadas ampliamente utilizado, especialmente para dispositivos móviles.

Sí, hay un lugar para usted (muchos lugares, de hecho) en el mundo de las pruebas automatizadas.

Ánimo y lánzate en este mundo de pruebas automatizadas con nuestros tutoriales paso a paso y en español

Selenium WebDriver

Selenium IDE

 

Compartir artículo

Leave Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.