Antonio Rafael González Ferrer
Irving Juárez
Mario Enrique Ascencio Garcia
La calidad crece cuando la depuración deja de ser reacción y se convierte en prevención. Aquí se explica cómo pasar de mirar variables en debugging a construir historial, monitoreo y reportes que anticipen fallos, alineado con principios del testing moderno y mejores prácticas.
¿Por qué pasar de depuración reactiva a prevención con debugging y logs?
Adoptar prevención reduce el uso del debugging como última técnica. Con buenas prácticas y mejores herramientas, se almacena y analiza el comportamiento del software para acelerar la detección de defectos.
¿Qué limita un debugging reactivo sin logs?
¿Cómo ayuda un historial y reportes para monitoreo?
¿Cuáles son las fases del debugging y los pasos para depurar?
La depuración se concibe en dos fases: encontrar el error y corregir el error. El foco aquí está en encontrarlo con un proceso ordenado que maximiza el aprendizaje del sistema.
¿Cómo escalar el análisis con machine learning y seguridad en firewalls y routers?
Cuando el historial muestra errores o comportamientos, se puede proyectar su impacto y anticipar riesgos.
¿Tienes una práctica o táctica que te haya ayudado a prevenir errores desde el diseño? Compártela y enriquezcamos el enfoque preventivo entre todos.
Antonio Rafael González Ferrer
Irving Juárez
Mario Enrique Ascencio Garcia
Nicolás Kryvenki
Francisco Saldarriaga Lema
Edgar Mauricio Pérez Rojas
Oscar Jaramillo
Diómedes Ramírez Villamán
Miguel Angel Reyes Moreno
Diego Herrera
Andres Velasquez
Fdiclerico@altec.com.ar
Carmen Álvarez M.
Javier Avila
Martín Leyva
Carlos Uriel de Jesus Sánchez González
Victor Gonzalez
Antonio Demarco Bonino
Diego Adrián Sánchez Gutiérrez
Andres Velasquez
JUAN FELIPE CONTRERAS DELGADO
Jefred Bedoya
Juan Pablo Urra Jara
John Freddy Barrantes Gama
Johan Augusto Potosi Morales
Gustavo Adolfo Escobar y Escobar
Laura Juliana Ruiz Sanchez
Freddy Humberto Mendoza Muñoz
Apuntes:
Técnicas de Depuración
Deben ir cambiando de ser reactivas a ser preventivas. Si ya podemos observar a través de estas herramientas cómo se está utilizando la información, hacia dónde viaja, quién responde, deberíamos también recordar que parte de los principios del testing moderno es tratar de ir corrigiendo nuestras técnicas, implementar mejores prácticas y hacer uso de mejores herramientas. El debugging debería de ser la última alternativa.
Debugging
• Observar valores de variables • Detener temporalmente la aplicación
Logs
• Almacenar los valores • Rastreo de la información
Historial
• Capacidad de análisis forense • Comparar valores • Agrupar información
Monitor reportes
• Prevenir ataques o fallas • Observar anomalías • Acelerar tiempos de respuesta
Desventajas de no usar logs
• Visibilidad nula de errores • Metodología de trabajo no estandarizada • Accesos e información descentralizada • Incremento del tiempo de respuesta
Ventajas de generar un historial / reporte
• Aplicar técnicas de Machine Learning • Mejorar la gestión y el control de la información • Detectar amenazas de red o virus • Prevenir fugas de información, así como comportamientos inadecuados
Fases del Debugging
Fase 1. Encontrar el Error Fase 2. Corregir el Error
Fase 1: Pasos para Depurar
Buen aporte
completo
Evitando los errores gracias a la matrix de pruebas:
Uff, súper fino! jaja
like si viste el error en pantalla... jejejeje
JAJAJAJAAJ
Las técnicas de reacción no deben ser reactivas sino preventivas. El debugging debería ser la última técnica que utilizamos. Si hacemos buenas prácticas, lo estaremos usando pocas veces.
Técnias:
Desventajas de no usar logs:
Ventajas de generar un historial/reporte:
Fases del debugging:
Es dificil aterrizar la idea si no se hace la practica.
Eso es cierto, pero para poder hacer la practica es necesario aprender al menos un lenguaje de programación. Como por ejemplo JavaScript. Con este lenguaje puedes hacer las técnicas de depuración que ella menciona.
Hay algún curso que ++no++ se enfoque en depuración de código y si en todas las tecnicas de pruebas de software (regresion, smoke, verificaciòn, etc) orientado a testers y/o Analistas Funcionales?
Tengo la misma inquietud.
Te recomiendo el canal Automation Step by Step (youtube) de Raghav Pal, grandioso canal con contenido excepcional para functional testing y muchas cosas más. A mi me ayudo un montón cuando empecé 100% recomendado.
Fases de la Depuración (Debugging)
Fase 1: Pasos para depurar
Fase 2: Corregir el error
Las técnicas de depuración deben ir cambiando de ser reactivas a ser preventivas. Debemos recordar que parte de los principios del testing moderno es tratar de ir corrigiendo nuestras técnicas, implementar mejores prácticas y hacer uso de mejores herramientas. El debugging debería ser la última técnica que utilizas.
Técnicas de depuración
Debugging: Observar valores de variables, detener temporalmente la aplicación.
Logs: Hacer un vaciado de cómo las variables van cambiando y es más fácil rastrear la información.
Historial: Agiliza la forma de monitorear y observar los comportamientos de nuestro software. Comparando valores, agrupando información.
Reportes: Observar anomalías, acelerar el tiempo de respuesta, prevenir ataques o fallas.
Pasos para depurar
Ir al módulo que falla
Establecer
En asignacion de valores
Procesamiento de valores
Cambio de estados
Diseñar una matrix de pruebas
Establecer los datos de prueba
Comenzar a depurar
Desventajas de no usar LOGS
Visibilidad nula de errores
Metodologia de trabajo no estandarizada
Accesos e informacion descentralizada
Incremento del tiempo de respuesta
Ventajas de generar un historial / reporte
Aplicar tecnicas de Machine learning
Mejorar la gestion y el control de la informacion
Detectar amenazas de red o virus
Prevenir fugas de informacion, asi como comportamientos inadecuados
Técnicas de depuración:
Debugging: Observar valores de variables, detener temporalmente la aplicación. Logs: Hacer un vaciado de cómo las variables van cambiando y es más fácil rastrear la información. Historial: Agiliza la forma de monitorear y observar los comportamientos de nuestro software. Comparando valores, agrupando información. Reportes: Observar anomalías, acelerar el tiempo de respuesta, prevenir ataques o fallas. Pasos para depurar:
Ir al módulo que falla Establecer breakpoints Diseñar una matrix de pruebas Establecer los datos de prueba Comenzar a depurar
Es más un trabajo de orden que de otra cosa.
Técnicas de depuración Reactivas -> preventivas Debugging: observar valores, detener temporalmente ejecución Logs: Almacenar valores, rastreo de la información Historial: Capacidad de análisis forense, comparar, agrupar Monitor Reportes: prevenir ataques o fallas, Observar anomalías, Acelerar tiempo de respuesta. Desventajas de no usar logs:
Interesante como las técnicas de depuración van evolucionando con el desarrollo del software, es decir del proyecto, y como estas pueden ser extendidas hacia el analisis de patrones y comportamientos, un área de computer science en machine learning.
A este paso las inteligencias artificiales podrían también vincularse pero más como una herramienta que como un reemplazo.
Que los desarrolladores vean distintas cosas entre si puede ser positivo, podrán encontrar distintos errores. Total, si las cosas están bien, deberían estar bien en cualquier método si no seguramente hay dos errores o una solución parcial.
Del Debugging Reactivo al Preventivo
El Debugging como último recurso El debugging tradicional es una técnica reactiva y costosa. Si dependes de él constantemente, es señal de que tus prácticas de desarrollo necesitan madurar. El objetivo es pasar de "observar variables" a "prevenir errores".
El poder de los Logs
Estrategia de Depuración Eficiente
La clase abordó técnicas avanzadas de depuración y prevención de errores en el desarrollo de software. Se destacó la importancia de cambiar de un enfoque reactivo a uno preventivo en la depuración, usando herramientas como logs y análisis de datos históricos. Se enfatizó el uso de matrices de pruebas para identificar errores y la necesidad de tener un registro centralizado para evitar que diferentes desarrolladores aborden el mismo problema de manera aislada. También se mencionó el uso de machine learning para anticipar comportamientos no esperados en el software.
Los logs son herramientas esenciales en el trabajo de Q/A. Aquí tienes algunos ejemplos prácticos:
Registro de Errores: Al ejecutar pruebas, los logs registran errores encontrados, incluyendo detalles como el tipo de error, la línea de código y el estado del sistema.
Monitoreo de Actividades del Usuario: Se guardan logs de las acciones de los usuarios, como inicios de sesión y transacciones, para rastrear comportamientos anómalos.
Seguimiento de Cambios: Los logs registran cambios en la configuración del software o en el código, facilitando la identificación de problemas tras nuevas implementaciones.
Implementar un sistema de logging robusto mejora la capacidad de respuesta ante errores y optimiza la calidad del software.
Las técnicas de depuración reactivas son aquellas que se aplican después de detectar un error, mientras que las preventivas buscan evitar que esos errores ocurran en primer lugar. Cambiar de un enfoque reactivo a uno preventivo implica implementar buenas prácticas y herramientas de monitoreo que permitan identificar y corregir problemas antes de que afecten el software. Esto mejora la calidad del desarrollo y reduce el tiempo de resolución de fallos, promoviendo un ciclo de vida del software más eficiente.
Técnicas de depuración:
Pasos para depurar: