Capítulo 22. Pruebas de aceptación
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Como desarrollador, es fácil centrarse en las pruebas que rodean directamente a tu código base: pruebas unitarias, pruebas de integración, pruebas de interfaz de usuario y similares. Estas pruebas verifican que el código hace lo que pretendes. Son una herramienta inestimable para mantener tu código sin regresiones. También son una herramienta totalmente equivocada para construir lo que espera un cliente.
Los desarrolladores escriben estas pruebas con pleno conocimiento del código, lo que significa que las pruebas están sesgadas hacia las expectativas de ese desarrollador. Sin embargo, no hay ninguna garantía de que este comportamiento probado sea realmente lo que quiere el cliente.
Considera la siguiente prueba unitaria:
def
test_chili_has_correct_ingredients
():
assert
make_chili
()
.
ingredients
()
==
[
"Ground Beef"
,
"Chile Blend"
,
"Onion"
,
...
"Tomatoes"
,
"Pinto Beans"
]
Esta prueba puede ser hermética; pasa y capta cualquier regresión realizada en el código. Sin embargo, al presentársela a un cliente, podrías encontrarte con: "¡No, yo quería chili al estilo tejano! Ya sabes, sin tomates ni judías". Todas las pruebas unitarias del mundo no te salvarán de construir algo equivocado.
Aquí es donde entran en juego las pruebas de aceptación. Las pruebas de aceptación comprueban que estás construyendo el producto correcto. Mientras que ...
Get Python robusto now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.