viernes, 18 de marzo de 2016

Técnicas de Estimación de Pruebas - Test Case Point Analysis

Uno de los primeros retos a los que se enfrenta un Test Manager al inicio de un proyecto es realizar una buena estimación de tiempos.

Existen multitud de técnicas de estimación de pruebas, pero su precisión depende siempre (en mayor o menor medida) de la experiencia previa y de la capacidad y conocimientos del equipo.

ISTQB, por ejemplo, propone 3 técnicas de estimación:


  1. Estimación experta. Esta técnica consiste en:
    • Identificar todas las tareas a ejecutar (normalmente utilizando un enfoque descendente (“top down”)).
    • Obtener estimaciones para cada tarea por los responsables (de su ejecución) o por expertos.
    • Sumar todos los valores de las tareas. Incluir los factores de corrección (si hay experiencias respecto de la exactitud de ciertos estimadores).
    • Incluir elementos amortiguadores (buffers)/elementos adicionales, con el objeto de cubrir tareas omitidas o subestimadas.

  2. Estimación basada en analogías. Esta técnica consiste en:
    • Clasificar las tareas de pruebas requeridas.
    • Buscar un proyecto que se haya desarrollado en el pasado que contenga una tarea similar a una específica.
    • Utilizar el esfuerzo real de esta tarea como base de la estimación.
    • A través del uso de métricas (líneas de código, número de módulos, número de casos de prueba, etc.) como base, calcular el valor de la estimación total.
    • Considerar factores de corrección.

  3. Estimación basada en porcentajes. Esta técnica consiste en:
    • El esfuerzo para las actividades de pruebas se estiman sobre la base de la totalidad de las actividades del proyecto.
    • El valor del porcentaje requiere ser determinado basándose en la experiencia.
    • La estimación basada en porcentajes no tiene en cuenta el esfuerzo de las pruebas de regresión, que pueden ser una parte sustancial de las pruebas de mantenimiento y asociadas a cambios.
Actualmente, existen otras técnicas de estimación que encajan mejor con las metodologías ágiles como SCRUM, por ejemplo el Planning Poker.

También hay técnicas muy elaboradas que tienen en cuenta multitud de factores, como el TPA (Test Point Analysis) de Sogeti.

En la línea del TPA se encuentra la técnica de TCPA (Test Case Point Analysis). En internet disponéis de múltiples propuestas de aplicación de esta técnica, como por ejemplo las de:
  1. QA Symphony
  2. Cognizant
  3. Priya Chaudhary y C.S. Yadav
Evidentemente, todas estas aplicaciones cuentan con muchas similitudes, pero también tienen diferencias, como los factores a considerar, los pesos de dichos factores, las actividades de pruebas contempladas, etc.

A continuación, propongo un modelo de aplicación del TCPA que aglutina elementos de las referencias anteriores.

Compartir