Title: Guia de Exposicion
Course: 2025 - LI - Pruebas de Software 3-1 y 3-2 > Section: Unidad 6 - Pruebas de APIs y servicios

🧩 Guía de Exposición – Unidad VII: Pruebas de APIs y Servicios

🎯 Objetivo de la exposición

Comprender qué son las APIs y los servicios web, cómo se realizan las pruebas de comunicación entre sistemas, qué herramientas se utilizan para validarlas y cómo se pueden automatizar para garantizar la calidad e integración continua del software.

📘 Subtemas a desarrollar

Cada equipo deberá dividirse en los siguientes cuatro subtemas, procurando que cada integrante exponga uno con ejemplos visuales, diagramas o capturas de herramientas reales.

🧠 1. Introducción a REST y SOAP

Objetivo:
Explicar los conceptos fundamentales de las APIs (Application Programming Interfaces), los servicios web y sus dos enfoques más comunes: REST y SOAP.

Puntos que deben incluir:

- ¿Qué es una API y para qué sirve?
- Diferencia entre API y servicio web.
- Qué es un servicio REST (Representational State Transfer):
  - Usa HTTP, JSON o XML.
  - Endpoints accesibles por métodos como GET, POST, PUT, DELETE.
- Qué es un servicio SOAP (Simple Object Access Protocol):
  - Usa XML para el intercambio de información.
  - Más estricto y estructurado.
- Comparación entre REST y SOAP: flexibilidad, formato, velocidad y uso actual.

Ejemplo visual:
Un diagrama mostrando cómo una aplicación cliente (por ejemplo, una app móvil) se comunica con un servidor a través de una API REST.

🧩 2. Validación de entradas, salidas y errores

Objetivo:
Explicar cómo se diseñan y ejecutan pruebas para verificar que las entradas, respuestas y manejo de errores de una API funcionen correctamente.

Puntos que deben incluir:

- Qué es la validación de entrada (verificar que los datos enviados sean válidos).
- Qué es la validación de salida (comprobar que el servidor devuelva los resultados esperados).
- Qué son los códigos de estado HTTP:
  - 200 → éxito
  - 400 → error del cliente
  - 404 → no encontrado
  - 500 → error del servidor
- Cómo se prueban las respuestas en formato JSON o XML.
- Importancia de validar errores: respuestas inesperadas, tiempos de espera, autenticación fallida.

Ejemplo visual:
Captura de una petición POST fallida en Postman mostrando un error 400, y otra exitosa con código 200.

⚙️ 3. Herramientas para pruebas de APIs (Postman, Swagger, Insomnia)

Objetivo:
Presentar las herramientas más utilizadas para ejecutar pruebas manuales o semiautomatizadas sobre APIs, explicando sus funciones y ventajas.

Puntos que deben incluir:

- Postman: herramienta más popular para crear, enviar y organizar peticiones HTTP.
  - Cómo enviar una petición y ver la respuesta.
  - Cómo agrupar colecciones de pruebas.
- Swagger (OpenAPI):
  - Permite documentar y probar APIs desde el navegador.
  - Muestra los endpoints, parámetros y ejemplos de uso.
- Insomnia:
  - Similar a Postman, con una interfaz más ligera y rápida para desarrollo.
- Diferencias entre las herramientas y cuándo conviene usar cada una.

Ejemplo visual:
Captura de una API ejecutándose en Postman mostrando los resultados y el formato JSON.

🤖 4. Pruebas automatizadas para servicios

Objetivo:
Explicar cómo se pueden automatizar las pruebas de APIs para que se ejecuten continuamente en un pipeline o entorno de integración continua (CI/CD).

Puntos que deben incluir:

- Qué significa automatizar una prueba y por qué es importante.
- Qué herramientas permiten hacerlo:
  - Newman (extensión de Postman para ejecutar pruebas por línea de comandos).
  - RestAssured (para Java).
  - K6 (para pruebas de carga y rendimiento).
  - JMeter (para pruebas de rendimiento y estrés).
- Cómo se integran estas pruebas en pipelines CI/CD (GitHub Actions, Jenkins, GitLab CI).
- Beneficios: ejecución automática, detección rápida de errores y menor intervención humana.

Ejemplo visual:
Un flujo tipo pipeline donde el código se sube al repositorio, se ejecutan las pruebas API con Newman y se genera un reporte.

📋 Recomendaciones generales

- Duración máxima: 10 a 12 minutos por equipo.
- Cada integrante debe exponer un subtema distinto.
- Evita leer diapositivas: usa tus propias palabras y explica con ejemplos.
- Usa imágenes, diagramas o capturas reales (de Postman, Swagger o Insomnia).
- Finaliza con una conclusión breve sobre la importancia de las pruebas de APIs en la comunicación entre sistemas y la calidad del software.

🧩 Guía de Exposición – Unidad VII: Pruebas de APIs y Servicios

🎯 Objetivo de la exposición

Comprender qué son las APIs y los servicios web, cómo se realizan las pruebas de comunicación entre sistemas, qué herramientas se utilizan para validarlas y cómo se pueden automatizar para garantizar la calidad e integración continua del software.

📘 Subtemas a desarrollar

Cada equipo deberá dividirse en los siguientes cuatro subtemas, procurando que cada integrante exponga uno con ejemplos visuales, diagramas o capturas de herramientas reales.

🧠 1. Introducción a REST y SOAP

Objetivo:
Explicar los conceptos fundamentales de las APIs (Application Programming Interfaces), los servicios web y sus dos enfoques más comunes: REST y SOAP.

Puntos que deben incluir:

- ¿Qué es una API y para qué sirve?
- Diferencia entre API y servicio web.
- Qué es un servicio REST (Representational State Transfer):
  - Usa HTTP, JSON o XML.
  - Endpoints accesibles por métodos como GET, POST, PUT, DELETE.
- Qué es un servicio SOAP (Simple Object Access Protocol):
  - Usa XML para el intercambio de información.
  - Más estricto y estructurado.
- Comparación entre REST y SOAP: flexibilidad, formato, velocidad y uso actual.

Ejemplo visual:
Un diagrama mostrando cómo una aplicación cliente (por ejemplo, una app móvil) se comunica con un servidor a través de una API REST.

🧩 2. Validación de entradas, salidas y errores

Objetivo:
Explicar cómo se diseñan y ejecutan pruebas para verificar que las entradas, respuestas y manejo de errores de una API funcionen correctamente.

Puntos que deben incluir:

- Qué es la validación de entrada (verificar que los datos enviados sean válidos).
- Qué es la validación de salida (comprobar que el servidor devuelva los resultados esperados).
- Qué son los códigos de estado HTTP:
  - 200 → éxito
  - 400 → error del cliente
  - 404 → no encontrado
  - 500 → error del servidor
- Cómo se prueban las respuestas en formato JSON o XML.
- Importancia de validar errores: respuestas inesperadas, tiempos de espera, autenticación fallida.

Ejemplo visual:
Captura de una petición POST fallida en Postman mostrando un error 400, y otra exitosa con código 200.

⚙️ 3. Herramientas para pruebas de APIs (Postman, Swagger, Insomnia)

Objetivo:
Presentar las herramientas más utilizadas para ejecutar pruebas manuales o semiautomatizadas sobre APIs, explicando sus funciones y ventajas.

Puntos que deben incluir:

- Postman: herramienta más popular para crear, enviar y organizar peticiones HTTP.
  - Cómo enviar una petición y ver la respuesta.
  - Cómo agrupar colecciones de pruebas.
- Swagger (OpenAPI):
  - Permite documentar y probar APIs desde el navegador.
  - Muestra los endpoints, parámetros y ejemplos de uso.
- Insomnia:
  - Similar a Postman, con una interfaz más ligera y rápida para desarrollo.
- Diferencias entre las herramientas y cuándo conviene usar cada una.

Ejemplo visual:
Captura de una API ejecutándose en Postman mostrando los resultados y el formato JSON.

🤖 4. Pruebas automatizadas para servicios

Objetivo:
Explicar cómo se pueden automatizar las pruebas de APIs para que se ejecuten continuamente en un pipeline o entorno de integración continua (CI/CD).

Puntos que deben incluir:

- Qué significa automatizar una prueba y por qué es importante.
- Qué herramientas permiten hacerlo:
  - Newman (extensión de Postman para ejecutar pruebas por línea de comandos).
  - RestAssured (para Java).
  - K6 (para pruebas de carga y rendimiento).
  - JMeter (para pruebas de rendimiento y estrés).
- Cómo se integran estas pruebas en pipelines CI/CD (GitHub Actions, Jenkins, GitLab CI).
- Beneficios: ejecución automática, detección rápida de errores y menor intervención humana.

Ejemplo visual:
Un flujo tipo pipeline donde el código se sube al repositorio, se ejecutan las pruebas API con Newman y se genera un reporte.

📋 Recomendaciones generales

- Duración máxima: 10 a 12 minutos por equipo.
- Cada integrante debe exponer un subtema distinto.
- Evita leer diapositivas: usa tus propias palabras y explica con ejemplos.
- Usa imágenes, diagramas o capturas reales (de Postman, Swagger o Insomnia).
- Finaliza con una conclusión breve sobre la importancia de las pruebas de APIs en la comunicación entre sistemas y la calidad del software.