Resumen Estrategia de prueba del software

 

La estrategia de pruebas de software define el enfoque general para verificar y validar que el software cumple con los requerimientos establecidos y es confiable, funcional y de calidad.

Elementos Clave de una Estrategia de Pruebas

  1. Definición de objetivos claros y medibles
    • Los requerimientos deben especificarse en términos cuantificables (ej: cobertura, tiempo medio entre fallos).
    • Las pruebas deben enfocarse tanto en detectar errores como en evaluar atributos de calidad como usabilidad, portabilidad, y mantenibilidad.
  2. Planificación de pruebas
    • Desarrollo de un plan de pruebas que incluya pruebas de ciclo rápido (iterativas) y retroalimentación continua.
    • La planificación considera también revisiones técnicas que ayudan a descubrir errores antes de probar.
  3. Diseño del software orientado a pruebas
    • El software debe facilitar el diagnóstico de errores (autocomprobación), uso de pruebas automatizadas y de regresión.
  4. Mejora continua del proceso
    • Uso de métricas para medir la eficacia de las pruebas y mejorar el proceso con base en datos estadísticos.

Tipos de Pruebas por Nivel

1. Prueba de Unidad

  • Evalúa módulos individuales.

  • Se enfoca en:
    • Interfaces internas
    • Lógica de control y estructuras de datos
    • Manejo de errores
    • Pruebas de condiciones de frontera

2. Pruebas de Integración

  • Verifica la interacción entre módulos.

  • Estrategias:

    • Descendente: desde el módulo principal hacia los subordinados (requiere stubs).
    • Ascendente: desde módulos atómicos hacia arriba (requiere controladores).
    • Mixta: combina ambas según la criticidad del módulo.

  • Criterios de prueba:

    • Integridad de interfaz
    • Validez funcional
    • Contenido de la información
    • Rendimiento

3. Prueba de Regresión

  • Verifica que nuevas integraciones o correcciones no rompan funcionalidades ya existentes.
  • Utiliza conjuntos selectivos de pruebas anteriores.

4. Prueba de Humo

  • Ejecución rápida y diaria del sistema completo o parcial.
  • Detecta errores críticos que podrían bloquear el progreso del proyecto.

Comentarios

Entradas populares