Header Ads Widget

Ticker

6/recent/ticker-posts

Cómo escribir pruebas de API (en 7 sencillos pasos)



A medida que las API y los microservicios se vuelven más frecuentes en las aplicaciones modernas y los procesos de desarrollo, probar y monitorear estas API se vuelve cada vez más crítico para garantizar la funcionalidad y el rendimiento de estas aplicaciones.

En este artículo, cubriremos los siete pasos básicos para escribir pruebas de API. Estos pueden resultar útiles para los ingenieros que buscan introducir pruebas de API en sus aplicaciones y para los equipos que buscan formalizar los procesos de prueba de API como parte de su ciclo de vida de desarrollo de software.

Cómo escribir pruebas de API

  1. Comprender el alcance de la API
  2. Comprender los flujos de usuarios
  3. Escribir pruebas de API
  4. Escriba pruebas negativas y pruebas de casos de borde
  5. Ejecute pruebas en entornos de desarrollo y escenario
  6. Conecte las pruebas a la canalización de CI / CD
  7. Ejecute pruebas para supervisar entornos de producción

1. Comprender el alcance de la API

Antes de intentar probar una API, es fundamental comprender qué hace la API y cuáles son sus responsabilidades. Este paso debería comenzar con obtener acceso a la documentación de la API. Debe realizar manualmente algunas llamadas a los puntos finales de la API para obtener una comprensión sólida de cómo funcionan y qué datos devuelven.

En esencia, debería tener respuestas a algunas de las siguientes preguntas:

  1. ¿Cuál es el propósito de esta API?
  2. ¿Qué tipo de datos maneja esta API y para qué se utilizan los modelos de datos?
  3. ¿Cuáles son los puntos de entrada a esta API (puntos finales / consultas / tareas que acepta)? Cual es su estructura?
💡 SUGERENCIA : Este paso también ayuda a descubrir inexactitudes y aspectos poco claros de la documentación de la API, ya que a veces se lee por primera vez. Esta podría ser una gran oportunidad para perfeccionar los documentos de la API.

2. Comprender los flujos de usuarios

En este paso, debe aventurarse más allá de la API individual y observar las aplicaciones que la consumen. Intente comprender cómo los usuarios usan estas aplicaciones y qué llamadas a la API se activan con su uso.

Esto lo ayudará a comprender los escenarios de la vida real en los que se utilizan las API y le permitirá desarrollar pruebas que prueben y validen la API en la forma en que se usa en la vida real.

Por ejemplo, si se llama a la API directamente desde una aplicación web, puede utilizar las herramientas de desarrollo del navegador para registrar todas las solicitudes realizadas a una API e inspeccionar las cargas útiles de solicitud y respuesta. Esto puede ayudar a desarrollar una comprensión de cómo se consume la API.

3. Escribir pruebas de API

Armado con una comprensión de la API y sus casos de uso, debe estar listo para comenzar a crear pruebas de API. Nos gusta pensar en esto como un proceso de adentro hacia afuera: comience probando puntos finales individuales para su comportamiento esperado (por ejemplo, GET /product/214debería devolver JSON describiendo el producto ID 214). Luego, expanda para crear pruebas más complejas que encadenen múltiples solicitudes y validen el flujo funcional (cree un producto, consígalo, modifique el producto, consígalo nuevamente y asegúrese de que las modificaciones se guardaron).

Idealmente, las pruebas útiles escritas en este paso deberían tener varios rasgos:

  1. Atómico : cada prueba debe ser autónoma y no debe depender de que otras pruebas se ejecuten antes / después o que existan otros datos.
  2. Portátil : todos los datos, configuraciones y especialmente las URL deben pasarse como parámetros para garantizar la portabilidad entre entornos.
  3. Repetible : debería poder volver a ejecutar las pruebas con frecuencia sin ningún proceso entre ejecuciones (como la limpieza manual de datos).

4. Escriba pruebas negativas y pruebas de casos de borde

El paso anterior se centró en el comportamiento esperado de la API y la validación funcionó como se esperaba con un uso "normal". Sin embargo, en este paso, intentamos probar que la API se comporta correctamente en casos extremos y casos negativos. Por ejemplo:

  1. ¿Intentar que una entidad inexistente devuelva el código de error correcto (respuesta 404)?
  2. ¿La API falla si se le proporciona un argumento del tipo de datos incorrecto (respuesta 400)?
  3. ¿Qué sucede si intentamos acceder a una entidad para la que no tenemos permisos (respuesta 401)?

Un truco para este paso es mirar la lista de códigos de error HTTP (especialmente el rango 4xx - errores de usuario) e intentar crear escenarios para producir cada uno de estos códigos.

💡 SUGERENCIA : Los desarrolladores que utilizan una API esperan que se devuelvan los errores correctos. Es fundamental asegurarse de que la API se comporte bien cuando experimente errores.

5. Ejecutar pruebas en entornos de desarrollo y escenario

Una vez que sus pruebas estén escritas, debería poder comenzar a utilizarlas en sus entornos de no producción y verlas pasar. Idealmente, si escribió sus pruebas correctamente, debería poder ejecutar sus pruebas en diferentes entornos pasándoles diferentes variables. Esto puede ayudarlo a comenzar a validar las versiones de desarrollo de su API.

6. Conecte las pruebas a la canalización de CI / CD

Una vez que pueda ver todas sus pruebas ejecutándose en entornos de desarrollo / etapa, puede conectarlas a su canalización de CI / CD para comenzar a automatizar el proceso de prueba cuando inserta un nuevo código. Esto se puede hacer a través de su herramienta de administración de código fuente, como GitHub o GitLab, o una herramienta de compilación como Jenkins o CircleCI. Esto ayuda a que las pruebas se sigan ejecutando y lo “obliga” a mantener las pruebas actualizadas, ya que no podría enviar código con pruebas fallidas.

7. Ejecute pruebas para monitorear entornos de producción

Uno de los beneficios de las pruebas de API es que puede ejecutarlas fácilmente en varios entornos. Específicamente, puede ejecutar sus pruebas periódicamente en su entorno de producción para asegurarse de que funcione como se espera. Esto también puede ayudarlo a recopilar datos de rendimiento sobre su API para ver degradaciones o cambios en el rendimiento en tiempo real.

Publicar un comentario

0 Comentarios