Las técnicas de pruebas automatizadas para APIs REST suelen seguir un enfoque de caja negra, donde los casos de prueba se derivan de la especificación de la API. Estas técnicas muestran resultados prometedores, pero ignoran las restricciones entre los parámetros de entrada de la API (llamadas dependencias inter-parámetro), ya que estas no pueden describirse formalmente en los lenguajes de especificación actuales. Como resultado, las herramientas de caja negra recurren a la fuerza bruta para la generación de casos de prueba válidos, es decir, aquellos que satisfacen todas las dependencias inter-parámetro. Esto no es solo extremadamente ineficiente, sino que además es improbable que funcione con muchos servicios del mundo real, donde las dependencias inter-parámetro son complejas y abundantes. En este artículo, presentamos RESTest, un framework de pruebas automatizadas de caja negra para APIs REST. Entre sus principales características, RESTest soporta la especificación y el análisis automático de las dependencias inter-parámetro de la API, lo que permite utilizar resolutores de restricciones para la generación automática de casos de prueba válidos. Esto permite detectar más errores, y más rápido, mediante una evaluación más exhaustiva de las combinaciones válidas e inválidas de los parámetros de la API, y el uso de oráculos de prueba antes no disponibles. Los resultados de nuestra evaluación en 6 APIs comerciales muestran que RESTest puede generar de manera eficiente hasta un 99+ACU más de casos de prueba válidos en comparación con técnicas de pruebas aleatorias, un 60+ACU de media. Lo que es más importante, RESTest revel+APM más de 2.000 fallos no detectados por pruebas aleatorias, encontrando errores en todos los servicios probados.
© 2008-2024 Fundación Dialnet · Todos los derechos reservados