10. Brevísima historia del Testing
● Orientado al debugging (hasta 1956)
– Escribe, luego revisa
● Orientado a la demostración (1957-1978)
– Mostrar que cumple el objetivo
● Orientado a la destrucción (1979-1982)
– Mostrar que hay errores
● Orientado a la evaluación (1983-1988)
– Metodología, nace la ingeniería de pruebas
● Orientado a la prevención (1989-actualmente)
11. Orientado a la prevención
● Planificación de casos de prueba
● Distintos tipos de pruebas
● Cíclico... nunca termina
– … o al menos tarda en terminar
● El objetivo es producir software efectivo, no
software que sólo pase pruebas.
12. Debes programar como si quien va
a mantener tu código...
...es un pran de El Rodeo
16. Beneficios
● Definición del requerimiento
● Obliga a escribir las pruebas
– Importante...
● Ayuda a definir el algoritmo
● Visualizar casos no previstos
20. Problemas
● Data Inicial (fixtures)
– JSON, XML, YAML...
● Acceso a datos
– Escribir y leer de disco cuesta...
● Servicios externos
– Pueden hacer fallar la prueba...
21. Soluciones
● Sobre los fixtures
– Usar fábricas
● Acceso a datos
– Utilizar almacenamiento in-
memory
● Servicios externos
– Utilizar mockers
22. El argumento épico
● Las pruebas unitarias consumen tiempo, es
mejor lanzar nuevos features rápido, si da
tiempo las hacemos...
23. El argumento épico
● Las pruebas unitarias consumen tiempo, es
mejor lanzar nuevos features rápido, si da
tiempo las hacemos...
24. La respuesta coherente
● Es mejor invertir unas horas extra haciendo
pruebas que gastar semanas haciendo debug
de todo el programa para encontrar el código
que produce un error.
25. La respuesta coherente
● Es mejor invertir unas horas extra haciendo
pruebas que gastar semanas haciendo debug
de todo el programa para encontrar el código
que produce un error.