viernes, 22 de abril de 2011

De abajo pa´riba o de arriba pa'bajo

Probar el software es un arte, de eso no hay duda. Eso quiere decir que los resultados dependen de destrezas personales en mayor medida que en la mera aplicación de un procedimiento en particular, tipo paso 1, paso 2, paso 3.
Como si de por sí el llevar a cabo las pruebas no fuera algo delicado, en el sentido de que debe darse un buen veredicto lo antes posible, debe tomarse una decisión para poder empezar las pruebas lo antes posible: empezar a probar de arriba hacia abajo o de abajo hacia arriba.
Empezar de arriba hacia abajo tiene una ventaja y es que se inicia casi al mismo tiempo que la construcción de software, pero tiene la desventaja de que debe suponerse lo que vendrá a futuro, es decir tiene un sesgo de supuestos muy fuerte. En este punto sale ganando el de abajo hacia arriba.
De arriba hacia abajo permite, en la medida en que lo más complicado del software esté listo iniciar desde allí, esto implica que una vez probado puede rápidamente corregirse, mientras que si fuera de abajo hacia arriba el tiempo destinado a la corrección se daría muy avanzado el desarrollo, es decir, punto a favor de arriba hacia abajo.

Ambos enfoques son laboriosos en el sentido de que deben crearse stubs o drivers para completar las partes faltantes, lo cual implica trabajo adicional al test, en este punto no hay ventaja para ninguno de los enfoques.


Además de lo anterior está una tercera alternativa, puede que no se decida nada del todo y que se usen métodos no incrementales para la prueba, es decir partimos de una poca rigurocidad y especificidad en el orden de los elementos a probar y se descarta utilizar alguna técnica, es decir bing bang.
Cómo recomendación debería seleccionarse alguno de los dos primeros, tendiendo si el tiempo lo permite alguna inclinación por el enfoque de abajo hacia arriba, así los resultados pueden ser más robustos.
Repito como es un tema de arte, que cada artista decida como perfeccionar su técnica.

1 comentario: