Probar lo irreversible
Migraciones, escrituras y borrados: las pruebas que protegen lo único que no se puede deshacer en la máquina de otra persona.
Las migraciones
Lo del nivel 43.2, con su forma de prueba:
La última parece obvia y se olvida: una migración puede aplicarse sin errores y haber perdido una columna por el camino.
Las escrituras interrumpidas
Lo del nivel 40.2, que se puede probar:
Y la segunda tiene una versión más agresiva que merece hacerse una vez a mano: matar el proceso a mitad de una escritura grande y comprobar el estado del disco. Nivel 40.2.
Los borrados
Y lo que hay que probar de una operación destructiva:
- Que borra lo que debe, exactamente.
- Y que no borra lo que no debe — que es la prueba que importa: un borrado en cascada mal configurado se lleva cosas que nadie esperaba.
- Que la confirmación es obligatoria en el camino del usuario.
- Y que hay copia previa si es masivo. Nivel 43.4.
La segunda merece una prueba explícita por cada relación en cascada que tu esquema declare.
Las copias
Y cerrar el círculo del nivel 43.4, que preguntaba si alguna vez habías restaurado una:
- Probar que la copia se hace y contiene lo que debe — con la API correcta, no copiando ficheros. Nivel 41.5.
- Probar que se restaura, en una prueba automática: hacer copia, modificar, restaurar, comprobar que volvió.
- Y probar el ciclo completo de la migración fallida: provocar un fallo, comprobar que la base queda como estaba y que la copia se conserva.
La segunda es la que contesta la pregunta del nivel 43.4 de forma permanente: si está automatizada, la respuesta a «¿has restaurado alguna vez?» es «en cada construcción».