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