Tutorial de Pruebas de Carga con Postman
Muchos de los servicios web actuales incorporan APIs (interfaces de programación de aplicaciones), que permiten el intercambio de información diversa entre sistemas. Las APIs sirven como una conexión robusta entre servicios esenciales y usuarios. Como en la prueba de cualquier componente crucial del sistema, es imperativo evaluar las APIs. El uso de herramientas de prueba de API de terceros como Postman facilita tanto pruebas manuales como automatizadas, incluyendo capacidades de monitoreo de API.
Postman es una herramienta ampliamente reconocida en el dominio de herramientas de prueba para validar solicitudes de API. Aunque su adopción para pruebas API generales es extensa, emplear 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 administrar 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 pruebas de API, lo que la convierte en una herramienta esencial en el proceso de desarrollo de APIs. Hoy en día, Postman también se usa ampliamente en ecosistemas modernos de API que incluyen microservicios, aplicaciones contenarizadas y arquitecturas nativas en la nube, haciendo que la validación de APIs sea una parte crítica del flujo de trabajo de desarrollo.
Postman es una herramienta de desarrollo de API utilizada en el ciclo de vida del desarrollo de software:
- Desarrollo de API
- Pruebas de API
- Documentación de API
Pero Postman no es solo para el desarrollo. También puede funcionar como un navegador para enviar solicitudes y recibir respuestas. Además, puedes añadir scripts para ejecutar 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 permitir ejecutarlas en un orden específico cuando sea necesario, haciendo tu flujo de trabajo más organizado.
Cuando se trata de pruebas de API, Postman es una gran herramienta para asegurarse de que todo funcione como se espera. Ayuda a verificar que tu API esté recuperando, guardando y actualizando datos correctamente, convirtiéndola en 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 tiempos de respuesta, no simula el tráfico real ni cargas pesadas. Así que si necesitas ver cómo tu API se comporta bajo presión, necesitarás una herramienta dedicada para 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 reales que te ayudan a hacer pruebas de estrés a tus APIs y recopilar métricas completas para asegurarte de que pueden manejar grandes volúmenes de tráfico y uso intenso. Esto es crucial para garantizar que tu API pueda rendir 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 controles de flujo de trabajo hasta monitores integrados para pruebas de regresión, asegurando capacidades completas de pruebas de API. A pesar de la multitud de características, hay algunas funcionalidades básicas esenciales para cualquier evaluador 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 característica 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 distintos proyectos. 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 (Notación de Objetos de JavaScript) 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 Dinámicas – En Postman, puedes crear variables, y estas variables pueden asignarse a diferentes valores. Esto resulta útil cuando se trabaja con APIs idénticas en múltiples entornos del mundo real.
- Convertir API a Código – Postman permite convertir la solicitud de 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 del Rendimiento: Las pruebas de carga ayudan a evaluar el rendimiento de tus APIs bajo diversos niveles de actividad concurrente de usuarios. Te 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 garantizar que pueda manejar cargas incrementadas eficientemente.
- Pruebas de Estrés: Postman permite simular condiciones estresantes generando cargas pesadas sobre tu API. Esto te ayuda a entender los puntos de quiebre y limitaciones de tu sistema, permitiéndote hacer mejoras necesarias.
- Pruebas de Concurrencia: Las pruebas de carga en Postman te permiten evaluar qué tan bien tu API rinde cuando múltiples usuarios hacen solicitudes simultáneamente. Esto es importante para aplicaciones que esperan manejar interacciones de usuario concurrentes.
- Rentabilidad: Al identificar y abordar problemas de rendimiento temprano en el ciclo de desarrollo, las pruebas de carga con Postman pueden contribuir a ahorros de costos al prevenir posibles tiempos de inactividad o reparaciones costosas en producción.
- Mejora de la Experiencia de Usuario: Al asegurar que tu API pueda manejar altas cargas y rendir bien bajo estrés, puedes ofrecer 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 eficaz. El enfoque principal de Postman está en las pruebas funcionales y validación más que en el 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 de métricas de rendimiento intrincadas comparado 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 back-end, probar la funcionalidad es una parte estándar del proceso para asegurar que las cosas funcionen como habíamos previsto. Tus aplicaciones serán utilizadas por muchos, si no cientos o miles de usuarios al mismo tiempo, por lo que también necesitamos llevar a cabo pruebas de rendimiento para ver qué tan bien soportan ese tráfico. Necesitamos establecer benchmarks y validar la aplicación con cada cambio en la aplicación.
En el escenario en que estés usando Postman para probar la funcionalidad de tu API web y necesitas generar pruebas de carga a partir de las colecciones de llamadas API, puedes optar por usar una herramienta de pruebas de carga como LoadView. LoadView proporciona 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 ver paso a paso cómo configurar una prueba de carga para una aplicación web con una colección de Postman.
Paso 1
Antes de comenzar, necesitas exportar la colección de Postman. Puedes elegir la opción de Obtener enlace público y puedes importarlo fácilmente a LoadView.
- Nota: Asegúrate de que la Colección de Postman use solo variables locales ya que las variables de entorno no se almacenan en la colección.
Paso 2
Abre la plataforma LoadView y selecciona Crear nueva prueba de carga.
Paso 3
Aquí verás los varios tipos de prueba de carga disponibles dentro de LoadView.
Aplicaciones web, sitios web y APIs. Para nuestro caso de uso, seleccionarás la opción Colección de Postman para comenzar las pruebas API.
Paso 4
Se abrirá una nueva ventana, y aquí necesitarás importar la colección de Postman exportada y hacer clic en Crear dispositivo.
Paso 5
Una vez que hemos creado un dispositivo exitosamente, verás la pantalla Escenario de prueba, donde podrás establecer 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 el número deseado de transacciones por segundo para nuestra API específica y al escalar hasta el número de usuarios concurrentes objetivo.
- Curva basada en 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.
Paso 6
Una vez que hayas creado un escenario de prueba con una lista de todas tus APIs, ahora puedes ejecutar tus pruebas de carga y estrés para tus APIs.
Después de que la prueba de carga se ejecute, recibirás informes comprensivos, paneles y métricas que muestran cómo tu API y sistemas rindieron 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 un tráfico API elevado.
Integración de Pruebas de Carga de Colección Postman con Jenkins
Habiendo explorado la integración y ejecución de pruebas de carga de colecciones Postman con LoadView, podemos incorporar estas pruebas en nuestro pipeline CI/CD para recibir retroalimentación 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 de nube completamente gestionado. El plugin de LoadView para Jenkins permite pruebas de carga de cualquier actualización nueva o características adicionales.
Veamos los pasos empleados para el escenario de prueba de colección Postman creado previamente en LoadView y cómo se integra con Jenkins.
Paso 1
Para integrar tus pruebas con Jenkins, utilizarás el mismo escenario de prueba Postman de la sección anterior.
Paso 2
Crea un UID único y copia el UID de integración. Esto se usará como un token de seguridad para integrarlo en Jenkins.
Paso 3
El ID del escenario de prueba para nuestra colección Postman se encuentra en la página de configuración del escenario o en la página de historial de pruebas (Test Manager > el menú de acciones de prueba > History).
Plugin de LoadView en Jenkins
Para configurar el plugin LoadView, sigue estos pasos:
- Inicia sesión en tu cuenta de Jenkins.
- En Jenkins, ve a Credentials > Add Credentials > LoadView Security Token (UID). Configura y valida las credenciales.
- Tipo – Token de seguridad LoadView (UID).
- Alcance – Selecciona Global.
- ID – Deja el valor predeterminado o especifica un ID único.
- Descripción – Especifica una descripción única para distinguir las credenciales.
- UID – Pega el UID del API web de pruebas de carga de tu cuenta LoadView. Una vez agregado el UID, haz clic en Validate UID para asegurarte de que Jenkins pueda acceder al API de LoadView.
- Luego, selecciona un trabajo y haz clic en Configurar.
4. Ve a Build > Post-build Actions > Add post-build action > LoadView-Run load test scenario. Especifica la configuración de LoadView para pruebas de estrés para la compilación:
- Credenciales – Selecciona la clave API usando la descripción.
- ID del Escenario – Pega el ID del escenario de prueba que quieres usar en la compilación. Copia el ID desde la página de escenarios en LoadView.
- Umbral de errores – Especifica un porcentaje aceptable de sesiones con errores que ocurrieron durante la prueba (fallo al acceder al recurso objetivo, palabras clave/imagen no encontrados, etc.). Si el porcentaje de sesiones con error es mayor que el valor especificado, la compilación será marcada como fallida en Jenkins.
- Tiempo promedio – Especifica un límite para un tiempo de respuesta promedio medido durante la ejecución de la prueba. Si se alcanza el límite, la compilación será marcada como fallida en Jenkins.
5. Haz clic en Guardar.
Ver Resultados de Pruebas LoadView
Finalmente, hemos integrado exitosamente nuestra colección Postman con Jenkins usando LoadView. Mientras nuestra prueba de estrés se ejecuta, el estado se muestra en la Salida de consola de Jenkins en modo tiempo real.
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 puedes automatizar este paso usando la integración de Jenkins con LoadView. Recientemente, las herramientas necesarias para evaluar estas aplicaciones se han simplificado, ofreciendo ayuda significativa 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 del desarrollo y abordando cualquier nivel de complejidad. Las pruebas de carga no tienen que ser complicadas y la plataforma de LoadView hace que el proceso de pruebas de carga de tus APIs sea fácil. Puedes integrar sin problemas tu colección Postman con LoadView para realizar tus pruebas de carga.
El equipo de expertos de LoadView está disponible para apoyar a ti y a tu equipo mientras desarrollan y mejoran tu estrategia de pruebas de carga, y encontrarás que nuestra plataforma es intuitiva y fácil de usar incluso para usuarios no técnicos. LoadView ofrece pruebas en navegadores reales, scripting con clic y puntos, y reportes completos y legibles que eliminan las conjeturas en las pruebas de carga y permiten una colaboración efectiva entre funciones de desarrollo.
Comienza hoy a hacer pruebas de carga a tus APIs 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á a través de toda la plataforma LoadView, y te mostraremos cómo integrar LoadView en colecciones Postman y automatizar los pasos con Jenkins.
Lleva tus pruebas de carga al Siguiente Nivel
Siguiente Nivel
Experimenta características incomparables con escalabilidad ilimitada. Sin tarjeta de crédito, sin contrato.