Qué es el testing estático

El testing estático es el conjunto de actividades de testing que se realizan sin ejecutar el software. En lugar de correr el código, se examinan los productos de trabajo (documentos de requisitos, casos de uso, código fuente, diseños, planes de prueba) buscando defectos, inconsistencias y áreas de mejora.

Contrasta con el testing dinámico, que requiere ejecutar el software con datos de prueba. Ambos tipos son complementarios y el syllabus CTFL v4.0 los considera igualmente importantes.

Beneficios del testing estático

El testing estático tiene una relación coste-beneficio excelente, especialmente en las fases tempranas del proyecto:

  • Detección temprana: los defectos encontrados en requisitos cuestan hasta 100 veces menos que los encontrados en producción.
  • Sin necesidad de entorno de prueba: se puede aplicar desde el primer día del proyecto.
  • Mejora de la calidad de la documentación y la comunicación del equipo.
  • Transferencia de conocimiento: las revisiones facilitan que el equipo comprenda el sistema.
  • Cumplimiento regulatorio: en muchos sectores (aeronáutico, médico, financiero) las revisiones formales son obligatorias.

Tipos de revisión

El syllabus CTFL v4.0 define cuatro tipos de revisión, ordenados de menor a mayor formalidad:

TipoFormalidadUso típico
Revisión informalBajaFeedback rápido entre compañeros, sin proceso definido
WalkthroughMedia-bajaEl autor guía a los revisores por el producto, detectar defectos y mejorar la comprensión
Revisión técnicaMediaRevisores técnicos evalúan la conformidad con especificaciones y estándares
InspecciónAltaProceso formal con roles definidos, métricas y seguimiento de defectos

Roles en una inspección formal

La inspección es el tipo de revisión más formal y estructurado. Define roles específicos para cada participante:

  • Autor: el creador del producto de trabajo que se está inspeccionando. Aclara dudas pero no defiende su trabajo.
  • Moderador (líder de inspección): gestiona el proceso, asegura que se sigue el procedimiento y facilita la reunión.
  • Revisores: examinan el producto buscando defectos, aplican sus perspectivas y conocimientos específicos.
  • Escriba (registrador): documenta los defectos y decisiones tomadas durante la reunión.
  • Líder de revisión: planifica la revisión, selecciona a los revisores y asegura los recursos necesarios.

Análisis estático con herramientas

El análisis estático automatizado complementa las revisiones manuales, examinando el código fuente sin ejecutarlo mediante herramientas especializadas:

  • Linters y analizadores de código: detectan errores de sintaxis, código muerto, variables no inicializadas.
  • Comprobadores de estilo: aseguran que el código cumple los estándares de codificación del equipo.
  • Analizadores de complejidad: detectan código demasiado complejo que es propenso a defectos.
  • Herramientas de seguridad (SAST): identifican vulnerabilidades de seguridad potenciales en el código.
  • Integración en CI/CD: el análisis estático se puede ejecutar automáticamente en cada commit.

Pon a prueba lo que acabas de leer

El simulador tiene 478 preguntas con explicación razonada, y los apuntes por capítulo resumen el syllabus entero. Todo gratis y sin registro.

Seguir leyendo