← Back to list

Observabilidad para la transformación de tus pruebas de software

Como ingenieros de software, en la actualidad ya no es suficiente saber si un test pasó o falló. Las aplicaciones modernas son cada vez más…

Victor Perez in Pragma · 2026-05-19 23:29 · 0 claps · 5.1 min read
#api #grafana #observabildiad #qa #opentelemetry
Open on Medium ↗

Observabilidad para la transformación de tus pruebas de software

Como ingenieros de software, en la actualidad ya no es suficiente saber si un test pasó o falló. Las aplicaciones modernas son cada vez más complejas, especialmente cuando trabajamos con microservicios, APIs y despliegues en la nube.

Esto exige comprender qué ocurre dentro del sistema durante la ejecución de las pruebas y es aquí donde entra en juego la observabilidad.

¿Qué significa la observabilidad en nuestra labor como testers?

Cuando hablamos de observabilidad aplicada a las pruebas de software, nos referimos a la capacidad de entender lo que ocurre internamente en un sistema durante la ejecución de pruebas, sin necesidad de acceder directamente al código.

En lugar de limitarnos a indicar que una prueba falló, la observabilidad nos permite recopilar señales del comportamiento del sistema, tales como:

  • Logs (registros): Eventos detallados que ayudan a reconstruir lo ocurrido durante una prueba.
  • Métricas: Datos cuantificables como tiempos de respuesta, tasas de error o uso de CPU.
  • Trazas (tracing): El recorrido completo de una solicitud dentro de la arquitectura del sistema.

Estos elementos constituyen los pilares de la observabilidad y permiten ir más allá del síntoma del fallo, facilitando identificar el por qué y el dónde ocurrió. Esto se traduce en reportes más efectivos y accionables para los equipos de desarrollo.

¿Por qué es importante la observabilidad en las pruebas?

Comúnmente, un test devuelve un resultado binario: exitoso o fallido. El problema con este enfoque es que, cuando algo falla, muchas veces la única información disponible es un mensaje genérico, sin contexto adicional. Con observabilidad, esto cambia radicalmente.

La observabilidad ofrece varias ventajas importantes:

  1. Visibilidad de comportamientos internos: Puedes conocer qué está sucediendo dentro de un sistema mientras se ejecutan los casos de pruebas, lo que facilita el diagnóstico de problemas complejos.
  2. Resolución de problemas más rápida: Al entender el origen de las fallas en lugar de sólo ver que ocurrieron, se acelera la identificación de la causa raíz. Esto le permite al desarrollador encontrar la solución en tiempos más óptimos.
  3. Mejor toma de decisiones: Tener datos reales sobre desempeño y fallos ayuda a priorizar acciones y mejorar continuamente la calidad.

¿Cómo implementar la observabilidad en las pruebas?

Adoptar observabilidad no implica rehacer todo el sistema, sino incorporar prácticas y herramientas adecuadas dentro del flujo de testing.

Un enfoque básico incluye:

1. Instrumentación

Agregar mecanismos de observabilidad en la aplicación o en los tests:

  • Logs estructurados.
  • Métricas relevantes.
  • Trazas distribuidas.

2. Recolección de datos

Utilizar herramientas especializadas para centralizar la información:

  • Logs: ELK Stack (Elasticsearch, Logstash, Kibana), Splunk.
  • Métricas: Prometheus + Grafana.
  • Trazas: Jaeger, OpenTelemetry.

3. Visualización

Crear dashboards que permitan analizar el comportamiento del sistema en tiempo real durante la ejecución de pruebas.

4. Análisis

Correlacionar logs, métricas y trazas para identificar patrones, anomalías y causas raíz. Esto contribuye no solo a un software más robusto, sino también a procesos de entrega más eficientes y confiables.

Ejemplo práctico

Para ilustrar el uso de la observabilidad en pruebas, consideremos un escenario en el que se valida el consumo de un servicio mediante una aplicación.

Error 400 — Solicitud fallida

A partir de este punto, se procede a utilizar herramientas de observabilidad para analizar el problema.

Paso 1: Identificación del session tracker

Se obtiene el identificador único de la sesión (session tracker) desde los headers de la solicitud, utilizando herramientas como DevTools.

Paso 2: Análisis en Grafana

Se accede a Grafana (configurado en el entorno QA). Ingresamos nuestras credenciales.

En la sección Explore, se configuran los siguientes parámetros:

A continuación, vamos a filtrar nuestra búsqueda en el apartado de Label filters.

  • Job correspondiente al servicio : canalnegocios-qa/neg

  • Contenedor donde se procesó la solicitu. En este caso es Ch-ms-objective-authetication-v2-container

Rango de tiempo en el que ocurrió la ejecución

En el campo Line contains ingresamos nuestro session-tracker sacado del header del servicio a través de la plataforma devTools.

Escogeremos el tiempo en que nuestro Grafana estará observando el tránsito de información en el servicio.

Posteriormente, se ejecuta la consulta (Run Query) para visualizar la información recolectada.

Paso 3: Interpretación de resultados

A través de los datos obtenidos en Grafana, es posible:

  • Identificar el error específico generado por el servicio.
  • Analizar los logs asociados a la solicitud.
  • Correlacionar eventos dentro del flujo de ejecución.

El servicio de autenticación falla con el código OAT6048 debido a un error interno (identificado en los logs con el message_id “ha ocurrido un error interno en el servicio), lo que sugiere un problema en la lógica interna o en una dependencia externa.

De esta forma identificamos el error específico que está arrojando el servicio y poder dar un reporte más eficaz a nuestro equipo de desarrollo o lideres.

Integración con el ecosistema de testing

La observabilidad no funciona de forma aislada; se integra con herramientas ya utilizadas en el ciclo de desarrollo:

Frameworks de testing

  • JUnit.
  • Pytest.
  • Cypress.
  • Playwright.

CI/CD

  • Jenkins.
  • GitHub Actions.
  • GitLab CI.

Plataformas de observabilidad

  • Prometheus.
  • Grafana.
  • Jaeger.
  • OpenTelemetry.

Esto permite ejecutar pruebas automatizadas y analizar su comportamiento en tiempo real dentro de los pipelines.

Buenas prácticas

Para implementar observabilidad de manera efectiva, debes comenzar a:

  • Definir métricas clave desde el inicio (latencia, errores, throughput).
  • Evitar el exceso de logs innecesarios.
  • Correlacionar datos usando identificadores de trazas.
  • Automatizar la recolección de datos en CI/CD.
  • Asegurar que los logs sean claros y útiles para debugging.
  • Fomentar una cultura de observabilidad en el equipo.

Errores comunes a evitar

  • Generar demasiados logs sin estructura.
  • No correlacionar métricas, logs y trazas.
  • Depender únicamente de logs para análisis.
  • No monitorear dependencias externas.
  • Implementar observabilidad solo en producción y no en testing.

Recursos adicionales

Las pruebas tradicionales no serán reemplazadas, pero la observabilidad potencia significativamente su valor. Ya no se trata solo de saber si algo falló, sino de entender por qué falló y cómo solucionarlo rápidamente.

Adoptar observabilidad permite transformar el testing en un proceso más inteligente, basado en datos y orientado a la mejora continua. En entornos modernos, no es una ventaja competitiva, sino una necesidad.


메타데이터
post_id
6e282d3e50cd
slug
cómo-la-observabilidad-transforma-tus-pruebas-de-software-6e282d3e50cd
url
https://medium.com/somos-pragma/c%C3%B3mo-la-observabilidad-transforma-tus-pruebas-de-software-6e282d3e50cd
canonical_url
https://medium.com/somos-pragma/c%C3%B3mo-la-observabilidad-transforma-tus-pruebas-de-software-6e282d3e50cd
author_url
https://medium.com/@victor.perez_52657
status
ok
fetched_at
2026-06-11 22:20:54