Sollicitatieformulier testgevallen zijn de zichtbare helft van de kwaliteit van een recruitmentsysteem, en de helft die het vaakst van het probleemloze pad naar buiten wordt geschreven. Een formulier dat werkt wanneer een kandidaat elk veld correct invult, is niet getest; het is slechts één keer bekeken.
Dit artikel zet uiteen waarom formulieren met meerdere stappen defecten tussen hun stappen verbergen, welke sollicitanttakken elk een eigen geval verdienen, hoe verplichte velden meebewegen met veranderende antwoorden, en wat er gebeurt wanneer dezelfde persoon twee keer indient.
Waarom verbergen formulieren met meerdere stappen zoveel defecten?
Omdat elke stap op zichzelf wordt gecontroleerd. Een formulier van één pagina wordt gewoonlijk van begin tot eind getest, want de hele interactie kost een minuut. Een formulier dat over vijf stappen is gesplitst, wordt gewoonlijk stap voor stap getest, door dezelfde persoon, in dezelfde sessie, vertrekkend vanuit een toestand die de vorige stap gemakkelijk achterliet.
De defecten die overleven, leven in de naden. Een waarde ingevoerd in stap twee en gelezen in stap vier. Een validatieregel die draait wanneer een stap wordt verlaten maar niet wanneer het formulier bij die stap wordt hervat. Een veld dat verplicht is in de ene reisrichting en stil optioneel in de andere. Een terugknop die de inhoud van de stap weggooit of, erger, de oude waarden behoudt en ze terugschrijft over de nieuwe.
Twee gewoonten vinden de meeste ervan. Doorloop het formulier in een onverwachte volgorde, inclusief achteruit, en bevestig dat waarden de reis intact overleven. En begin elk geval bij de stap die wordt getest met een direct geconstrueerde toestand, in plaats van door de eerdere stappen opnieuw af te spelen — omdat ze opnieuw afspelen betekent dat de eerdere stappen impliciet deel zijn van elk geval, en een defect daar zal elk geval om dezelfde reden laten falen en de rest verbergen.
Welke sollicitanttakken verdienen hun eigen testgeval?
Minstens vier, omdat elk een andere set voorwaardelijke velden oefent.
| Tak | Wat het belast |
|---|---|
| Eerste sollicitant zonder ervaring | Secties die overslaanbaar moeten zijn, en een inzending die geldig blijft wanneer ze leeg zijn |
| Ervaren sollicitant met een lange geschiedenis | Herhaalde vermeldingen, ordening, en of eerdere vermeldingen bewerkbaar zijn nadat er meer zijn toegevoegd |
| Sollicitant zonder formele opleiding | Verplichte-veldregels die aannemen dat opleiding bestaat, en de melding die in plaats daarvan verschijnt |
| Sollicitant uit een andere regio | Datumformaten, naamorde, adresstructuur, en elk veld waarvan de validatie regiovormig is |
Een vijfde tak is in de meeste systemen het toevoegen waard: de sollicitant die begint, vertrekt en veel later terugkeert. Dat geval gaat helemaal niet over inhoud. Het gaat erover of de gedeeltelijke toestand behouden, verlopen of geaccepteerd en ingediend wordt alsof ze compleet is.
De vier takken beïnvloeden elkaar, en de interacties zijn waar de dekking stil uitdunt. Een lange geschiedenis ingediend vanuit een andere regio combineert herhaalde vermeldingen met buitenlandse datumordening. Een sollicitant zonder opleiding die ook geen ervaring heeft, moet de inzending kunnen bereiken zonder inhoud te verzinnen om daar te komen. De takken apart testen is nodig en niet voldoende; een klein aantal combinatiegevallen vangt de rest.
Hoe veranderen verplichte velden met de gegeven antwoorden?
Ze veranderen voortdurend, en de regel die hen bestuurt is een afhankelijkheid in plaats van een statische lijst.
Een veld is verplicht vanwege iets dat eerder is beantwoord, en die afhankelijkheid loopt gewoonlijk over twee of drie stappen in plaats van binnen één. Het opgeven van een licentie maakt het licentienummer verplicht en de uitgever daarmee ook. Het selecteren van een land verandert welke adresvelden verplicht zijn en welke helemaal niet worden aangeboden. Het kiezen dat ervaring bestaat, maakt de hele ervaringssectie verplicht, inclusief de specifieke subvelden die haar beschrijven.
Drie faalmodi volgen uit afhankelijkheden. De eerste is een regel die alleen voorwaarts wordt toegepast: de sollicitant selecteert de optie die een veld verplicht maakt, stapt er voorbij, gaat terug en deselecteert de optie, en het nu irrelevante veld wordt nog steeds gehandhaafd. De tweede is een regel die op het verkeerde moment wordt geëvalueerd, zodat de vereiste wordt gecontroleerd wanneer de stap wordt weergegeven maar niet wanneer ze wordt ingediend, of omgekeerd. De derde is een regel die helemaal niet kan worden vervuld, waar het formulier een waarde eist in een veld dat het net heeft verborgen.
Deze goed testen betekent gevallen schrijven als paren van een selectie en haar verwachte gevolg, in plaats van als een lijst met velden om te vullen. De vraag die elk geval beantwoordt, is niet of een veld valideert maar of de vereisten van het formulier overeenkomen met de tot dusver gegeven antwoorden.
Wat moet er gebeuren bij een herhaalde inzending?
Het eerlijke antwoord voor de ervaring van een kandidaat is dat een tweede inzending ofwel duidelijk als duplicaat moet worden herkend ofwel duidelijk als een nieuwe sollicitatie moet worden behandeld, en nooit stil een derde toestand mag produceren die niemand heeft ontworpen.
Vier situaties worden verward, en elk heeft zijn eigen verwachte gedrag nodig. Een dubbelklik op verzenden terwijl het eerste verzoek nog onderweg is, wat één sollicitatie moet opleveren. Een verversing van de bevestigingspagina, die niet opnieuw mag indienen. Een bewuste tweede sollicitatie voor dezelfde functie nadat een eerste is ingediend, wat een productbeslissing is en een expliciete zou moeten zijn. En een hervatting van een concept dat al is ingediend, wat niet mogelijk zou moeten zijn.
Conceptgedrag verdient dezelfde behandeling. Een opgeslagen concept is een gedeeltelijk record, en de regels over hoe lang het leeft, wanneer het wordt vernieuwd en wat ermee gebeurt wanneer de sollicitant nooit terugkeert, zijn allemaal beslissingen die de beheerder neemt in plaats van wetten. Waar een test op kan staan, is dat het gedrag consistent is en dat de sollicitant erover wordt geïnformeerd.
Voor ontwikkelaars: formuliertoestand construeren
Bouw elk geval vanuit een benoemde toestand in plaats van vanuit een reeks klikken. Een geval dat zegt dat de sollicitant een voltooide opleidingssectie heeft en zich bij de ervaringsstap bevindt, moet die toestand direct instellen, zodat het geval de stap test en niets anders.
Vier praktijken maken de suite onderhoudbaar. Noem gevallen naar de conditie die ze oefenen, niet naar de stap waarop ze draaien, omdat het stapnummer verandert telkens wanneer het formulier opnieuw wordt ontworpen. Houd de vulinhoud duidelijk synthetisch — placeholdernamen en duidelijk verzonnen werkgevers — zodat geen enkel geval voor de data van een echt persoon kan worden aangezien. Houd de minimaal haalbare inzending op één plek, zodat een verplicht veld toevoegen een wijziging van één regel is in plaats van een aanpassing aan elk geval. En houd validatiemeldingen waar mogelijk uit de asserties, aangezien de formulering veel vaker verandert dan het gedrag en een suite die op de tekst faalt, een suite is die mensen niet meer lezen.
De inhoud die in deze gevallen wordt gebruikt, moet doorlopend placeholdertekst zijn. Seed een sollicitatieformuliertest nooit met de informatie van een echte kandidaat, zelfs niet in een veilige omgeving, omdat die informatie dan ergens bestaat waar ze nooit had moeten komen. De voorbeelden op deze site zijn precies voor dit doel geconstrueerd.
Volgende stappen
Neem de vier sollicitanttakken en controleer of elk een geval heeft dat de inzending bereikt. De tak die er gewoonlijk geen heeft, is de sollicitant zonder opleiding en zonder ervaring, en het is degene die het vaakst kapot is, omdat het degene is die het team nooit met de hand invult. Hoe de geparsede documenten achter een shortlistingflow worden opgebouwd, wordt behandeld in cv-parsing testfixtures, en de datumregels die een regiovormig formulier gewoonlijk fout doet, staan uiteengezet in arbeidsverleden tijdlijnen. De carrièreprofieltool is waar u een record genereert wanneer een geval een plausibele sollicitant erachter nodig heeft.