Ongewone invoer proberen

Programmeergidsen

Een programma moet meer aankunnen dan het ene voorbeeld dat de maker toevallig heeft geprobeerd. Ongewone invoer helpt je aannames te ontdekken: dingen die je programma verwacht, terwijl je de regel nog niet hebt opgeschreven.

Probeer een ontbrekend antwoord, het kleinste toegestane getal, het grootste toegestane getal of twee keer dezelfde keuze. Zulke voorbeelden heten vaak randgevallen of grensgevallen.

Controleer de grenzen van een regel

Stel dat een spel niveaus van 1 tot en met 5 accepteert. Niveau 1 en niveau 5 moeten werken. Niveau 0 en niveau 6 niet. Alleen niveau 3 testen vertelt weinig over de grenzen.

Bedenk bij een bijnaam of een leeg antwoord mag en hoe lang de naam mag zijn. Verschillende programma’s kunnen andere keuzes maken. Het gaat erom dat de regel duidelijk is.

Test een bijnaamregel

Hier hebben geldige bijnamen één tot en met acht getelde tekens. De lijst bevat verzonnen invoer. Het voorbeeld heeft dus geen omgeving nodig waarin je vragen kunt beantwoorden.

# taal: nl
voor bijnaam in ["", "Pli", "12345678", "123456789"]:
    laat grootte = lengte(bijnaam)
    als grootte >= 1 en grootte <= 8:
        zeg "Goedgekeurd"
    anders:
        zeg "Kies 1 tot en met 8 tekens."

Voorspel en probeer

Welke vier antwoorden verschijnen, in welke volgorde?

Kies 1 tot en met 8 tekens.
Goedgekeurd
Goedgekeurd
Kies 1 tot en met 8 tekens.

Het voorbeeld met acht tekens controleert of we per ongeluk < 8 gebruiken in plaats van <= 8. Pliro telt met lengte Unicode-codepunten in tekst. Sommige zichtbare tekens, waaronder sommige emoji, bestaan uit meer dan één codepunt. Gebruik voor deze oefening eerst gewone letters en cijfers.

Jouw uitdaging

Voeg een bijnaam van één teken toe en herhaal "Pli" twee keer. Moeten de herhalingen worden goedgekeurd? Onze regel controleert alleen de lengte. Namen hoeven niet uniek te zijn. Probeer ook één spatie en leg uit waarom deze versie die accepteert.

Een veelgemaakte fout

Verwachten dat een programma een ongeschreven regel toepast, zorgt voor verrassingen. ‘Niet leeg’, ‘niet alleen spaties’ en ‘nog niet gebruikt’ zijn verschillende controles. Bepaal eerst welke jouw project echt nodig heeft.

Verder leren

Testen · Tekstlengte · Invoer en uitvoer