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 diversa información entre sistemas. Las APIs sirven como una conexión robusta entre servicios esenciales y usuarios. Al igual que al probar cualquier componente crucial del sistema, evaluar las APIs es imperativo. Emplear herramientas de prueba de APIs 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 las herramientas de prueba para validar solicitudes de API. Aunque su adopción para pruebas generales de API es común, emplear Postman para pruebas de carga no es tan sencillo.
En este tutorial de pruebas de carga con Postman, cubriremos qué es Postman, la prueba 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 muy 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 los flujos de trabajo de pruebas de API, lo que la convierte en una herramienta esencial en el proceso de desarrollo de APIs. Postman se usa comúnmente en entornos impulsados por APIs donde los servicios están distribuidos a través de microservicios y plataformas en la nube. Hoy en día, Postman también es ampliamente usado en ecosistemas modernos de APIs que incluyen microservicios, aplicaciones contenedorizadas 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 APIs usada 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 desarrollo. También puede funcionar como un navegador para enviar solicitudes y recibir respuestas. Además, puedes añadir scripts para ejecutarse antes de enviar las solicitudes y después de recibir las 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 lo necesites, haciendo tu flujo de trabajo más organizado.
Cuando se trata de pruebas de API, Postman es una excelente herramienta para asegurarse de que todo funcione como se espera. Ayuda a verificar que tu API recupere, guarde y actualice datos correctamente, siendo una parte clave de las pruebas funcionales. Sin embargo, es importante recordar que Postman no está construido para pruebas de rendimiento. Aunque puede ejecutar pruebas pequeñas para verificar tiempos de respuesta, no simula tráfico real ni cargas pesadas. Así que si necesitas ver cómo tu API se desempeña bajo presión, necesitarás una herramienta dedicada para pruebas de carga.
Para pruebas de rendimiento más profundas, necesitarás una herramienta especializada en pruebas de carga como LoadView. Herramientas como LoadView pueden simular condiciones del mundo real que te ayudarán a hacer pruebas de estrés en tus APIs y recopilar métricas completas para asegurar que puedan manejar alto tráfico y uso intensivo. Esto es crucial para garantizar 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 amplia gama de funciones, que van desde la API de Postman y controles de flujo de trabajo hasta monitores incorporados para pruebas de regresión, asegurando capacidades integrales de pruebas de API. A pesar de la multitud de funciones, hay algunas funcionalidades principales esenciales para todo tester de API. Vamos a echar un vistazo más profundo a 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 solicitud, encabezados, cuerpo de solicitud, parámetros de consulta y tokens de autorización.
- Múltiples Protocolos y Soporte – La función de 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.
- Usar Variables de Entorno y Dinámicas – En Postman, puedes crear variables, y estas variables pueden asignarse con valores diferentes. Esto es útil cuando trabajas con APIs idénticas en múltiples entornos reales.
- 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 distintos niveles de actividad de usuarios concurrentes. Te permiten entender cómo tu sistema maneja cargas aumentadas y si cumple con las expectativas de rendimiento.
- Pruebas de escalabilidad: Las capacidades de pruebas de carga de Postman te 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 aumentadas eficientemente.
- Pruebas de estrés: Postman te permite simular condiciones de estrés generando cargas pesadas en tu API. Esto te ayuda a entender los puntos de ruptura 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 se desempeña tu API cuando múltiples usuarios hacen solicitudes simultáneamente. Esto es importante para aplicaciones que se espera manejen interacciones de usuarios concurrentes.
- Rentabilidad: Identificando y abordando problemas de rendimiento temprano en el ciclo de desarrollo, las pruebas de carga con Postman pueden contribuir al ahorro de costos al prevenir tiempos de inactividad potenciales o arreglos costosos en producción.
- Mejora de la experiencia del usuario: Asegurando que tu API pueda manejar altas cargas y desempeñarse bien bajo estrés, puedes proporcionar una experiencia más fluida y confiable para 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 desventaja importante es su incapacidad para simular efectivamente altos niveles de usuarios concurrentes o escenarios complejos. El enfoque principal de Postman está en 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 intrincados 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 depender únicamente de Postman.
Pruebas de carga con la herramienta Postman REST/RESTFUL
Al probar una aplicación de back-end, probar la funcionalidad es una parte estándar del proceso para asegurar que las cosas funcionen como hemos previsto. 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 cómo se comportan ante ese tráfico. Necesitamos medir y validar la aplicación con cada cambio en la aplicación.
En el caso de que uses Postman para probar la funcionalidad de tu API web y necesites generar pruebas de carga a partir de las colecciones de llamadas API, puedes optar por utilizar una herramienta de pruebas de carga como LoadView. LoadView proporciona pruebas de carga basadas en navegador real para APIs, así como aplicaciones web (externas e internas), y sitios web y servidores.
Configuración de prueba de carga con Postman
Vamos a dar un vistazo paso a paso sobre cómo configurar una prueba de carga para una aplicación web usando 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 fácilmente importarla 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 tipos de pruebas 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 iniciar pruebas de API.
Paso 4
Se abrirá una nueva ventana, y aquí deberás importar la colección de Postman exportada y hacer clic en Crear dispositivo.
Paso 5
Una vez que hayamos creado exitosamente un dispositivo, 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. Esto 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 un número deseado de transacciones por segundo para nuestra API específica y al escalar a los 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. Estos ajustes pueden modificarse 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 ejecutar la prueba de carga, se te proporcionarán informes integrales, paneles y métricas que muestran cómo se desempeñaron 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 picos de tráfico API.
Integración de pruebas de carga de la colección Postman con Jenkins
Habiendo explorado la integración y ejecución de pruebas de carga con la colección Postman usando LoadView, podemos incorporar estas pruebas en nuestra canalización CI/CD para recibir retroalimentación y resultados de rendimiento constantes.
LoadView ofrece integración sin interrupciones 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 realizar pruebas de carga para cualquier actualización o función adicional.
Examinemos los pasos empleados para el escenario de prueba de la colección Postman creado previamente en LoadView y cómo se integra con Jenkins.
Paso 1
Para integrar tus pruebas con Jenkins, usará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. Este se usará como token de seguridad para integrar con Jenkins.
Paso 3
El ID del escenario de prueba para nuestra colección Postman puede encontrarse 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 > Historial).
Plugin de LoadView en Jenkins
Para configurar el plugin de LoadView, sigue estos pasos:
- Inicia sesión en tu cuenta de Jenkins.
- En Jenkins, ve a Credenciales > Agregar credenciales > Token de seguridad LoadView (UID). Configura y valida las credenciales.
- Tipo – Token de seguridad LoadView (UID).
- Ámbito – 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 de la API de pruebas de carga web desde tu cuenta LoadView. Una vez añadido el UID, haz clic en Validar UID para asegurarte de que Jenkins pueda acceder a la API de LoadView.
- Luego, selecciona un trabajo y haz clic en Configurar.
4. Ve a Construir > Acciones posteriores a la construcción > Añadir acción posterior a la construcción > LoadView-Ejecutar escenario de prueba de carga. Especifica los ajustes de prueba de estrés de LoadView para la compilación:
- Credenciales – Selecciona la clave API usando la descripción.
- ID de escenario – Pega el ID del escenario de prueba que deseas usar en la compilación. Copia el ID desde la página del escenario en LoadView.
- Umbral de error – Especifica un porcentaje aceptable de sesiones con errores ocurridos durante la prueba (fallo al acceder al recurso objetivo, palabras clave/imagen no encontradas, 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 promedio de respuesta 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 la prueba LoadView
Finalmente, hemos integrado exitosamente nuestra colección Postman con Jenkins usando LoadView. Mientras la prueba de estrés está en ejecución, el estado se muestra en la Salida de consola de Jenkins en 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 una ayuda significativa para probar sistemas complejos dependientes de aplicaciones tanto 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 en 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 facilita el proceso de probar la carga de tus APIs. 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 apoyarte a ti y a tu equipo mientras desarrollan y mejoran su 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 apuntar y hacer clic, e informes completos y legibles que eliminan las conjeturas de las pruebas de carga y permiten una colaboración efectiva entre funciones de desarrollo.
Comienza hoy a hacer pruebas de carga en tus APIs con LoadView. Regístrate para la prueba gratuita y recibe pruebas de carga gratuitas. O regístrate para una de nuestras demostraciones privadas con uno de nuestros ingenieros de rendimiento. Nuestro ingeniero te guiará a través de toda la plataforma LoadView y te mostrará 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 inigualables con escalabilidad ilimitada. Sin tarjeta de crédito, sin contrato.