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 trabajo". 1
Lea cómo el escritorio como servicio (DaaS) permite a las empresas lograr el mismo nivel de rendimiento y seguridad que el despliegue de las aplicaciones on premises.
Regístrese para obtener la guía sobre la nube híbrida
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:
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:
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.
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 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 de codificación graves". 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 encontrados en el sistema realmente se solucionen", comenta Yvette Francino, consultora de Agile. "Las herramientas de seguimiento no solo proporcionan una forma de garantizar el seguimiento, sino que también proporcionan métricas valiosas. Dependiendo de la herramienta que se utilice, el equipo puede vincular los defectos a códigos modificados, pruebas u otros datos que permitirán la trazabilidad o el análisis de las tendencias de defectos. Si un determinado módulo está plagado de defectos, puede ser el momento de revisar y reescribir ese módulo". 6
Lo ideal es que las pruebas se realicen lo antes posible, cuando es más fácil y mucho menos costoso corregir los errores. 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 comentarios en todas las etapas del 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 al principio del ciclo de vida.
El control de calidad es fundamental para desarrollar aplicaciones sólidas. Las herramientas de gestión de cambios de pruebas de software y seguimiento de errores 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 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.
Software de administración de cambios que ayuda a mejorar la productividad de los desarrolladores a la vez que acomoda las metodologías, procesos y herramientas que mejor se ajustan al proyecto y al equipo.
Obtenga los resultados de las pruebas para el desarrollo más rápido. Reduzca el riesgo y el costo solucionando los defectos antes.
Obtenga insights completos de las herramientas populares de integración continua y entrega continua para aumentar la velocidad, la calidad y el control de sus aplicaciones.
La ingeniería de plataformas es el futuro de DevOps. Acelere el tiempo de comercialización (TTM) con la experiencia del desarrollador.
Conozca los tipos, beneficios y evolución de las pruebas de software.
IBM Developer proporciona las herramientas para ayudar a los desarrolladores a crear y mantener componentes de software.
Descubra cómo las pruebas continuas integradas aceleran el desarrollo de aplicaciones.
Todos los enlaces se encuentran fuera de ibm.com
1 https://www.tutorialspoint.com/software_testing_dictionary/defect_logging_and_tracking.htm
2 https://en.wikipedia.org/wiki/Bug_tracking_system
3 https://www.tutorialspoint.com/software_testing_dictionary/defect_life_cycle.htm
4 https://www.it-cisq.org/the-cost-of-poor-quality-software-in-the-us-a-2018-report/The-Cost-of-Poor-Quality-Software-in-the-US-2018-Report.pdf
5 https://www.it-cisq.org/the-cost-of-poor-quality-software-in-the-us-a-2018-report/The-Cost-of-Poor-Quality-Software-in-the-US-2018-Report.pdf
6 https://techbeacon.com/app-dev-testing/pros-cons-defect-tracking
7 https://hbr.org/2019/09/why-fixing-software-bugs-should-be-the-ceos-problem