Siga el camino de la pirámide de pruebas para lograr pruebas continuas

por Mark Lambert

11 de septiembre de 2019

4  min leer

A medida que el desarrollo de software se vuelve más complejo con cosas como microservicios, contenedores y API, y aumenta la demanda de lanzamientos más rápidos, las pruebas habituales pueden verse como un paso torpe y fuera de lugar en el proceso de entrega. En esta publicación, aprenda cómo darle la vuelta.

Lograr pruebas continuas no es como seguir el camino de los ladrillos amarillos ... ¿o sí? Aunque suene simple, existen varias pruebas, trampas y trucos para llegar a donde necesita ir. Las organizaciones que han adoptado metodologías de desarrollo ágil y DevOps saben que es difícil que las pruebas sigan el ritmo de estas prácticas de desarrollo modernas. Las herramientas que no permiten cosas como la automatización de pruebas y las pruebas continuas están obstaculizando sus esfuerzos.

Pero al igual que Ágil y DevOps, con Pruebas Continuas no existe una respuesta correcta para hacer las cosas, y eso puede dificultar que las organizaciones entiendan claramente por dónde empezar. Hacer cierto nivel de automatización de pruebas desde una perspectiva funcional es fundamental para las pruebas continuas. La virtualización de servicios es una tecnología habilitadora clave para las pruebas continuas; sin embargo, para que pueda aprovechar la virtualización de servicios y convertirse realmente en un verdadero practicante de pruebas continuas, debe tener algún nivel de automatización de pruebas para comenzar.

Muchas organizaciones comenzarán simplemente automatizando las pruebas de interfaz de usuario, pero para permitir las pruebas continuas, las organizaciones deben centrarse en crear una práctica de automatización de pruebas escalable que siga la pirámide de pruebas, tal como la define Mike Cohn (en su libro, Triunfar con Agile) y líder de pensamiento ágil Martín Cazador. En la base de la pirámide hay una base de pruebas unitarias, que están aisladas y son más rápidas de ejecutar. A medida que asciende por la pirámide, los activos que está probando están más integrados y tardan más en funcionar. La mitad de la pirámide es donde realiza la integración de servicios, o pruebas de API, que es el punto óptimo para la automatización de pruebas funcionales, y luego las pruebas de interfaz de usuario de extremo a extremo son la pieza más pequeña, que corona la pirámide.

Optimice para que las pruebas de API lleguen a la primera fase de pruebas continuas

Si desea lograr pruebas continuas, una base de pruebas unitarias es un hecho, y las pruebas de API se convierten en la capa crítica para validar sus casos de uso. También querrá optimizar el uso de las pruebas de interfaz de usuario de un extremo a otro en la parte superior de la pirámide. No debe eliminar las pruebas de IU, pero desea que sean lo más eficientes y enfocadas posible, porque tiene que preocuparse por mantener esas pruebas, lo que puede requerir bastante tiempo.

Una vez hecho esto, las organizaciones llegan a la primera fase de valor de las pruebas continuas (identificación de regresiones en una etapa anterior) y la mejor manera de encontrar esas regresiones es a nivel de API, porque son más rápidas de ejecutar, más fáciles de diagnosticar y más fácil de reproducir que sus primos de nivel de interfaz de usuario.

Desbloqueando la segunda fase de valor de las pruebas continuas

Una vez que haya ejecutado sus pruebas unitarias y funcionales, y esté utilizando la virtualización de servicios para ejecutar sus pruebas de regresión de forma más continua, puede echar un vistazo a sus requisitos comerciales no funcionales, por ejemplo, rendimiento y seguridad.

En el caso del rendimiento, por ejemplo, es muy fácil para los equipos de desarrollo introducir problemas de rendimiento incrementales en la aplicación sin siquiera darse cuenta, y es fundamental detectar estos problemas en las primeras etapas del proceso de desarrollo para garantizar que las características de rendimiento general de la aplicación no lo sean. saliendo de su acuerdo de nivel de servicio definido (SLA).

Aquí es donde puede aprovechar su práctica de prueba continua para cambiar a la izquierda las pruebas de rendimiento. Empiece por aplicar la virtualización de servicios para aislar su parte del sistema y eliminar los cuellos de botella de rendimiento en la infraestructura de prueba. Luego, tome su sólido conjunto de pruebas de API y reutilícelas para generar carga en su parte del sistema general. Finalmente, integre la ejecución de las pruebas de rendimiento en su canal de CI y ejecute estas pruebas continuamente. Aquí es cuando realmente comienza a obtener su segunda fase de valor de las pruebas continuas.

Tecnologías de Parasoft que hacen realidad las pruebas continuas

En Parasoft, nuestras herramientas abarcan la unidad, funcional, UI y pruebas de regresión, con el fin de ayudar a nuestros clientes a ofrecer software de alta calidad que también satisfaga los deseos y necesidades del usuario final. Estamos trabajando en todo, desde pruebas unitarias y funcionales de la API y la interfaz de usuario, la gestión de datos de prueba, el cumplimiento de la seguridad y la protección, la gestión de cambios y más.

Siguiendo la pirámide de prueba, puede comenzar en la base y obtener Parasoft C / C ++testParasoft dotTESTPrueba J de Parasoft herramientas de prueba de desarrollo, que cubren aspectos tales como análisis estático para descubrir confiabilidad y seguridad profundas (con soporte para los estándares OWASP, CWE y CERT), pruebas unitarias, cobertura y trazabilidad.

A medida que asciende por la pirámide, puede aprovechar Prueba SOA de Parasoft, nuestra solución de pruebas funcionales que se enfoca en validar aplicaciones a nivel de API. Para ayudar a las organizaciones a pasar de pruebas manuales a pruebas API automatizadas, puede utilizar el Generador de pruebas Smart API de SOAtest, que aprovecha IA y aprendizaje automático para crear escenarios de prueba de las relaciones de datos extraídas del tráfico de aplicaciones registrado.

Para cumplir realmente la promesa de las pruebas continuas, puede aprovechar la virtualización de servicios con Virtualización de Parasoft, que permite a las organizaciones desacoplar la automatización de pruebas de las restricciones dentro del entorno de prueba. Esto permite realizar pruebas verdaderamente continuas, lo que hace posible que las pruebas automatizadas se ejecuten de forma continua a lo largo de la canalización de CI.

Automatice las tareas de prueba que requieren mucho tiempo para desarrolladores y evaluadores

por Mark Lambert

Mark, vicepresidente de productos de Parasoft, es responsable de garantizar que las soluciones de Parasoft brinden un valor real a las organizaciones que las adoptan. Mark ha estado con Parasoft desde 2004, trabajando con una amplia variedad de clientes de Global 2000, desde implementaciones de tecnología específicas hasta iniciativas de mejora de procesos SDLC más amplias.

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