Ante la necesidad de crear software de cada vez mejor calidad, es crucial poder realizar diferentes tipos de análisis y desde distintos ángulos. En este sentido, en lo que respecta al testing de software, ¿cuál es la relevancia de la observabilidad? ¿Cómo se relaciona con el monitoreo, el testing y la ingeniería del caos? Descúbrelo en este artículo, con las voces de Federico Toledo y Lisa Crispin.

¿Alguna vez analizaste la importancia que tiene la observabilidad para el trabajo diario en testing de software? Un tiempo atrás, Federico Toledo, COO de Abstracta, decidió profundizar en esto. Para ello, entrevistó a Lisa Crispin en su podcast Quality Sense. Lisa es la cofundadora de Agile Test Fellowship, junto con Janet Gregory, y autora de múltiples publicaciones sobre agile testing.
Quizás no tuviste posibilidad de escuchar el episodio, pero la observabilidad está cada día más en boga. Por eso, decidimos sumergirnos en la temática mediante los principales conceptos que Federico y Lisa trataron en el podcast.
Observabilidad: ¿qué significa realmente?
Según Lisa Crispin, incluso las personas que trabajan en operaciones y que han realizado tareas de monitoreo y registro a veces no saben realmente de qué se trata la observabilidad. Algunas se confunden y piensan que solo se trata un nuevo nombre para describir el monitoreo. Hay mucho debate sobre el tema, pero si algo es seguro es que la observabilidad es, sin lugar a dudas, diferente al monitoreo.
“La observabilidad consiste en instrumentar más cosas en nuestro código y más eventos en nuestro sistema. De este modo, si sucede algo negativo que no esperábamos, tenemos la posibilidad de analizar lo ocurrido y evaluar qué hacer al respecto. Entonces, aunque ahora tengamos un montón de sistemas complejos distribuidos, podemos ver qué camino siguió nuestro usuario a través de nuestra aplicación”.
Lisa Crispin, cofundadora de Agile Test Fellowship
Lisa continuó: “La observabilidad nos permite rastrear lo que hicieron los usuarios a través de todos los diferentes servicios y APIs, ver exactamente todos los pasos que dieron, y así poder reproducir o directamente solucionar el problema. Es una forma de explorar el sistema en producción utilizando herramientas realmente sofisticadas que están a nuestra disposición, y también porque ahora podemos almacenar enormes cantidades de datos a un coste asequible”.
Federico Toledo destacó que la observabilidad es clave para poder realizar mayor cantidad de análisis en diferentes partes del sistema, porque los sistemas tienen cada día más componentes y elementos que monitorizar o analizar.
“Básicamente, tenemos que prepararnos para posibles problemas que desconocemos”, esbozó Federico. Estas incógnitas, conocidas como “Unknown Unknowns”, constituyen uno de los mayores desafíos a la hora de crear software de calidad.
Observabilidad y testing de software
En la era digital, con entrega continua, integración continua y equipos ágiles, cada día se presentan nuevos desafíos. El software es cada vez más complejo y es más difícil poder realizar testing de software de todo.
En este contexto, Federico Toledo y Lisa Crispin coincidieron en que el objetivo de la observabilidad y el testing es prácticamente el mismo. “Es como obtener información sobre el uso del sistema o la calidad, o considerar diferentes aspectos de la aplicación, con el objetivo de proporcionar esta información a alguien que va a tomar una decisión”, sostuvo Federico Toledo.
“Seguimos queriendo hacer todas las pruebas que podamos antes de realizar una liberación, pero tenemos que aprovechar todos estos enfoques adicionales como la observabilidad, las pruebas en producción, el uso de feature toggles e ingeniería del caos”, especificó Lisa.
“Los testers de software realmente necesitan estar involucrados en ambos lados de ese bucle de entrega continua o bucle DevOps. Tenemos que estar involucrados en todo el camino porque necesitamos ese conocimiento de primera mano de lo que está pasando en la producción también”, agregó.
Matías Fornara, líder del centro de automatización de Abstracta, explicó en este artículo que, con la popularización del concepto DevOps, las prácticas de Shift Right se han vinculado a los procesos de liberación, configuración, y monitorización de aplicaciones. Y, sin duda, un concepto clave asociado a esto es la observabilidad.
Federico Toledo enfatizó que la ingeniería del caos es útil para comprobar cuán observable es nuestro sistema porque, al inyectar errores, todo el equipo puede entender si es capaz o no de analizar y solucionar el problema con la información que tiene.
Lisa Crispin exclamó: “La ingeniería del caos es una forma de descubrir las incógnitas desconocidas” (conocidas como “unknown unknowns”).
En resumen, es fundamental que los testers estén involucrados en la observabilidad porque se trata de una propiedad de sus sistemas. Tienen que conocer la arquitectura y la tecnología que hay detrás para poder entender dónde hay que prestar atención y poder probar lo observables que son sus sistemas.
Algunas estadísticas
Una investigación reciente publicada por Splunk explica que, a medida que la evolución hacia una infraestructura híbrida y multi nube continúa, las organizaciones se encuentran con una complejidad creciente, una menor visibilidad y un agotamiento cada vez mayor.
“La observabilidad es el antídoto… A medida que la observabilidad se vuelve esencial, los líderes amplían la visibilidad de las múltiples nubes y mejoran drásticamente las experiencias digitales”, introduce el estudio. “Las organizaciones que construyen una rica práctica de observabilidad en todo lo que hacen pueden esperar ver beneficios en seguridad, rendimiento y ahorro de costes cada año”.
La investigación incluye una encuesta a 1.250 profesionales de la observabilidad, directivos y expertos en este tema. Algunos de sus resultados revelaron que:
- Los líderes en observabilidad son 2,1 veces más propensos a decir que pueden detectar problemas en aplicaciones desarrolladas internamente en minutos.
- Los líderes informan de un tiempo medio de resolución un 69% mejor para el tiempo de inactividad no planificado o degradación del rendimiento.
- El coste medio anual de los líderes por el tiempo de inactividad asociado a las aplicaciones críticas para el negocio desarrolladas internamente es de 2,5 millones de dólares, frente a los 23,8 millones de dólares de los principiantes.
La observabilidad sigue siendo un gran desafío. Y no cabe duda de que aún queda mucho por hacer.
“El futuro de la observabilidad es una expansión continua en toda la organización de IT. Para todas las empresas nativas digitales, excepto las más jóvenes, las operaciones de IT tradicionales tienen equipos y presupuestos más grandes que DevOps y observabilidad. Pero la proliferación de las nubes y la presión constante para avanzar más rápido impulsarán la observabilidad”, concluye el informe.
¿Quieres saber más sobre observabilidad? Te recomendamos escuchar este episodio del podcast Quality Sense.
¡Síguenos en LinkedIn, Twitter, Facebook, Instagram y Youtube para ser parte de nuestra comunidad y conocer buenas prácticas para las pruebas de software!
¿Estás buscando a un partner para el servicio de testing de software? Abstracta es la empresa más confiable de América Latina en ingeniería de calidad de software.
En Abstracta hacemos de la calidad de tu sistema, web o app móvil nuestra prioridad. Nuestra experiencia de más de 14 años nos brinda una sólida trayectoria para impulsar cualquier proyecto a su máximo potencial, asegurando el éxito al desarrollar un entendimiento integral del negocio y con soluciones end-to-end y a medida, que ayudan a expandir el negocio de nuestros clientes en más de 25 países.
Contáctanos y conversemos sobre cómo podemos ayudarte a introducir mejores prácticas de gestión de calidad para brindar mejores experiencias digitales a tus usuarios finales.
Otros contenidos relacionados
La importancia de la Automatización en Shift Left Testing
Pruebas de Software Ágiles: características, ventajas y más
Tendencias en Calidad de Software: ¿qué esperar en 2023?
Otros contenidos relacionados
Adoptando GPT en Abstracta: Reflexiones y avances en la era de la IA
Posts Relacionados
El error más común en el ciclo de vida del bug
Buenas prácticas para reducir el ciclo de vida del bug de software, gracias al trabajo conjunto de testers y desarrolladores.
Ciberseguridad: nuevas tecnologías, nuevas vulnerabilidades
Las disrupciones a nivel global empujan la aceleración de la transformación digital y la necesidad de repensar el sector de la ciberseguridad. ¿Cuál es el rol del testing de software? ¿Qué es el Pentesting? ¡Descúbrelo aquí!