seguimiento de errores

29 julio 2021

¿Qué es el seguimiento de errores?

El seguimiento de errores es el proceso de registro y monitoreo de errores durante las pruebas de software. También se conoce como seguimiento de defectos o seguimiento de problemas.

Los sistemas grandes podrían tener cientos o miles de defectos. Cada uno debe evaluarse, monitorearse y priorizarse para su depuración. A veces, es posible que sea necesario realizar un seguimiento de los errores durante un largo período.

"El seguimiento de defectos es un proceso importante en la ingeniería de software, ya que los sistemas complejos y críticos para el negocio tienen cientos de defectos", afirma Tutorials Point. “Uno de los factores desafiantes es gestionar, evaluar y priorizar estos defectos. El número de defectos se multiplica a lo largo del tiempo y, para gestionarlos de manera eficaz, se utiliza un sistema de seguimiento de defectos para facilitar el trabajo1

Vista aérea de una autopista

Mantenga su cabeza en la nube


Reciba el boletín semanal Think para obtener orientación de expertos sobre cómo optimizar la configuración multinube en la era de la IA.

Cómo funciona el seguimiento de errores

Un error de software ocurre cuando una aplicación o programa no funciona como debería. La mayoría de los errores son fallas o errores cometidos por arquitectos, diseñadores o desarrolladores de sistemas. Los equipos de pruebas utilizan el seguimiento de errores para monitorear e informar sobre los errores que ocurren a medida que se desarrolla y prueba una aplicación.

"Un componente importante de un sistema de seguimiento de errores es una base de datos que registra datos sobre errores conocidos", dice Wikipedia. “Los hechos pueden incluir el momento en que se reportó un error, su gravedad, el comportamiento erróneo del programa y detalles sobre cómo reproducir el error; así como la identidad de la persona que lo reportó y cualquier programador que pueda estar reparándolo”. 2

A lo largo de su vida, un mismo defecto puede pasar por varias etapas o estados. Por ejemplo:

  • Activo: la investigación está en curso
  • Prueba: corregido y listo para la prueba
  • Verificado: reevaluado y verificado por control de calidad (QA)
  • Cerrado: se puede cerrar después de volver a realizar la prueba de control de calidad o si no se considera que sea un defecto
  • Reabierto: no corregido y reactivado 3

Los errores se gestionan en función de la prioridad y la gravedad. Los niveles de gravedad ayudan a identificar el impacto relativo de un problema en la versión de un producto. Estas clasificaciones pueden variar en número, pero generalmente incluyen alguna forma de lo siguiente:

  • Catastrófico: provoca una falla total del software o pérdida irrecuperable de datos. No hay solución y el producto no se puede lanzar.
  • Funcionalidad deteriorada: puede existir una solución alternativa, pero no es satisfactoria. El software no se puede liberar.
  • Falla de sistemas no críticos: existe una solución alternativa razonablemente satisfactoria. El producto puede lanzarse si se documenta el error.
  • Menor: hay una solución alternativa o se puede ignorar el problema. No afecta al lanzamiento de un producto.

Por lo general, los estados y los niveles de gravedad se monitorean en una base de datos de seguimiento de errores. Una buena plataforma de seguimiento también se ata a sistemas de desarrollo y administración de software más grandes: el mejor para evaluar el estado de error y el impacto potencial en la producción y los plazos generales.

IBM DevOps

¿Qué es DevOps?

Andrea Crawford explica qué es DevOps, el valor de DevOps y cómo las prácticas y herramientas de DevOps le ayudan a mover sus aplicaciones a través de todo el delivery pipeline, desde la ideación hasta la producción. Dirigido por los principales líderes de pensamiento de IBM, el programa de estudio está diseñado para ayudar a los líderes empresariales a adquirir los conocimientos necesarios para priorizar las inversiones en IA que pueden impulsar el crecimiento.

Por qué es importante el seguimiento de errores

Se estima que los desarrolladores de software cometen entre 100 y 150 errores por cada mil líneas de código.4 De acuerdo con un informe del Consortium for IT Software Quality (CISQ): "Incluso si solo una pequeña fracción (digamos el 10 %) de estos errores son graves, una aplicación relativamente pequeña de 20 000 líneas de código tendrá aproximadamente 200 errores graves de programación". 5

Las pruebas de software son esenciales para aislar y mitigar errores. Un buen proceso de control de calidad puede descubrir cientos o incluso miles de defectos, y los equipos de pruebas tienen que gestionarlos todos. Integrar el seguimiento de errores en el flujo de trabajo de las pruebas mejora la eficacia al ayudar a los probadores a priorizar, supervisar e informar sobre el estado de cada error.

"El seguimiento de defectos ayuda a garantizar que los errores detectados en el sistema se solucionan", afirma Yvette Francino, consultora de Agile. "Las herramientas de seguimiento no solo permiten garantizar el mismo, sino que también proporcionan valiosas métricas. En función de la herramienta que se utilice, el equipo puede vincular los defectos al código modificado, las pruebas u otros datos que permitan la trazabilidad o el análisis de las tendencias de los defectos. Si un determinado módulo está plagado de defectos, puede que haya llegado el momento de revisarlo y reescribirlo". 6

Lo ideal es realizar las pruebas lo más pronto posible, ya que los errores son más fáciles y mucho menos costosos de arreglar en esta etapa. Un estudio anterior de IBM reveló que los defectos detectados después de la producción o el lanzamiento pueden costar 15 veces más que los errores resueltos en las primeras fases del desarrollo.

Muchos equipos utilizan ahora una metodología conocida como pruebas continuas. En este caso, se realizan pruebas de calidad y feedback en todas las etapas del desarrollo, desde el diseño y la programación hasta el despliegue. Las tecnologías modernas como la inteligencia artificial (IA) también pueden ayudar en el proceso de prueba al detectar y analizar errores al principio del ciclo de vida.

Características clave del seguimiento de errores

El control de calidad es crítico para desarrollar aplicaciones sólidas. Las herramientas de gestión de cambios y seguimiento de errores de pruebas de software permiten a los equipos descubrir defectos, medir su alcance e impacto y resolverlos.

En Harvard Business Review, Nicholas Bowen describe un proceso para gestionar los defectos. El primer paso es clasificar y priorizar: “Generalmente, los equipos priorizarán dos tipos de errores: los que hacen que un sistema se bloquee y los que son menos severos pero podrían ser omnipresentes... A continuación, decide su tiempo de respuesta objetivo para cada nivel de gravedad. Si el sistema de gestión de calidad es nuevo, entonces la atención inicial debe centrarse en corregir los errores más graves en cuestión de horas o días. A medida que utiliza su sistema, puede recopilar datos sobre dos métricas clave: las tasas de errores entrantes y la productividad de los solucionadores de errores, y ajustar sus objetivos según sea necesario”. Él dice que las organizaciones también necesitan crear un sistema donde los defectos y el tiempo que se requiere para resolverlos puedan revisarse en todos los niveles, desde el director ejecutivo (CEO) hacia abajo.7

Un buen sistema de seguimiento de errores puede ayudar en este proceso proporcionando un flujo de trabajo único para el seguimiento de defectos, la generación de informes y la trazabilidad del ciclo de vida. Debería vincularse aún más con otros sistemas de gestión para compartir visibilidad y retroalimentación tanto dentro del desarrollo de software como en la organización en general. IBM® Rational® ClearQuest®, por ejemplo, proporciona una plataforma centralizada para el seguimiento y la generación de informes de errores. Se integra con otros sistemas de desarrollo y administración de cambios de IBM, y ayuda a mejorar la comunicación y colaboración entre desarrolladores, operaciones y equipos más amplios.

Además, busque sistemas de prueba y seguimiento que utilicen IA para detectar errores al principio del proceso de desarrollo. Puede optimizar la cantidad y los tipos de pruebas que ejecutan los equipos, automatizar el proceso de prueba y utilizar la IA para analizar defectos pasados y prevenirlos en el futuro.

Soluciones relacionadas
IBM DevOps Accelerate

Automatice la entrega de software para cualquier aplicación on premises, en la nube o en el mainframe.

Explorar DevOps Accelerate
Soluciones de DevOps

Utilice el software y las herramientas de DevOps para crear, desplegar y gestionar aplicaciones nativas de la nube en múltiples dispositivos y entornos.

Explorar las soluciones DevOps
Servicios de consultoría en la nube 

Desbloquee nuevas capacidades e impulse la agilidad empresarial con los servicios de IBM de asesoramiento sobre la nube. Descubra cómo crear conjuntamente soluciones, acelerar la transformación digital y optimizar el rendimiento a través de estrategias de nube híbrida y asociaciones de expertos.

Servicios en la nube
Dé el siguiente paso

Desbloquee el potencial de DevOps para crear, probar y desplegar aplicaciones nativas de la nube seguras con integración y entrega continuas.

Conozca las soluciones de DevOps Descubra las DevOps en acción