Sea un probador de software más inteligente con estas 5 deliciosas combinaciones de tecnología
Por Chris Colosimo
18 de octubre de 2017
5 min leer
Hay algo mágico en un sándwich de mantequilla de maní y mermelada. El sabor terroso de la mantequilla de maní mezclado con el sabor de la jalea crea un sabor completamente nuevo que no existe en ningún otro lugar excepto en la combinación mágica de esos dos ingredientes. Para mí, una mantequilla de maní y mermelada es el ejemplo perfecto de la idea de que un todo es mayor que la suma de sus partes. Exactamente lo mismo se puede lograr en el mundo de las pruebas de software, y en grandes implementaciones de software para Parasoft, básicamente solo he estado haciendo un montón de sándwiches de mantequilla de maní y mermelada. Así que pensé en revisar algunas de estas combinaciones que he creado en Parasoft, describir cómo combinarlas e ilustrar lo que se puede lograr.
Entornos de prueba dinámicos de Parasoft SOAtest y Parasoft Virtualize
En el mundo de los sándwiches de mantequilla de maní con herramientas de prueba, este es el número uno. Puede que esté sesgado aquí como gerente de producto de herramientas de prueba funcional, pero en mi humilde opinión, no hay mejor combinación de tecnologías de Parasoft que el matrimonio de las capacidades de prueba de API de SOAtest y las capacidades de virtualización de servicios de Virtualize.
Entornos de prueba dinámicos
El valor agregado más obvio que puede obtener al combinar estas dos tecnologías es la capacidad de crear entornos de prueba dinámicos. Por lo general, esta es una función que tiende a quedar relegada a la virtualización de servicios, pero una pieza que a menudo se pasa por alto es la capacidad de ejecutar casos de prueba en el contexto de un entorno. Al combinar SOAtest y Virtualize, un usuario puede crear una plantilla reutilizable que se puede implementar como una función de integración continua. Esta plantilla de entorno será una combinación de servicios virtuales y casos de prueba.
Básicamente, esto logra una especie de efecto sándwich en su aplicación, que es poderoso porque puede alinear los casos de prueba y sus validaciones con los servicios virtuales backend. Esto le permite lograr una CI real porque sabe que cuando vaya a ejecutar sus casos de prueba, se vincularán con los servicios virtuales correspondientes y su entorno de prueba podrá aprovisionarse por sí mismo. A medida que los casos de prueba de SOAtest se preparan para su ejecución, el primer paso en el caso de prueba es llamar a Virtualize y configurar los servicios virtuales y los datos adecuados en su lugar. El último paso de la prueba es llamar a Virtualize y derribar el entorno. ¡Viola! Sándwich de medio ambiente.
Validación de middleware con Parasoft Virtualize y Parasoft SOAtest
Anteriormente, usamos SOAtest en el contexto de un entorno virtual proporcionado por Virtualize. Al cambiar esta relación al revés, podemos usar Virtualize para admitir SOAtest durante la ejecución de la prueba.
Validación de middleware
Los servicios virtuales pueden escuchar en los puntos finales. No tienen que responder cuando se les llama, en realidad pueden enviar la llamada. Algo que puede hacer con la virtualización de servicios es crear un servicio virtual para sentarse en una aplicación de middleware y simplemente monitorear. Luego, cuando un componente de middleware llama a otro componente de middleware, tiene un "punto de intercepción". En este punto, puede llamar a un servicio virtual que simplemente informa que el mensaje lo envía en su camino. Pero, ¿qué podemos hacer con ese mensaje?
Aquí es donde la combinación de SOAtest y Virtualize se vuelve poderosa. Virtualize puede informar esos mensajes a SOAtest con fines de validación. Entonces, SOAtest puede ejecutar llamadas contra el front-end, mientras Virtualize "escucha" en el medio. Y a medida que se ejecutan los casos de prueba, Virtualize puede informar de los mensajes de transformación a SOAtest. Los eventos se informan en medio de la ejecución del caso de prueba y los datos de la solicitud se pueden vincular al evento que regresa de Virtualize en forma de validación, creando así una verdadera prueba dinámica de extremo a extremo.
Pruebas de rendimiento con Parasoft SOAtest y Parasoft LoadTest
El trabajo que realiza dentro de SOAtest puede estar disponible de inmediato dentro de LoadTest, la solución de prueba de rendimiento de Parasoft que se encuentra dentro de SOAtest y le permite no solo ejecutar pruebas API a gran velocidad, sino también validar automáticamente las respuestas de acuerdo con sus SLA.
Prueba de rendimiento de Shift-Left
SOAtest ha existido durante mucho tiempo y los usuarios han estado trabajando dentro de la solución para crear poderosos escenarios de casos de prueba de un extremo a otro durante mucho tiempo. Pero lo que la mayoría de la gente quizás no sepa es que todos esos casos de prueba se pueden ejecutar dentro de LoadTest. Existe una funcionalidad rápida dentro de SOAtest que le permite configurar y validar todas sus pruebas de API para LoadTest. Esto significa que no tiene que crear pruebas de rendimiento, simplemente puede aprovechar el trabajo que está haciendo el equipo de pruebas y ejecutarlo a gran velocidad.
Esta es la automatización de pruebas de software en su máxima expresión. Al combinar estas dos tecnologías, puede crear de manera eficiente pruebas de rendimiento más significativas. SOAtest llama a las API y ejercita las interfaces web antes de la ejecución de la prueba de carga, lo que le proporciona una mayor sensación de comodidad de que su prueba de rendimiento se ejecutará sin problemas porque el entorno ha sido validado previamente. Esta combinación le permite ahorrar mucho tiempo en la creación de la prueba inicial, así como durante la ejecución de la prueba.
Entornos de prueba de rendimiento preconfigurados con Parasoft LoadTest y Parasoft Virtualize
Virtualize puede crear servicios virtuales con "perfiles de rendimiento". Estos perfiles de rendimiento ralentizan los tiempos de respuesta de los servicios virtuales a una línea de base predecible. Puede configurar estos retrasos de rendimiento manualmente o extraerlos de un motor de rendimiento de aplicaciones como AppDynamics o Dynatrace. Luego, estos servicios se pueden implementar en un entorno que está configurado para pruebas de rendimiento, lo que hace que la combinación de Virtualize y LoadTest sea muy poderosa.
Entornos de prueba de rendimiento preconfigurados
Virtualize prepara el escenario y proporciona una línea de base para el medio ambiente. LoadTest puede ejecutarse en este entorno para identificar quirúrgicamente problemas de rendimiento. Esto es excepcionalmente poderoso porque está creando un entorno personalizado para LoadTest. Como condición previa para ejecutar pruebas de rendimiento, LoadTest puede indicarle a Virtualize que cambie al modo de rendimiento, aplicando así las líneas de base de rendimiento a aplicaciones específicas que se han simulado.
LoadTest luego valida todo el entorno y podemos comprender el tiempo de demora que proviene de los servicios virtuales frente a nuestros servicios reales. Esta información es valiosa porque nos dice exactamente dónde están nuestros cuellos de botella de rendimiento, y al cambiar diferentes componentes entre real y virtual, y aplicar diferentes líneas de base de rendimiento, podemos identificar quirúrgicamente los problemas de rendimiento.
Comprensión de los requisitos y la trazabilidad con Parasoft SOAtest y Parasoft DTP
A medida que cruzamos el pasillo entre las pruebas funcionales de API y las pruebas de desarrollo, podemos aprovechar nuestra plataforma de informes y análisis, Parasoft DTP, para ampliar en gran medida nuestras tecnologías. Está diseñado para recibir todo tipo de información de las actividades de desarrollo y prueba, para proporcionar widgets e informes significativos que los usuarios pueden aprovechar para evaluar la preparación del lanzamiento.
Requisitos y trazabilidad
DTP puede conectarse a motores de requisitos como Jira, extraer información específica sobre conjuntos de requisitos y mostrar esa información dentro de DTP para una visibilidad clara. En el otro lado de la valla, SOAtest puede vincular casos de prueba específicos a sus requisitos asociados. Al combinar estas dos tecnologías juntas, puede potenciar el flujo de trabajo: DTP puede presentar los requisitos al usuario, brindando la capacidad de crear casos de prueba para ellos, y luego esos casos de prueba aparecerán en el servidor o escritorio SOAtest. Luego, el usuario puede crear, modificar o actualizar cualquiera de los casos de prueba para tener la funcionalidad que cubra sus requisitos específicos.
¡Y ahora comienza la verdadera magia! Dado que existe un vínculo con el requisito dentro del motor de informes y análisis, cada vez que ejecute ese caso de prueba, vinculará esos resultados con el requisito. Si desea profundizar en los detalles de esto, se trata en profundidad en un reciente post, pero el efecto neto es que podrá ver si todos los requisitos tienen casos de prueba asociados, así como también cómo se están desempeñando esos casos de prueba específicos. Esto realmente ayuda con la preparación de la versión porque sabrá si se ha probado algo y si alguna funcionalidad crítica para el negocio está fallando.
Conclusión
Así como los sándwiches de mantequilla de maní y mermelada combinan ingredientes para una delicia óptima, la combinación de tecnologías de prueba de software le brinda un marco poderoso para la automatización de pruebas de software de siguiente nivel que es más eficiente y, francamente, más divertido. Hay muchas más formas de combinar nuestras herramientas de prueba de software automatizadas, pero este es un buen lugar para comenzar. Al final del día, realmente se trata de asegurarse de haber probado minuciosamente su aplicación. Así que sal y prueba los bocadillos.