Kernpunten
- Test of het wisselen van land de labels, vereisten en formaten samen bijwerkt
- Scheid onbewerkte invoer, genormaliseerde waarden en serverresultaten
- Configureer semantische autocomplete-tokens en gelokaliseerde zichtbare labels
- Behoud de invoer na een fout en verplaats de focus naar een nuttige fout
Auteurschap en beoordeling
Redactionele principes- Geschreven door
- Redactieteam van Random Address Generator
- Beoordeeld door
- Formulieren en QA-beoordelingsteam
- Laatste inhoudelijke update
- Landwisseling, dynamische velden, autocomplete-tokens en een gelaagde testmatrix toegevoegd.
Laag één: staat van landwisseling
Als u een land selecteert, kunt u de naam Stad wijzigen, de Staat wijzigen in Provincie of Prefectuur, een regio verbergen en de postcodehint vervangen. Beweer dat de gebruikersinterface en API afkomstig zijn uit dezelfde landconfiguratie.
Wis nooit stilletjes de ingevoerde tekst bij een landwijziging. Bevestig eerst of bewaar concepten per land, en vergrendel dat gedrag vervolgens in regressietests.
| Land | Gelokaliseerde labels | Sleutelgedrag |
|---|---|---|
| Verenigde Staten | Staat/postcode | Tweeletterige staat en vijfcijferige postcode |
| Canada | Provincie / Postcode | A1A 1A1 met spatie |
| Verenigd Koninkrijk | Postplaats / Postcode | Provincie normaal gesproken optioneel |
| Japan | Prefectuur / Postcode | Zevencijferige code en meerdere niveaus |
| Australië | Voorstad / Staat / Postcode | Viercijferige postcode |
Laag twee: semantische HTML en automatisch aanvullen
naam, label en automatisch aanvullen hebben verschillende taken. Labels leggen de lokale betekenis uit; naam volgt het API-contract; automatisch aanvullen maakt gebruik van gestandaardiseerde tokens zoals land, address-line1, address-level1, address-level2 en postal-code.
Combineer het straatadres niet met address-line1 en address-line2 voor dezelfde adresweergave.
<input name="addressLine1" autocomplete="shipping address-line1" />
<input name="locality" autocomplete="shipping address-level2" />
<input name="region" autocomplete="shipping address-level1" />
<input name="postalCode" autocomplete="shipping postal-code" />Laag drie: validatie, normalisatie en verificatie
Bij validatie wordt gevraagd of de invoervorm acceptabel is. Normalisatie standaardiseert hoofdletters en scheidingstekens. Verificatie wordt vergeleken met referentiegegevens. Geef ze afzonderlijke statussen en berichten.
Vermijd herschrijven bij elke toetsaanslag. Normaliseer bij vervaging of verzend en toon de resulterende verandering.
- Maak onderscheid tussen lege, te lange en ongeldige karakterfouten
- Bewaar rawValue vóór normalisatie
- Wis het formulier niet na een opzoektime-out
- Label een regex-match nooit als leverbaar
Laag vier: foutherstel en toegankelijkheid
Na een fout focust u op een foutoverzicht of op het eerste ongeldige veld. Verbind berichten met aria-describedby, vertrouw nooit alleen op kleur en behoud andere veldwaarden.
Landselecties via toetsenbordtest, suggestielijsten, foutlinks en focus na verzending. Zoek geautomatiseerde tests op labels of rollen in plaats van landspecifieke tijdelijke aanduidingen.
Laag vijf: bevestig de echte API-payload
Leg het ingediende verzoek vast en claim countryCode, regionCode, postalCode, rawAddress en normalizedAddress. Lees de record terug om coderings- en null-conversiefouten te detecteren.
Bij een bewering die alleen uit de UI bestaat, kan een provincieselectie ontbreken die Ontario correct weergeeft, maar Ontario verzendt in plaats van AAN. Het kan ook een gewiste tweede regel missen, waardoor de vorige waarde in de opslag blijft. Voer één record uit via maken, bewerken, opnieuw openen en exporteren, zodat de test een volledige heen- en terugreis blijkt te zijn in plaats van één succesvolle schermstatus.
Oefen opzoekgedrag van derden uit met trage reacties, snelheidsbeperkingen, serverfouten, geen suggesties en verschillende plausibele suggesties. Een netwerkfout mag niet worden geformuleerd als uw adres verkeerd is. Onbeschikbaarheid van het systeem en onaanvaardbare invoer zijn verschillende toestanden met verschillende oplossingen.
Versie de landconfiguratie die door de test wordt gebruikt. Wanneer postregels of productvereisten veranderen, moet een fout identificeren of de applicatie is gewijzigd of de referentiemomentopname is gewijzigd.
- Maak een momentopname van het laatste verzoek JSON
- Bevestig dat het wissen van een optioneel veld de oude waarde ervan verwijdert
- Simuleer een time-out, 429, 500, geen resultaat en meerdere resultaten
- Scheid de systeemfoutkopie van de input-error-kopie
Veelgestelde vragen
Moet elk land een Staatsveld tonen?
Nee. Hernoem het waar nodig naar Provincie, Prefectuur of Regio en verberg het waar het land dat niveau niet vereist.
Kan automatisch aanvullen een zichtbaar label vervangen?
Nee. Autocomplete bedient de browser; labels dienen mensen en ondersteunende technologie.
Kan een mislukte zoekopdracht het formulier wissen?
Dat zou niet moeten. Bewaar de invoer, identificeer het veld en laat de gebruiker het ter plekke corrigeren.
