Zusammenfassung der Ressource
Técnicas estáticas
- Técnicas estáticas y el proceso de pruebas
- Comprenden varios métodos que no ejecutan el sistema o objeto de prueba
- Incluyen: Revisiones (manual) y Análisis estático (herramientas)
- Complementan los métodos dinamicos
- Detectan defectos
- Documentos de alta calidad conducen a productos de alta calidad
- Objetivos
- Se realizan con el objeto de mejorar la calidad del producto
- Le detección temprana de errores ahorra costes
- Ventajas
- Costes mas bajos, alto potencial de ahorro
- Los defectos en la documentación so detectados y corregidos en forma temprana
- Mejora el indice de comunicación/intercambio de conocimiento
- Desventajas
- Se podrian presentar discusiones con el autor
- Los expertos en las revisiones deben adquirir conocimientos especificos
- Inversión considerable de tiempo de 10 al 15% del presupuesto total
- Moderador y participantes influyen directamente en la calidad de la revisión
- Proceso de revisiones
- Actividades
- Planificación: Definición de los criterios de revisión, selección del personal, asignación de roles
- Definición de los criterios de entrada y salida para revisiones formales
- Inicio o lanzamiento: Distribución de los documentos y explicación de los objetivos, procesos y documentos
- Comprobación de los criterios de entrada
- Preparación individual
- Identificación de defectos potenciales, preguntas y comentarios
- Reunión de revisión: Los revisores presentan sus resultados, discusión o registro de los resultados
documentados, identificación de defectos, presentación de recomendaciones y toma de decisiones
- Examen/evaluación/registro
- Reconstrucción: El autor corrige cualquier defecto detectado por los revisores, actualización de defectos
- Seguimiento: Comprobación de que los defectos han sido tratados, decisión de mantener una 2da reunión
- Roles
- Jefe de proyecto (manager): Inicia la revisión, decide los participantes, asigna
tiempo en el calendario del proyecto y determina si se han alcanzado los objetivos
- Moderador (moderator): Dirige la reunión, hace de mediador, concluye resultados,
planifica/ejecuta/realiza seguimiento de la revisión, recae la responsabilidad del éxito de la revisión
- Autor (author): Redactor o responsable del obejto de la revisión,
expone su trabajo y lleva a cabo los cambios recomendados
- Revisor (reviewer, inspectors,checkers): Individuos con un bagaje técnico o de negocio
específicos, detecta defectos, desviaciones y áreas problemáticas, representan
diferentes perspectivas y roles, y debería tomar parte en cualquier reunión de revisión
- Escriba (scribe): Documenta todos los asuntos, problemas y puntos que hubieran sido identificados
- Las revisiones observan los productos de software o productos resultado del trabajo desde distintos puntos de vista
- Las listas de comprobación pueden hacer las revisiones mas eficientes
- Tipo de revisiones
- Inspección(Inspection)
- Características
- Los revisores inspeccionan el objeto de la revisión haciendo uso de listas de comprobación y métricas
- Un moderador capacitado e independiente dirige la revisión
- La viabilidad de la revisión es valorada con anterioridad
- Criterios de entrada y salida especificados previamente
- Preparación previa de la reunión
- Informe de inspección incluyendo la lista de hallazgos
- Necesita secretario y es mas formal
- Ventajas y desventajas
- Sesiones formales y organizadas con roles claramente definidos
- Requiere actividades intensivas de preparación y seguimiento
- Son necesarios el moderador y el escriba
- Propósito principal: detección de defectos utilizando un método estructurado
- Revisión guiada (walkthrough)
- Características
- Opcional preparación
- Sesiones abiertas
- Pueden tomar la forma de escenarios, ejecución simulada o preparación de pares
- La reunión es dirigida por el autor
- No es necesario un moderador distinto (autor hace de moderador)
- Durante la presentación del autor los revisores tratan de detectar desviaciones o áreas que representen problema
- Ventajas y desventajas
- Esfuerzo reducido en la preparación de la sesión
- Una sesión puede ser inciada a través de notificaciones
- El autor tiene gran influencia sobre el resultado
- Posibilidad limitada de control
- Revisión técnica
- Característica
- La meta es un aspecto técnico del objeto de revisión
- Son necesario expertos, preferiblemente externos
- Se puede ejecutar como una revisión entre pares
- Liderada idealmente por un moderador
- Preparación previa por parte de los revisores
- Preparación de un informe de revisión que incluye lista de
hallazgos, el veredicto respecto del cumplimiento de requisitos
- Discusión durante la revisión
- Tomar decisiones
- Evaluar alternativas
- Detectar defectos
- Resolver problemas técnicos
- Comprobar la conformidad
- Revisión informal
- Caracteristicas
- Es la forma de revisión mas simple
- Frecuentemente iniciada por el autor
- Solamente estarán involucrados revisores (1 o +)
- No es necesaria ninguna reunión por separado
- Los resultados pueden ser registrados en forma de una lista de acción
- Ventajas, desventajas
- Fácil de ejecutar, incluso en los casos de notificaciones
- Rentable
- No requiere protocolo
- Factores de éxitos
- Orientada al logro de objetivos
- Uso sistemático de técnicas y plantillas
- Uso de listas de comprobación
- Presupuesto apropiado de 10% a 15%
- Lecciones aprendidas, utilizar retroalimentación para un proceso de mejora
- Deben ser desarrolladas en un ambiente de confianza
- Involucrar a la gente adecuada en función de los objetivos de la revisión
- Los probadores son revisores valorados que contribuyen con la revisión y
aprenden sobre el producto permitiendo preparar pruebas de forma temprana
- Análisis estático con Herramientas
- Terminologia
- Definición Análisis estático: Es aquella tarea que consiste en analizar un objeto de prueba
- Aspectos a ser comprobados
- Diseño de un programa (Análisis de flujo de control)
- Propósito: Detectar defectos causados por un desarrollo anómalo de código
- Método: La estructura del código se representa como un diagrama de control de flujo
- Grafo dirigido: Los Nodos son sentencias o secuencia de
sentencias, las aristas son transferencias, decisiones o bucles
- Resultados: Las anomalías o defectos pueden ser detectados fácilmente y el
grafo de flujo de control es una versión simplificada de un diagrama de flujo
- Uso de datos (Análisis de flujo de datos)
- Propósito: Detección de anomalías en el flujo de datos, respecto a la secuencia de flujos de datos
- Beneficios: Detección fiable de anomalías, se puede detectar fácilmente la localización
exacta de defectos, es un buen complemento para otros métodos de pruebas
- Desventajas: limitado a un rango reducido de defectos
- Método:
- Una variable puede tomar los siguientes estados a lo largo de la ejecución de un
programa: indefinida (u), definida (d), referenciada(r)
- El flujo de datos puede ser representado como una secuencia de estados u,d,r
- Si una secuencia contiene una sub-secuencia que no tiene sentido,
entonces se identifica una anomalía de flujo de datos
- Complejidad de la estructura de un programa
- Ciertos aspectos de la calidad pueden ser medidos utilizando métricas
- La métrica tiene un objetivo, una formula y una periodicidad
- Es difícil compara 2 métricas diferentes
- Número ciclomático: Métrica que mide la complejidad estática
de un programa basada en el grafo de su flujo de control
- Formula: v(G) = e-n+2p
- Número de aristas = e
- Número de nodos = n
- Número de partes del programa independientes = p
- Valores hasta 10 son aceptables, para valores superiores debe ser reconstruido
- Aspectos generales
- Todos los objetos de prueba deben tener una estructura formal
- El análisis estático con el uso de herramientas se desarrolla con un esfuerzo menor a una inspección
- El valor del análisis estático es la prevención de defectos
- Se usan compiladores para: Detectar errores sintacticos en el codigo fuente, crear datos de referencia del
programa, consistencia entre los tipos de variables detecta variables no declaradas y código muerto
- Se usan analizadores para revisar: Convenciones y estándares, métricas de complejidad y acoplamiento de objetos