False: booleaanse statussen betrouwbaar verwerken
Gepubliceerd · Bijgewerkt
False lijkt eenvoudig, maar verkeerd behandelde booleaanse statussen kunnen goedkeuringen, filters, rechten, waarschuwingen en automatisering breken. Deze gids laat zien hoe false van null, nul en leeg wordt onderscheiden en hoe fout-positieven worden voorkomen.
Bepaal precies wat false betekent
Een boolean staat meestal voor true of false, maar een expliciete negatieve waarde is niet hetzelfde als ontbrekende informatie.
Leg voor ieder veld vast wat true, false, null en de standaardwaarde betekenen.
Bij goedkeuring kan false afwijzing betekenen en null dat er nog geen besluit is genomen.
- Staten definiëren
- False en ontbrekend scheiden
- Null documenteren
- Defaults bewust kiezen
Scheid false van null, nul en leeg
Brede controles kunnen false, nul, lege tekst en null als dezelfde toestand behandelen.
Gebruik expliciete vergelijkingen wanneer het proces verschil vereist.
In formulieren kan leeg ongeldig zijn terwijl false een geldige keuze is.
- Expliciet vergelijken
- Null apart behandelen
- Nul behouden
- Leeg apart valideren
Verminder fout-positieven
Een fout-positief ontstaat wanneer een regel activeert terwijl de echte voorwaarde niet aanwezig is.
Bepaal welke gegevens nodig zijn voordat een conditie true wordt en vermijd te brede regels.
Met Infera Agent moet gegenereerde logica worden getest met positieve, negatieve, ontbrekende en grensgevallen.
- Bewijs definiëren
- Brede regels vermijden
- Negatieve gevallen testen
- Gegenereerde logica controleren
Bewaar false correct in formulieren
Een niet aangevinkte checkbox kan soms geen waarde versturen. De app moet nee van niet beantwoord kunnen onderscheiden.
Voor verplichte ja-nee-vragen zijn expliciete keuzes vaak duidelijker.
Bij bewerken moet opgeslagen false correct worden weergegeven en niet door een default worden vervangen.
- Ja-nee expliciet maken
- Niet aangevinkt opslaan
- False behouden
- Defaults niet overschrijven
Test filters, rechten en dashboards
Filters moeten records met false onderscheiden van records zonder waarde.
Bij rechten betekent false toegang weigeren, terwijl ontbrekende configuratie een andere afhandeling kan vereisen.
Maak testdata met true, false, null, nul en leeg en controleer tellingen, filters en rechten.
- Meerdere staten testen
- Tellingen controleren
- Weigering en ontbrekend scheiden
- Representatieve data gebruiken
Normaliseer API- en databasewaarden
Externe systemen kunnen false als boolean, 0 of tekst leveren. Normaliseer aan de systeemgrens.
Vertrouw niet blind op automatische conversie wanneer de uitkomst belangrijk is.
Een database-default false is iets anders dan null totdat een besluit is genomen.
- Waarden normaliseren
- Types valideren
- Defaults bewust kiezen
- Lezen en schrijven gelijk maken
Debug met observeerbaar bewijs
Inspecteer de opgeslagen waarde en het type in plaats van alleen de interface.
Log oorspronkelijke waarde, genormaliseerde waarde, conditie en gekozen tak.
Voeg na de fix een regressietest toe voor het exacte geval.
- Waarde en type inspecteren
- Normalisatie loggen
- Logische tak volgen
- Regressietest toevoegen
Gebruik een betrouwbaarheidchecklist
Controleer vóór release ieder booleanveld en bevestig betekenis, default en toegestane ontbrekende staat.
Test formulieren, filters, rechten, automatisering, API’s en rapporten met alle relevante waarden.
Goede verwerking van false bewaart betekenis en vermindert fout-positieven.
- Booleans controleren
- Alle staten testen
- UI en opslag vergelijken
- Tests behouden
Gerichte regressietests toevoegen
Iedere opgeloste false-bug hoort een blijvende test te worden. Leg invoer, type, normalisatie, conditie en verwacht resultaat vast zodat latere wijzigingen dezelfde fout niet opnieuw introduceren.
Groepeer tests per risicogebied zoals formulieren, rechten, filters, integraties en automatisering. Zo kunnen kritieke onderdelen voor een release sneller worden gecontroleerd.
Voor extra betrouwbaarheid kun je een testmatrix maken waarin booleaanse statussen worden gecombineerd met rollen, gegevensbronnen en kritieke acties. Dezelfde false-waarde kan in een scherm correct lijken maar in automatisering toch verkeerd worden behandeld wanneer modules verschillende regels gebruiken.
Wanneer meerdere modules hetzelfde booleanveld gebruiken, leg dan centraal vast wat de betekenis, het type en de toegestane waarden zijn. Formulieren, API’s, databasequeries, filters en rapporten gebruiken dan dezelfde interpretatie.
Neem ook historische records op in de tests. Een nieuw booleanveld kan bij oudere gegevens leeg zijn terwijl nieuwe records altijd true of false opslaan. Filters, rapporten en automatisering moeten beide groepen consistent verwerken.
Beslis bij migraties bewust of oude ontbrekende waarden naar false mogen worden omgezet of als onbekend moeten blijven. Die keuze hoort bij de zakelijke betekenis en niet alleen bij technische eenvoud.
Leg ook bekende uitzonderingen vast. Als een externe integratie afwijkende representaties levert, normaliseer die dan centraal zodat niet ieder onderdeel eigen uitzonderingsregels ontwikkelt.
Vragen
Wat is een fout-positief?
Een situatie waarin het systeem een conditie als waar meldt of activeert terwijl deze in werkelijkheid niet aanwezig is.
Is false hetzelfde als null?
Nee. False is een expliciete negatieve waarde; null betekent meestal ontbrekend, onbekend of niet ingesteld.
Waarom ontstaan booleanbugs in formulieren?
Niet aangevinkte velden, ontbrekende waarden, defaults en typeconversie kunnen false verliezen of verkeerd interpreteren.
Wat moet worden getest?
True, false, null, leeg, nul, ongeldige waarden en grensgevallen in formulieren, filters, rechten, API’s en automatisering.