cuerdas cuerdas cuerdas cuerdas
Integraciones de API | Gestión de API

Superación de desafíos comunes en las pruebas de API

Desafíos de las pruebas de API

Por Manoj Chaudhary, CTO y SVP de Ingeniería


Para verificar la funcionalidad, confiabilidad y seguridad de sus interfaces de programación de aplicaciones (API), los equipos de TI realizan una variedad de pruebas diferentes, que incluyen evaluaciones funcionales, de gobierno, caos, penetración, rendimiento, estrés y longevidad. A continuación, describimos los desafíos comunes que enfrentan los equipos al realizar estas pruebas y ofrecemos nuestras recomendaciones para abordarlos.

Desafío: superar la configuración inicial

Crear, desarrollar y poner en marcha una infraestructura de prueba puede ser una tarea que requiere mucho tiempo y puede ser difícil motivar a su equipo durante todo el proceso.

nuestra recomendación

Explicar cómo el proceso de prueba vale la pena a largo plazo puede ser clave para motivar a un equipo de prueba. También es importante tener en cuenta cuán crítica es esta fase en las pruebas de API en general. Al realizar la configuración inicial, piense detenidamente cómo probará la API y qué requieren esas pruebas en el diseño de su infraestructura.

Desafío: generar y administrar grandes volúmenes de datos de prueba

Las API con muchos parámetros requieren una cantidad significativa de datos (y, en algunos casos, datos con alta cardinalidad) para realizar pruebas eficaces. Crear, mantener y garantizar que estos datos sean reutilizables puede representar un desafío para los evaluadores.

nuestra recomendación

La clave para generar y configurar datos de prueba es comprender las estructuras de solicitud y respuesta y las llamadas API asociadas. Utilice herramientas de gestión de datos que le permitan comprender estas conexiones, luego enmascare, genere y cree subconjuntos de nuevos datos que se ajusten a sus necesidades de prueba.

Desafío: comprender claramente los objetivos de las pruebas de gobernanza

Críticas para las API creadas para aplicaciones en la nube de múltiples inquilinos, las pruebas de gobernanza se realizan para ayudar a proteger la infraestructura del uso excesivo, los vecinos ruidosos y los ataques. Las API suelen tener reglas de gobierno para su uso (p. ej., políticas de almacenamiento, límites de velocidad y tamaño de la carga útil), pero la falta de conocimiento y comprensión relacionados con la lógica de la arquitectura de la API y estas reglas a menudo genera incertidumbre sobre los objetivos de las pruebas.

nuestra recomendación

Crear reglas de gobierno bien definidas y bien escritas; cree utilidades para que su equipo las modifique según sea necesario para que las pruebas sean más fáciles y eficientes.

Desafío: realizar pruebas de caos de manera efectiva

En 2010, los equipos de desarrollo y operaciones de Netflix crearon esta forma de prueba cuando comenzaron a trasladar la infraestructura tradicional a la infraestructura en la nube de Amazon Web Services (AWS). Pruebas de caos, o ingeniería del caos, es un enfoque altamente disciplinado que prueba la integridad del sistema al simular e identificar de manera proactiva las fallas antes de que provoquen un tiempo de inactividad no planificado o una experiencia de usuario deficiente. El proceso implica:

  • Probar que un sistema funciona en un estado estable definido. Primero, los probadores deben identificar una salida del sistema medible que indique un comportamiento de trabajo normal. Crear la infraestructura y las herramientas para definir y medir un estado estable puede ser complejo, según la arquitectura y el alcance de las aplicaciones involucradas.
  • Pruebas para determinar que el estado estacionario de un sistema se mantendrá. Después de establecer un estado estable, los evaluadores determinan si continuará en condiciones de control, experimentales y del mundo real.
  • Pruebas para un impacto mínimo en los usuarios. Los evaluadores interrumpen o interrumpen el servicio para determinar el impacto negativo para los usuarios.
  • Introduciendo el caos. Después de establecer que un sistema funciona en un estado estable definido, que el estado estable se mantiene y que el "radio de explosión" está contenido, los probadores ejecutan sus aplicaciones de prueba de caos para ver cómo se comporta el sistema bajo condiciones o circunstancias de estrés particulares. (por ejemplo, fallas del servidor, hardware que no funciona correctamente o conexiones de red cortadas).

nuestra recomendación

Cree ganchos en su aplicación e infraestructura que le permitan a su equipo de pruebas crear caos y obtener fácilmente métricas relevantes para el radio de explosión.

Desafío: Involucrar al equipo adecuado para las pruebas de penetración

En las pruebas de penetración, un evaluador con un conocimiento práctico limitado de la API específica la atacará para evaluar el vector de amenazas desde una perspectiva externa. Los ataques pueden tener como objetivo toda la API o ciertas funciones y procesos.

nuestra recomendación

Un equipo interno puede realizar la prueba de penetración inicial, pero un probador de penetración externo debe realizar la prueba de penetración profunda de seguimiento.

¿Tiene preguntas? Estamos aquí para ayudar.

Contáctenos