seguimiento de errores

29 de julio de 2021

¿Qué es el seguimiento de errores?

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

Los grandes sistemas pueden tener cientos o miles de defectos. Cada uno de ellos debe ser evaluado, monitorizado y priorizado para su depuración. A veces, puede ser necesario hacer un seguimiento de los fallos durante un largo periodo de tiempo.

"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", dice Tutorials Point. "Uno de los factores desafiantes es la gestión, evaluación y priorización de estos defectos. El número de defectos se multiplica a lo largo de un periodo de tiempo y, para gestionarlos eficazmente, se utiliza un sistema de seguimiento de defectos que facilita el trabajo".1

Vista aérea de 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 de la manera en que debería funcionar. La mayoría de los errores son fallos o errores cometidos por arquitectos, diseñadores o desarrolladores de sistemas. Los equipos de pruebas utilizan el seguimiento de errores para monitorizar e informar sobre los errores que se producen 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 la hora en que se notificó un fallo, su gravedad, el comportamiento erróneo del programa y detalles sobre cómo reproducir el fallo, así como la identidad de la persona que lo notificó y de los programadores que puedan estar solucionándolo." 2

Durante su vida útil, un solo defecto puede pasar por varias etapas o estados. Entre ellos se incluyen:

  • Activo: la investigación está en curso
  • Prueba: corregido y listo para la prueba
  • Verificado: probado de nuevo y verificado por el control de calidad (QA)
  • Cerrado: se puede cerrar después de una nueva prueba de control de calidad o si no se considera un defecto
  • Reabierto: no arreglado 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 una versión del producto. Estas clasificaciones pueden variar en número, pero generalmente incluyen alguna de las siguientes:

  • Catastrófico: provoca un fallo total del software o una pérdida irrecuperable de datos. No hay ninguna solución alternativa y el producto no se puede lanzar.
  • Funcionalidad deteriorada: es posible que exista una solución alternativa, pero no es satisfactoria. El software no se puede lanzar.
  • Fallo 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 a la versión de un producto.

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

IBM DevOps

¿Qué es DevOps?

Andrea Crawford explica qué es DevOps, su valor y cómo las prácticas y herramientas de DevOps ayudan a desarrollar las aplicaciones a lo largo de todo el proceso de entrega de software, desde la ideación hasta la producción. El plan de estudios, dirigido por los principales líderes de opinión de IBM, 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 Según un informe realizado por el Consortium for IT Software Quality (CISQ): "Incluso si solo una pequeña fracción (digamos el 10 por ciento) de estos errores son graves, entonces una aplicación relativamente pequeña de 20 000 líneas de código tendrá aproximadamente 200 errores de codificación graves". 5

Las pruebas de software son esenciales para aislar y mitigar los errores. Un buen proceso de control de calidad puede descubrir cientos o incluso miles de defectos, y los equipos de pruebas necesitan gestionarlos todos. La integración del seguimiento de errores en el flujo de trabajo de pruebas mejora la eficiencia al ayudar a los evaluadores a priorizar, monitorizar 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 que las pruebas se realicen lo antes posible, cuando los errores son más fáciles y mucho menos costosos de corregir. Un estudio anterior de IBM descubrió que los defectos encontrados después de la producción o después del lanzamiento pueden costar 15 veces más corregirlos en comparación con los errores que se resuelven al principio del desarrollo.

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

Características clave del seguimiento de errores

El control de calidad es crítico a la hora de desarrollar aplicaciones sólidas. Las herramientas de gestión del cambio y seguimiento de errores de las 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: "Por lo general, los equipos dan prioridad a dos tipos de errores: los que provocan la caída del sistema y los que son menos graves pero que pueden ser generalizados... A continuación, decide el 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”. También afirma que las organizaciones deben crear un sistema en el que se puedan revisar los defectos y el tiempo necesario para resolverlos a todos los niveles, desde el CEO hasta los empleados.7

Un buen sistema de seguimiento de errores puede ayudar en este proceso al proporcionar un flujo de trabajo único para la monitorización de defectos, la elaboración de informes y la trazabilidad del ciclo de vida. Además, debe vincularse con otros sistemas de gestión para compartir la visibilidad y el feedback, 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 de errores e informes. Se integra con otros sistemas de desarrollo y gestión del cambio de IBM, y ayuda a mejorar la comunicación y la colaboración entre desarrolladores, operaciones y equipos más amplios.

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

Soluciones relacionadas
IBM DevOps Accelerate

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

Explore DevOps Accelerate
Soluciones DevOps

Utilice el software y las herramientas de DevOps para crear, implementar y gestionar aplicaciones nativas de la nube en varios dispositivos y entornos.

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

Desbloquee nuevas capacidades e impulse la agilidad empresarial con los servicios de consultoría de nube de IBM. Descubra cómo cocrear soluciones, acelerar la transformación digital y optimizar el rendimiento mediante estrategias de nube híbrida y colaboraciones con expertos.

Servicio en la nube
Dé el siguiente paso

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

Explore las soluciones DevOps Descubra DevOps en acción