Automatizar pruebas funcionales con soapUI

SoapUI-rest-testingLa utilización cada vez más extendida de servicios en los sistemas de información nos recuerda la necesidad de disponer de herramientas capaces de probar todos los servicios de forma exhaustiva. Además, la naturaleza propia de reutilización de los servicios hace que un error en un servicio pueda afectar a varias aplicaciones o sistemas.  Esto obliga a reducir al máximo la tasa de errores buscando que la ejecución de las pruebas garantice una gran calidad de servicio.

En primer lugar es imprescindible definir un plan de pruebas funcionales con el mayor número posible de casos de prueba. Posteriormente se deben probar todos los casos de prueba mediante algún mecanismo o herramienta.

Pruebas de la implementación o de la ejecución

El servicio está escrito en un lenguaje de programación determinado. Por lo tanto, las pruebas de la implementación nos llevan a realizar pruebas del código implementado. Para entendernos, sería la ejecución de las JUnit para código Java. Con esto podemos verificar la calidad del código y detectar errores de programación. Pero un servicio normalmente va a estar desplegado en un servidor de aplicaciones y, por lo tanto, nos interesa en este caso probar la ejecución del servicio.

La herramienta soapUI nos permite definir estos casos de test para poder ejecutarlos de forma agrupada. Los casos de test pueden llevar consigo múltiples tipos de validaciones para garantizar el correcto funcionamiento del servicio.

Pruebas Funcionales en soapUI

Las pruebas funcionales en soapUI se crean a partir del WSDL del servicio (podéis encontrar más información en el post soapUI: Probar Web Services de forma rápida y efectiva). Una vez que se han creado todos los casos de prueba para todas las operaciones del servicio, podemos probar de forma muy sencilla todos los casos con un sólo click.

Test Suite sin ejecutar
Test Suite sin ejecutar

En la imagen anterior tenemos una test suite que realiza los casos de prueba de las tres operaciones que tiene este servicio concreto. La ejecución de la test suite lanza todos sus casos de prueba y muestra el resultado de cada uno de ellos.

Ejecución de Test Suite
Ejecución de Test Suite

Ejecución de Pruebas Funcionales de soapUI por línea de comandos

Además de poder ejecutar las test suites a través de soapUI, también se pueden lanzar a través de la línea de comandos. Esto facilita su integración con scripts de pruebas de cara a automatizar la validación del servicio.

Test Suite por linea de comandos
Test Suite por linea de comandos

Ejecución de Pruebas Funcionales de soapUI con Maven

Los test cases de soapUI también se pueden ejecutar a través de Maven. Esto abre muchas posibilidades de uso, aunque especialmente destacamos la de poder ser utilizado en herramientas de integración continua.

Integración con Maven
Integración con Maven

Si de inicio teníamos la necesidad de realizar pruebas exhaustivas de servicios, con soapUI cubrimos no sólo eso, sino la capacidad de automatizar las pruebas entre otras muchas funcionalidades. Además nos facilita la ejecución de los casos de prueba desde herramientas de integración continua como Jenkins, Hudson, Continuum, etc. La integración continua va a permitir a su vez que se puedan utilizar servicios en metodologías de desarrollo ágiles y programación extrema.

Evolución, innovación y transformación
37 especializaciones avaladas por Oracle
Oportunidades ilimitadas
El equipo marca la diferencia
Posts 100% Oracle
Sigue nuestro día a día