Cosa succede se un test fallisce?
La build si interrompe e nessuna pagina viene pubblicata finché il problema non è risolto: i controlli sono bloccanti, non consultivi.
Ogni calcolatore è coperto da controlli automatici eseguiti a ogni build. Qui spieghiamo che cosa testiamo, con quali criteri, e — altrettanto importante — che cosa i test automatici non possono garantire.
I test vengono eseguiti a ogni build: se un test fallisce, la pubblicazione si blocca.
I conteggi mostrati in questa pagina provengono dal report generato realmente dalla suite di test durante la build.
I test automatici verificano il software; la correttezza sostanziale di metodo e fonti richiede revisione umana, il cui stato è dichiarato pagina per pagina.
Nell'ultima esecuzione registrata della suite automatica (report generato dalla build) risultano 489 controlli automatici in 15 file di test, di cui 489 superati (nessun fallimento). I controlli coprono i 40 calcolatori del catalogo.
Ogni calcolatore espone una funzione di calcolo pura che viene testata in isolamento: dati certi input, il risultato deve corrispondere al valore atteso. I test coprono i casi d’uso principali di ciascun calcolatore e vengono eseguiti automaticamente a ogni build.
Per le formule critiche usiamo casi di riferimento con valori attesi calcolati indipendentemente e verificati passo per passo (per esempio: prezzo di vendita, margine effettivo e prezzo minimo con commissioni e resi). Il test confronta il risultato del calcolatore con il valore atteso esatto, sui decimali dichiarati.
Controlliamo i comportamenti al limite: valori nulli o minimi, percentuali estreme, durate lunghe, combinazioni di input che storicamente producono errori numerici. Un controllo strutturale su tutti i calcolatori verifica inoltre che nessuno scenario produca valori non numerici o infiniti.
I casi già corretti restano nel corredo di test per impedire che una modifica successiva reintroduca lo stesso errore (inclusa la retrocompatibilità: input storici devono continuare a produrre gli stessi output). Una regressione dedicata verifica anche che le date editoriali non derivino dall’orologio di build: due generazioni consecutive senza cambi di contenuto devono produrre pagine identiche.
Gli output monetari e percentuali sono arrotondati alla precisione dichiarata da ciascun output (tipicamente due decimali) e i test confrontano i valori attesi a quella precisione. Gli arrotondamenti avvengono alla fine del calcolo, non nei passaggi intermedi, per non accumulare errori.
Oltre ai valori, verifichiamo la struttura: ogni output dichiarato deve essere presente, numerico e coerente con il tipo e il formato dichiarati (valuta, percentuale, intero). Gli input fuori dai limiti dichiarati vengono respinti con messaggi di validazione, anch’essi testati.
I test automatici verificano che il software faccia ciò che è stato progettato per fare: non possono stabilire se il metodo scelto è quello giusto per il caso d’uso, se una norma è cambiata ieri o se un’ipotesi è adeguata alla situazione di chi usa il calcolatore. Coprono i casi previsti: un caso non previsto può non essere coperto.
Per questo distinguiamo sempre due livelli: i test software, automatici e ripetuti a ogni build, e la revisione umana di metodo, fonti e contenuti, tracciata con data e responsabile nel pannello «Responsabilità editoriale» di ogni pagina. Un test superato non viene mai presentato come una revisione umana completata.
La build si interrompe e nessuna pagina viene pubblicata finché il problema non è risolto: i controlli sono bloccanti, non consultivi.
Garantiscono che il software si comporti come atteso nei casi coperti. La correttezza del metodo e l’attualità delle fonti richiedono revisione umana, il cui stato è dichiarato in ogni pagina.
Le date indicate sono date editoriali documentate nel registro di governance, non date di generazione tecnica della pagina.
Hai trovato un errore? Segnala un errore tramite il sito Fidamen (non è ancora attivo un canale di assistenza dedicato).