banner

1.3 Niveles y tipos de pruebas


Es fácil confundir los términos nivel y tipo de prueba. De hecho en muchos documentos en internet se comete el error de no hacer la distinción entre uno y otro. Los niveles de pruebas están asociados al "qué" se prueba pero considerando el sistema como un conjunto de partes; en esa medida cada nivel de pruebas se enfoca en un nivel de composición de partes del sistema .

Existen 4 niveles de pruebas: unidad, integración, sistema, aceptación. Vamos a usar la metáfora de un carro para explicar cada nivel.

(Free image by Cam Bowers on Unsplash)

Unidad. Este nivel de pruebas se enfoca en componentes (métodos, funciones) de forma aislada. Es decir la prueba se hace para métodos o funciones individuales. No requieren tener la totalidad del sistema terminado porque se prueba solo el método bajo análisis. En el caso del carro, una prueba de unidad sería aquella que se enfoca en las llantas. Son las más rápidas de ejecutar y las que proveen feedback más rápido porque tan pronto se ejecuta la prueba se sabe si falló o no Las pruebas de unidad son las más eficaces a la hora de detectar el componente exacto donde hay un error en el código.

Integración Este nivel se enfoca en la combinación de diferentes componentes. En el caso de nuestro espectacular carro, una prueba de integración sería para todo el sistema de transmisión que incluye las llantas, el embrague, la caja de velocidades, el diferencial, etc. Estas pruebas no son tan rápidas como las pruebas de unidad porque requiere construir una versión del sistema que incluye todos los componentes a probar.

Sistema En este nivel se prueba el sistema como un todo (el carro completo). Las pruebas de nivel sistema se pueden hacer de forma granular, es decir casos de uso/funcionalidades individuales, o combinando flujos completos de inicio a fin.

Aceptación Se prueba el sistema como un todo, pero en este caso en condiciones reales de uso (ej., conducir el carro en Tocancipa, o en la carretera Bogotá - Girardot). Estas pruebas son las más costosas de realizar y en las cuales es más dificil encontrar el lugar exacto del código donde se generó el error.

¿Cuál es la relación entre niveles y tipos? Para cada nivel de pruebas se pueden diseñar/ejecutar diferentes tipos de pruebas. Los tipos son más generales a los niveles. Un tipo de prueba representa una forma de hacer pruebas, donde forma quiere decir qué, cómo, cuándo, por qué y quién hace la prueba. Existen diferentes taxonomías de pruebas. La más completa que hemos encontrado es la taxonomía elaborada por Donald Firesmith del Software Engineering Institute.





results matching ""

    No results matching ""