Tutorial de Pruebas de Carga con Postman



Muchos de los servicios web actuales incorporan APIs (interfaces de programación de aplicaciones), lo que permite el intercambio de diversa información entre sistemas. Las APIs sirven como una conexión robusta entre servicios esenciales y usuarios. Al igual que con cualquier componente crucial de un sistema, es imperativo evaluar las APIs. El uso de herramientas de prueba de API de terceros como Postman facilita tanto las pruebas manuales como automatizadas, incluyendo capacidades de monitoreo de APIs.

Postman es una herramienta ampliamente reconocida en el ámbito de herramientas de prueba para validar solicitudes de API. Aunque su adopción para pruebas generales de API es amplia, usar Postman para pruebas de carga no es tan sencillo.

En este tutorial de pruebas de carga con Postman, cubriremos qué es Postman, pruebas de carga con Postman y cómo realizar pruebas de carga usando Postman para que puedas comenzar a hacer pruebas de carga con Postman.

¿Qué es Postman?

Postman es una herramienta ampliamente utilizada que ayuda a los desarrolladores a probar, diseñar y gestionar APIs en un entorno colaborativo y fácil de usar. Con Postman, los desarrolladores pueden crear, enviar y probar solicitudes HTTP fácilmente, especialmente para APIs RESTful. Soporta varios métodos HTTP, tipos de autenticación y permite organizar y automatizar flujos de trabajo de prueba de API, lo que la convierte en una herramienta esencial en el proceso de desarrollo de APIs. Postman se usa comúnmente en ambientes impulsados por APIs donde los servicios están distribuidos a través de microservicios y plataformas en la nube. Actualmente, Postman también se utiliza ampliamente en ecosistemas modernos de API que incluyen microservicios, aplicaciones contenarizadas y arquitecturas nativas en la nube, haciendo que la validación de API sea una parte crítica del flujo de trabajo de desarrollo.

Postman es una herramienta de desarrollo API utilizada en el ciclo de vida del desarrollo de software:

  • Desarrollo API
  • Pruebas API
  • Documentación API

Pero Postman no es solo para desarrollo. También puede funcionar como un navegador para enviar solicitudes y recibir respuestas. Además, puedes agregar scripts para ejecutarlos antes de enviar solicitudes y después de recibir respuestas, lo que te da más control sobre tus interacciones con la API. Las solicitudes pueden guardarse en colecciones para permitirte ejecutarlas en un orden específico cuando sea necesario, haciendo tu flujo de trabajo más organizado.

En cuanto a las pruebas de API, Postman es una excelente herramienta para asegurar que todo funcione como se espera. Ayuda a verificar que tu API esté recuperando, guardando y actualizando datos correctamente, siendo una parte clave de las pruebas funcionales. Sin embargo, es importante recordar que Postman no está diseñado para pruebas de rendimiento. Aunque puede ejecutar pruebas pequeñas para verificar los tiempos de respuesta, no simula tráfico real o cargas pesadas. Por tanto, si necesitas ver cómo se comporta tu API bajo presión, necesitarás una herramienta dedicada de pruebas de carga.

Para pruebas de rendimiento más profundas, necesitarás una herramienta especializada de pruebas de carga como LoadView. Herramientas como LoadView pueden simular condiciones del mundo real que te ayudan a hacer pruebas de estrés a tus APIs y recopilar métricas completas para asegurar que puedan manejar alto tráfico y uso intenso. Esto es crucial para asegurarte de que tu API pueda desempeñarse bien bajo todas las circunstancias, no solo en entornos de prueba controlados.

Características de Postman

Postman ofrece a los usuarios una extensa gama de características, desde la API de Postman y los controles de flujo de trabajo hasta monitores integrados para pruebas de regresión, garantizando capacidades completas de pruebas API. A pesar de la multitud de características, hay algunas funcionalidades centrales esenciales para todo tester de API. Profundicemos en estas características clave.
 

  • Importar Solicitudes – Postman incluye una función de importación que permite a los usuarios pegar texto CURL en bruto, transformándolo en una solicitud formateada con detalles como URL de la solicitud, encabezados, cuerpo de la solicitud, parámetros de consulta y tokens de autorización.
  • Múltiples Protocolos y Soporte – La función del cliente API de Postman te permite enviar solicitudes REST, SOAP, WSDL y GraphQL.
  • Escribir Casos de Prueba – Puedes escribir casos de prueba para ejecutar APIs y ayudar en la validación de respuestas, incluyendo aserciones para respuestas JSON/XML y verificación de códigos de respuesta.
  • Colecciones – Postman ayuda en la creación de colecciones, permitiendo organizar APIs dentro de una estructura de carpetas para proyectos distintos. Ofrece la capacidad de ejecutar una colección, que posteriormente ejecuta todas las APIs incluidas en esa colección específica.
  • Validación de Esquema JSON – El esquema JSON (JavaScript Object Notation) puede utilizarse para definir la estructura de solicitudes y respuestas. Esto ayuda a organizar y estructurar el contenido JSON, mejorando su claridad y legibilidad dentro de Postman.
  • Uso de Variables de Entorno y Variables Dinámicas – En Postman, puedes crear variables, y estas variables pueden asignarse diferentes valores. Esto es útil cuando se trabaja con APIs idénticas en múltiples entornos reales.
  • Convertir API a Código – Postman permite convertir la solicitud API a código en todos los lenguajes prominentes como JavaScript, Golang, Java, PHP, Python y muchos más.

Beneficios de las Pruebas de Carga con Postman

  • Evaluación de Rendimiento: Las pruebas de carga ayudan a evaluar el rendimiento de tus APIs bajo varios niveles de actividad concurrente de usuarios. Permiten entender cómo tu sistema maneja cargas incrementadas y si cumple con las expectativas de rendimiento.
  • Pruebas de Escalabilidad: Las capacidades de pruebas de carga de Postman permiten probar la escalabilidad de tu API, ayudándote a determinar qué tan bien puede manejar cantidades crecientes de tráfico y datos.
  • Identificación de Cuellos de Botella: Las pruebas de carga ayudan a identificar posibles cuellos de botella o debilidades en la infraestructura de tu API. Esta información es crucial para optimizar y ajustar tu sistema para asegurar que pueda manejar cargas incrementadas eficientemente.
  • Pruebas de Estrés: Postman te permite simular condiciones estresantes generando cargas pesadas en tu API. Esto ayuda a entender los puntos de quiebre y limitaciones de tu sistema, permitiéndote hacer las mejoras necesarias.
  • Pruebas de Concurrencia: Las pruebas de carga en Postman te permiten probar qué tan bien tu API rinde cuando múltiples usuarios hacen solicitudes simultáneamente. Esto es importante para aplicaciones que se esperan manejen interacciones concurrentes de usuarios.
  • Rentabilidad: Al identificar y resolver problemas de rendimiento temprano en el ciclo de desarrollo, las pruebas de carga con Postman pueden contribuir a ahorrar costos al prevenir posibles caídas o arreglos costosos en producción.
  • Mejora de la Experiencia del Usuario: Asegurando que tu API pueda manejar cargas altas y funcionar bien bajo estrés, puedes proporcionar una experiencia más fluida y confiable a tus usuarios.

Limitaciones de las Pruebas de Carga con Postman

Aunque Postman es excelente para pruebas y desarrollo de APIs, tiene limitaciones cuando se trata de pruebas de carga. Una gran desventaja es su incapacidad para simular altos niveles de usuarios concurrentes o escenarios complejos de manera efectiva. El enfoque principal de Postman está en pruebas funcionales y validación más que en rendimiento bajo condiciones de estrés. Además, su interfaz gráfica y capacidades de scripting pueden no escalar bien para cargas masivas o análisis detallados de métricas de rendimiento en comparación con herramientas dedicadas de pruebas de carga como LoadView. Para necesidades completas de pruebas de carga, se recomienda usar herramientas especializadas diseñadas específicamente para pruebas de carga en lugar de confiar únicamente en Postman.

 

Pruebas de Carga con la Herramienta REST/RESTFUL de Postman

Al probar una aplicación backend, probar la funcionalidad es una parte estándar del proceso para asegurar que las cosas funcionen como se había planeado. Tus aplicaciones serán utilizadas por muchos, si no cientos o miles de usuarios al mismo tiempo, por lo que también necesitamos realizar pruebas de rendimiento para ver qué tan bien resisten ese tráfico. Necesitamos hacer benchmarks y validar la aplicación con cada cambio realizado.

En el caso de que estés utilizando Postman para probar la funcionalidad de tu API web y necesites generar pruebas de carga desde las colecciones de llamadas API, puedes optar por usar una herramienta de prueba de carga como LoadView. LoadView ofrece pruebas de carga basadas en navegadores reales para APIs, así como aplicaciones web (externas e internas) y sitios web y servidores.

Configuración de la Prueba de Carga en Postman

Vamos a revisar paso a paso cómo configurar una prueba de carga para una aplicación web a partir de una colección de Postman.

Paso 1

Antes de comenzar, necesitas exportar la colección de Postman. Puedes elegir la opción para obtener el enlace público y fácilmente importarlo a LoadView.

  • Nota: Asegúrate que la colección de Postman use solo variables locales, ya que las variables de entorno no se almacenan en la colección.
Postman Collection Export

Paso 2

Abre la plataforma LoadView y selecciona Crear nueva prueba de carga.

 

Paso 3

Aquí verás los distintos tipos de pruebas de carga disponibles en LoadView.

Aplicaciones web, sitios web y APIs. Para nuestro caso de uso, selecciona la opción Colección de Postman para empezar las pruebas API.

Load testing type Postman

Paso 4

Se abrirá una nueva ventana, y aquí deberás importar la colección exportada de Postman y hacer clic en Crear dispositivo.

Postman Collection Request

Paso 5

Una vez creado correctamente el dispositivo, verás la pantalla Escenario de prueba, donde puedes configurar el Tipo de carga. Esto varía según el objetivo de tu prueba.

  • Curva basada en carga. Ejecuta tus pruebas de carga con un número conocido de usuarios y aumenta el tráfico después de un tiempo de calentamiento establecido.
  • Curva basada en objetivo. Esta configuración de prueba se emplea cuando se busca alcanzar una cantidad deseada de transacciones por segundo para nuestra API específica y cuando se escala hasta el número objetivo de usuarios concurrentes.
  • Curva dinámica. Esta configuración te permite seleccionar valores dinámicos para el número de usuarios, usuarios máximos y duración de la prueba. Estas configuraciones pueden ajustarse en tiempo real durante la prueba.
Postman Collection Load Types

Paso 6

Una vez creado el escenario de prueba con la lista completa de tus APIs, ahora puedes ejecutar tus pruebas de carga y estrés para tus APIs.

Después de ejecutar la prueba de carga, se te proporcionarán informes completos, paneles y métricas que muestran cómo rindió tu API y sistemas bajo diferentes cargas. Muchos equipos también correlacionan estos resultados de pruebas de carga con plataformas de observabilidad para monitorear métricas de infraestructura, rendimiento de bases de datos y dependencias de servicios durante altos volúmenes de tráfico en la API.

Integración de Prueba de Carga de Colección Postman con Jenkins

Después de explorar la integración y ejecución de pruebas de carga de colecciones Postman con LoadView, podemos incorporar estas pruebas en nuestra pipeline CI/CD para recibir feedback y resultados de rendimiento consistentes.

LoadView ofrece una integración fluida con Jenkins, facilitando las pruebas de estrés de sitios web, aplicaciones web y APIs usando conexiones concurrentes en navegadores reales desde un entorno en la nube completamente gestionado. El plugin de LoadView para Jenkins permite realizar pruebas de carga de cualquier nueva actualización o funcionalidad adicional.

Analicemos los pasos usados para el escenario de prueba de colección Postman previamente creado en LoadView y cómo se integra con Jenkins.

Paso 1

Para integrar tus pruebas con Jenkins, usarás el mismo escenario de prueba de Postman de la sección anterior.

Paso 2

Crea un UID único y copia el Integration UID. Esto se usará como un token de seguridad para integrar en Jenkins.

Postman Jenkins Integration UID

Paso 3

El ID del escenario de prueba para nuestra colección Postman se puede encontrar en la página de configuración del escenario o en la página de Historial de Pruebas (Test Manager > menú de acciones de prueba > Historial).

Postman Collection Test History

Plugin de LoadView en Jenkins

Para configurar el plugin LoadView, sigue estos pasos:

  1. Inicia sesión en tu cuenta de Jenkins.
  2. En Jenkins, ve a Credenciales > Agregar credenciales > Token de seguridad LoadView (UID). Configura y valida las credenciales.
    • Tipo – Token de seguridad LoadView (UID).
    • Alcance – Selecciona Global.
    • ID – Deja el valor por defecto o especifica un ID único.
    • Descripción – Especifica una descripción única para distinguir las credenciales.
    • UID – Pega el UID de la web API de pruebas de carga de tu cuenta LoadView. Una vez agregado el UID, haz clic en Validar UID para asegurarte que Jenkins pueda acceder al API LoadView.
  3. A continuación, selecciona un trabajo y haz clic en Configurar.
Jenkins LoadView Security Token

4. Ve a Construcción > Acciones posteriores a la construcción > Agregar acción posterior a la construcción > LoadView-Ejecutar escenario de prueba de carga. Especifica los ajustes de la prueba de estrés LoadView para la construcción:

  • Credenciales – Selecciona la clave API usando la descripción.
  • ID del Escenario – Pega el ID del escenario de prueba que deseas usar en la construcción. Copia el ID desde la página del escenario en LoadView.
  • Umbral de Errores – Especifica un porcentaje aceptable de sesiones con errores ocurridos durante la prueba (fallo al acceder al recurso objetivo, palabras clave o imágenes no encontradas, etc.). Si el porcentaje de sesiones con errores supera el valor especificado, la construcción se marcará como fallida en Jenkins.
  • Tiempo Promedio – Especifica un límite para el tiempo de respuesta promedio medido durante la ejecución de la prueba. Si se alcanza el límite, la construcción se marcará como fallida en Jenkins.

5. Haz clic en Guardar.

Ver Resultados de la Prueba LoadView

Finalmente, hemos integrado exitosamente nuestra colección Postman con Jenkins usando LoadView. Mientras nuestra prueba de estrés está en ejecución, el estado se muestra en la Salida de consola de Jenkins en modo tiempo real.

Postman Jenkins Console Output
Postman Jenkins LoadView Test Performance Results

Conclusiones: Pruebas de Carga de tu API con Postman

En esta guía, cubrimos cómo puedes simular usuarios concurrentes con tu colección Postman usando LoadView y cómo automatizar este paso usando la integración Jenkins con LoadView. Recientemente, las herramientas necesarias para evaluar estas aplicaciones se han simplificado, ofreciendo un apoyo significativo para probar sistemas complejos que dependen tanto de aplicaciones internas como externas. Esta simplificación ayuda a identificar cuellos de botella y problemas con mayor claridad.

En LoadView, nuestro objetivo es ser tu socio para todos tus esfuerzos de pruebas de carga, apoyándote en cada etapa de desarrollo y abordando cualquier nivel de complejidad. Las pruebas de carga no tienen que ser complicadas y la plataforma LoadView hace que el proceso de pruebas de carga de tus APIs sea fácil. Puedes integrar fácilmente tu colección Postman con LoadView para realizar tus pruebas de carga.

El equipo de expertos de LoadView está disponible para apoyarte a ti y tu equipo mientras desarrollan y mejoran tu estrategia de pruebas de carga, y encontrarás nuestra plataforma intuitiva y fácil de usar incluso para usuarios no técnicos. LoadView ofrece pruebas en navegadores reales, scripting point-and-click y reportes completos y claros que eliminan la incertidumbre de las pruebas de carga y permiten una colaboración efectiva entre funciones de desarrollo.

Comienza a hacer pruebas de carga de tus APIs hoy con LoadView. Regístrate para la prueba gratuita y recibe pruebas de carga gratis. O inscríbete para una de nuestras demos privadas con uno de nuestros ingenieros de rendimiento. Nuestro ingeniero te guiará por toda la plataforma LoadView, y te mostraremos cómo integrar LoadView en colecciones Postman y automatizar los pasos con Jenkins.

Lleva tus Pruebas de Usuarios Concurrentes al
Siguiente Nivel

Experimenta funciones inigualables con escalabilidad ilimitada. Sin tarjeta de crédito, sin contrato.