X
BLOG

Entonces, desea lograr la automatización de pruebas web ... ¿y ahora qué?

Entonces, desea lograr la automatización de pruebas web ... ¿y ahora qué? Tiempo de leer: 5 minutos
Aquí, hablo de los obstáculos, las trampas y los éxitos que encontré en mi viaje para construir una nueva infraestructura de prueba de automatización web aquí en Parasoft, y cómo migramos nuestras pruebas manuales existentes.

Está emocionado, emocionado, optimista y tal vez incluso un poco nervioso por una nueva oportunidad para lograr la automatización de pruebas web que le otorgó su gerente. Pero de repente te golpea. ¿Por dónde diablos empiezo? ¿Acabo de comenzar la prueba de escritura? ¿Qué herramienta de automatización utilizaré? ¿Debo configurar algún tipo de infraestructura? ¿Debo comenzar a escribir pruebas localmente en mi máquina y luego transferir el entorno a algún entorno de prueba? ¿Qué obstáculos debo considerar antes de seguir adelante? ¡¡Tantas tareas a considerar !!

Antes de dar dos pasos hacia adelante, demos un paso atrás y consideremos qué es exactamente lo que queremos lograr.

Construyendo una nueva infraestructura de prueba de automatización web

La automatización de pruebas no es un concepto nuevo en nuestra industria. Existen numerosos recursos que discuten sus pros y contras, y muchos enfoques diferentes para lograr una infraestructura de automatización de pruebas exitosa. Aquí, discutiré los obstáculos, las trampas y los éxitos que encontré en mi viaje para construir una nueva infraestructura de prueba de automatización web aquí en Parasofty cómo migramos nuestras pruebas manuales existentes. Con suerte, cuando todo esté dicho y hecho, pueda usar mi experiencia para agilizar su proceso de manera un poco más eficiente.

Primero, déjeme guiarlo a través de un escenario que atravesé cuando me dieron la responsabilidad de un nuevo equipo y poner en funcionamiento la infraestructura de prueba de automatización web del equipo. El objetivo final estaba definido, pero dependía completamente de mí decidir qué camino tomaría para llegar allí.

Definición de hitos

Lo primero que hice fue reunirme con todas las partes interesadas involucradas y definir cuáles serían mis hitos.

Se me ocurrieron los siguientes hitos:

  • Investigue
  • Definir el alcance / cobertura de las pruebas
  • Cree y mantenga pruebas de automatización y continúe la colaboración con los miembros del equipo
  • Publicar resultados

Así que analicemos eso un poco.

Investigue

Como cualquier otra gran tarea, siempre desea hacer su debida diligencia e investigar todas las herramientas necesarias para que pueda hacerlo. ¿Cuáles son algunos de los elementos que tuvimos que considerar, preguntas? Veamos, primero estaba la cuestión de qué herramientas usaríamos y en qué lenguaje de scripting estaríamos escribiendo. ¿Es escalable? ¿Cómo está el mantenimiento? ¿Es algo que pueda encajar en el ecosistema existente del equipo? ¿Cuál sería la curva de aprendizaje para quienes mantendrían las pruebas automatizadas? ¿Qué pasa con la infraestructura del equipo de desarrollo existente, se integra con eso? Y qué vamos a hacer con los informes. Tuvimos que considerar la familiaridad del equipo con las herramientas existentes dentro de la empresa y quién mantendría la prueba, tanto a corto como a largo plazo.

Después de considerar muchos factores, decidimos usar Parasoft SOAtest para pruebas de automatización web y Parasoft DTP para fines de presentación de informes. Abordó la mayoría de nuestras preguntas, fue fácil de usar y no requirió ningún conocimiento previo de ningún lenguaje de programación. Cada empresa, cada equipo e incluso cada individuo tendrá un conjunto diferente de preguntas para responder antes de seguir adelante, pero el punto principal es tratar de obtener la mayor cantidad de preguntas respondidas por adelantado en lugar de más tarde para reducir los cuellos de botella que puede encontrar. adelante.

Definir el alcance / cobertura de las pruebas

A continuación: ¿cuál debe definir como alcance de las pruebas para automatizar? No seas esa persona que intenta automatizar todo. Estas son pruebas funcionales web, por lo que debe concentrarse en las áreas de alto tráfico o en la parte más utilizada de la interfaz web de la aplicación para aprovechar al máximo sus pruebas automatizadas.

Para mí, dado que la aplicación bajo prueba (AUT) era nueva para mí, tuve que trabajar tanto con los desarrolladores como con el control de calidad existente para comprender los casos de prueba actuales y el procedimiento de prueba de humo manual. Sus casos de prueba manuales existentes estaban en un nivel superior (para pruebas exploratorias), por lo que el ingeniero de control de calidad no podía simplemente señalarme los casos de prueba existentes para la automatización. Fue una colaboración constante en cada sprint, e incluso a veces en nuestro stand-up diario para asegurarnos de que tuviéramos la cobertura que queríamos automatizar. Una vez que se definió el alcance, priorizamos las áreas de cobertura para que yo supiera exactamente en qué trabajar primero. Esta es una buena regla general: incluso si conoce la aplicación, siempre debe trabajar en colaboración con el equipo existente al definir el alcance.

Cree y mantenga pruebas de automatización y continúe la colaboración con los miembros del equipo

Con la infraestructura configurada y el alcance y las prioridades definidas, finalmente puedo comenzar a crear las pruebas automatizadas. ¡Finalmente! Puedo escribir mi primer conjunto de pruebas automatizadas.

Para este proyecto, primero utilicé la función de reproducción del navegador para comprender bien Parasoft SOAtest y luego migré fácilmente para crear mis propias pruebas y / o editar las pruebas de reproducción del navegador existentes. No me avergüenza decir que mis primeras pruebas no se implementaron de manera ideal. Pero así es como todos aprendemos, ¿verdad? Por prueba y error.

Mis pruebas iniciales dependían mucho del entorno, donde solo se podía ejecutar en una secuencia específica. No hubo montaje ni desmontaje como parte de mi prueba. Obviamente, esto hizo que fuera más difícil de mantener y solucionar problemas para otros miembros del equipo. Comenzamos a usar las capacidades integradas de la herramienta para configurar / desmontar la prueba, reutilizar la prueba existente (prueba compartida como subconjunto de otra prueba) y parametrizarlas para que pueda ser portátil en diferentes entornos. Fue fácil integrar la prueba de API REST dentro de nuestra prueba funcional web de automatización, lo que hizo que nuestra vida fuera mucho más fácil de completar cualquier dato de requisito previo. Se ejecutó un conjunto único de pruebas en diferentes navegadores sin problemas. De vez en cuando, nos encontramos con un problema específico del navegador, por ejemplo, no podemos realizar la acción de clic donde el elemento no es visible. Pero la poderosa función incorporada de la herramienta para diferentes condiciones de espera, la capacidad de ejecutar JavaScript arbitrario, la documentación rica y el foro de usuarios activos, nos salvó.

Publicar resultados

El último objetivo que había identificado era el aspecto de informes de los resultados de la prueba. Y aquí, todo se trata de visibilidad. Esta no era una fórmula secreta que concatené y quería guardar para mí. Al contrario, quería que todos estuvieran al tanto de los resultados para que todo el equipo se encargara de mantener las pruebas.

Configuré los resultados de la prueba para que se informaran en el Plataforma de informes Parasoft DTP. Pude crear fácilmente un panel de control con varios dispositivos para mostrar los resultados de la prueba, donde podría mostrarse en la gran pantalla de televisión dentro de nuestro departamento de desarrollo. De esta manera no se podía esconder de la verdad.

La única forma en que nos beneficiaríamos de esto en el futuro era si mantuviéramos los resultados de la prueba en un 100% de aprobación. De lo contrario, sería solo ruido que a nadie le importa. Incluso antes de comenzar, había establecido con el desarrollo que este sería un objetivo de equipo para mantenerlo, no un trabajo de una sola persona. Todos estuvieron de acuerdo, y ahora, cuando entro a la oficina todas las mañanas, puedo fácilmente mirar hacia arriba y ver dónde estamos con los resultados de la prueba de la carrera anterior. Es música para mis ojos.

Reflexiones finales

Completar todo nunca tuvo la intención de ser un trabajo de una sola persona, ni tampoco quería intentar completar esto por mi cuenta. Se necesitó mucha colaboración y apoyo del equipo, incluida la dirección. Una cosa que aprendí es que debes estar al tanto de las pruebas. Mantenerlo mantenido y pasando al 100%. Recuerde, sus pruebas automatizadas son como un organismo vivo: hay que cuidarlo a diario y no dude en optimizar su prueba.

Investigue primero antes de sumergirse en el proyecto y podrá abordar algunos de los cuellos de botella con anticipación. En general, esta fue una gran experiencia de aprendizaje para mí y espero ser arrojado a la hoguera de otro equipo, para enjuagar y repetir los mismos procedimientos que acabo de terminar de lograr.

Comience a utilizar tecnologías de prueba de software de próxima generación en su organización

Escrito por

Daniel Garay

Daniel es el Director de Garantía de Calidad de Parasoft. Él cree en tener implementadas tanto pruebas manuales como automatizadas como parte del proceso de aseguramiento de la calidad del software de prueba.

Reciba las últimas noticias y recursos sobre pruebas de software en su bandeja de entrada.

Prueba Parasoft