False: stati booleani e logica affidabile
Pubblicato il · Aggiornato il
False sembra semplice, ma una gestione errata degli stati booleani può rompere approvazioni, filtri, permessi, avvisi e automazioni. Questa guida spiega come separare false da null, zero e vuoto, ridurre i falsi positivi e testare la logica in modo prevedibile.
Definire il significato di false
Un booleano rappresenta normalmente true o false, ma una risposta negativa esplicita non equivale a un dato mancante.
Documenta il significato di true, false, null e del valore predefinito per ogni campo.
In un’approvazione false può significare rifiuto mentre null può significare decisione non ancora presa.
- Definire gli stati
- Separare false dall’assenza
- Documentare null
- Scegliere i default
Separare false da null, zero e vuoto
Controlli troppo generici possono trattare false, zero, stringa vuota e null come lo stesso stato.
Usa confronti espliciti quando il processo richiede una distinzione.
Nei moduli un valore vuoto può essere incompleto mentre false può essere una risposta valida.
- Confrontare esplicitamente
- Gestire null separatamente
- Conservare zero
- Validare il vuoto
Ridurre i falsi positivi
Un falso positivo si verifica quando una regola si attiva anche se la condizione reale non esiste.
Definisci le prove necessarie prima che una condizione diventi true ed evita regole troppo larghe.
Con Infera Agent, descrivi la logica in modo preciso e prova casi positivi, negativi, mancanti e limite.
- Definire le prove
- Evitare regole ampie
- Testare casi negativi
- Verificare la logica generata
Preservare false nei moduli
Un controllo non selezionato può non inviare alcun valore. L’app deve distinguere no da non risposto.
Per domande obbligatorie, opzioni sì-no esplicite sono spesso più chiare.
In modifica, mostra false correttamente e non sostituirla con un default.
- Usare sì-no esplicito
- Salvare lo stato non selezionato
- Preservare false
- Evitare sovrascritture
Testare filtri, permessi e dashboard
I filtri devono distinguere false da valori mancanti.
Nei permessi false dovrebbe negare accesso mentre una configurazione mancante può richiedere un altro percorso.
Prepara dati con true, false, null, zero e vuoto e controlla conteggi, filtri e accessi.
- Testare stati diversi
- Controllare conteggi
- Separare negato da non configurato
- Usare dati rappresentativi
Normalizzare API e database
Sistemi esterni possono inviare booleani come false, 0 o testo. Normalizza questi valori all’ingresso.
Valida tipo e valore prima della conversione quando la correttezza è importante.
Un default database false è diverso da null fino a decisione; scegli ciò che rappresenta il processo reale.
- Normalizzare valori
- Validare tipi
- Scegliere default consapevoli
- Uniformare lettura e scrittura
Debuggare con prove osservabili
Controlla il valore memorizzato e il tipo, non solo l’interfaccia.
Registra valore originale, valore normalizzato, condizione e ramo scelto.
Dopo la correzione aggiungi un test di regressione.
- Controllare valore e tipo
- Registrare normalizzazione
- Seguire il ramo logico
- Aggiungere regressione
Creare una checklist di affidabilità
Prima del rilascio rivedi tutti i campi booleani del workflow e conferma significato, default e stati consentiti.
Testa moduli, filtri, permessi, automazioni, API e report con tutti gli stati importanti.
Una corretta gestione di false protegge il significato dei dati e riduce falsi positivi e decisioni sbagliate.
- Rivedere i booleani
- Testare tutti gli stati
- Confrontare UI e storage
- Mantenere test
Aggiungere test di regressione mirati
Ogni bug legato a false dovrebbe diventare un test permanente. Il test deve includere input, tipo, normalizzazione, condizione e risultato atteso per impedire che modifiche future reintroducano lo stesso errore.
Organizza i test per area di rischio: moduli, permessi, filtri, integrazioni e automazioni. Questo rende più semplice controllare le parti critiche prima del rilascio.
Per aumentare ulteriormente l’affidabilità, crea una matrice che combini stati booleani, ruoli, fonti dati e azioni critiche. Lo stesso false può apparire corretto in una schermata ma causare errori in un’automazione se i moduli applicano regole diverse.
Quando più moduli usano lo stesso campo booleano, documenta un contratto semplice sul significato, sul tipo e sui valori consentiti. Moduli, API, database, filtri e report possono così condividere la stessa interpretazione.
Includi anche record storici nei test. Un nuovo campo booleano può essere vuoto nei dati precedenti mentre i nuovi record memorizzano sempre true o false. Filtri, report e automazioni devono gestire entrambi in modo coerente.
Durante una migrazione, decidi esplicitamente se i vecchi valori mancanti possono diventare false oppure devono restare sconosciuti. La scelta deve seguire il significato di business, non la sola comodità tecnica.
Documenta anche i casi eccezionali noti. Se un’integrazione esterna invia rappresentazioni particolari, normalizzale in un punto centrale per evitare logiche diverse tra moduli.
Domande
Che cos’è un falso positivo?
Una situazione in cui il sistema segnala o attiva una condizione come vera anche se in realtà non è presente.
False è uguale a null?
No. False è un valore negativo esplicito; null indica normalmente assenza, valore sconosciuto o non impostato.
Perché i booleani causano bug nei moduli?
Controlli non selezionati, campi omessi, default e conversioni di tipo possono far perdere false.
Cosa bisogna testare?
True, false, null, vuoto, zero, valori non validi e casi limite in moduli, filtri, permessi, API e automazioni.