Fechas que merece la pena probar
El software no falla en un martes cualquiera. Falla el último día del trimestre, el 29 de febrero, en el momento en que cambia el año y un segundo después de que caduque una licencia. Estas son las fechas que encuentran esos errores - 14 de ellas se incluyen como escenarios con nombre.
Límites de periodo
Todo lo que cierra un periodo, numera un documento por año o devenga hasta una fecha de corte falla primero aquí.
- Último día del mes - ¿se comportan bien el cierre mensual y el devengo del periodo el último día del mes?
- Último día del trimestre - ¿se comportan bien el cierre trimestral y los informes el último día del trimestre?
- Último día del año fiscal - ¿cierra la aplicación el año fiscal el día correcto, el día antes de que empiece el siguiente?
- Cambio de año, en vivo - ¿la numeración de documentos, el año en el nombre y los informes anuales gestionan el cambio mientras ocurre, en lugar de reiniciarse después?
El último es el que normalmente no se puede probar de ninguna manera, porque necesita que el reloj cruce la medianoche del 31 de diciembre mientras la aplicación está en marcha. Con un reloj acelerado es cuestión de diez segundos.
Bordes del calendario y de la representación
- 29 de febrero - el día bisiesto que solo existe cada cuatro años y que una cantidad sorprendente de código de validación rechaza sin más.
- Epoch Unix cero - ¿trata la aplicación el 1 de enero de 1970 como una fecha real, o como un valor vacío que debería haberse negado a guardar?
- Límite de 2038 - el momento en que se agota un
time_tde 32 bits con signo, en2038-01-19T03:14:07Z. Un segundo después, el contador se desborda hasta 1901.
Licencias, pruebas e instalación
Estos sirven para probar tu propio sistema de licencias, que es el caso para el que se escribieron.
- Último día de la prueba - ¿sigue funcionando la aplicación en el último instante de la prueba?
- Primer día tras caducar la prueba - ¿niega el acceso en el momento en que termina la prueba, y cómo? ¿Con un mensaje razonable o con un volcado de pila?
- Licencia caducada hace un año - ¿gestiona una licencia caducada hace mucho, no solo ayer?
- Fecha anterior a la instalación - ¿se comporta bien cuando el reloj está puesto antes de su propia fecha de instalación? Este lee la fecha de archivo del propio objetivo, así que no necesita ningún parámetro.
Reglas de negocio y comportamiento del reloj
- Pago vencido, +N días laborables - ¿un pago que vence dentro de N días laborables cae en el día correcto, saltándose los fines de semana y los festivos del país correcto? El único escenario que necesita un calendario, y la respuesta difiere entre mercados.
- Límite de la mayoría de edad - ¿admite la aplicación a alguien justo en el límite y rechaza a alguien que está a un día?
- Desfase de reloj, +90 s - ¿se las arregla la aplicación cuando su reloj va noventa segundos adelantado? Es el caso que rompe las contraseñas de un solo uso basadas en tiempo y la validación de tokens.
Usar uno
Un escenario es una expresión de fecha con nombre. La calculadora averigua qué significa, y la sustitución ejecuta una aplicación en esa fecha - el mismo nombre en ambos sitios.
# ¿Qué fecha es y qué prueba esa fecha? chrono calc --preset month-end # Ejecutar una aplicación en ella chrono run "C:\apps\test.exe" --preset year-rollover --report session.txt # Los escenarios de prueba toman la fecha de inicio de la fecha de archivo del propio objetivo chrono run "C:\apps\test.exe" --preset trial-first-day-after
En la ventana son chips sobre el campo de fecha - un clic lo rellena. Cada uno lleva su propia frase que dice qué detecta, que es lo que una calculadora de fechas en línea no puede darte.
Lo que no está aquí
Los cambios de horario de verano. Hacer pasar a una aplicación por el límite del cambio a horario de verano o de vuelta es una prueba realmente útil y está deliberadamente ausente, porque la zona horaria de la sesión es un desfase fijo sin horario de verano - todavía no hay ninguna transición que simular. Incluir un escenario que silenciosamente no hiciera nada sería peor que no incluirlo.
Volverá con un modelo de las reglas de zona horaria. Lo que la zona horaria hace y lo que no →