Quick answer
Registration Addresses: Storage, Editing and CRM Mapping
Before testing registration address fields, confirm that registration genuinely needs a full address. If it does, define country-aware structured mappings and test Unicode, leading-zero postcodes, optional fields, editing after save, API/database/CRM round trips and deletion. Use synthetic records instead of customer data.
STEP BY STEP
A safe testing workflow
Keep the seed and dataset version with the test case. Verify the happy path first, then deliberately create inconsistent regions, postcodes and field states.
- 01
Confirm whether registration needs an address
If the product only needs a country or time zone, do not collect a full address. Fewer fields improve completion and reduce privacy and maintenance costs.
- 02
Define country-specific field mapping
Map region, city, dependent locality, postcode, street and building into stable internal fields rather than forcing every country into two generic address lines.
- 03
Test editing after persistence
Reopen the profile after registration and verify that Unicode characters, leading zeroes and empty optional fields survive unchanged.
- 04
Inspect downstream synchronization
Compare the page, API, database and CRM fields. Ensure that region display names do not overwrite codes and that CSV exports preserve non-ASCII characters.
- 05
Include deletion and minimization tests
When a user removes an address, downstream copies should follow the product retention policy. Optional fields must not reappear from stale data during the next edit.
Pre-release checklist
- Country changes update field structure and labels
- Postcodes remain strings with hyphens and leading zeroes
- Unicode city and region names round-trip correctly
- Empty optional fields do not become placeholder junk
- API, database and CRM mappings remain consistent
- Edit and delete flows do not restore stale values
Address form test matrix
Address form test matrix
Copy these scenarios into acceptance coverage and retain failed records with a fixed seed.
| Test | Input or action | Expected result |
|---|---|---|
| Minimum-data path | Provide only the country or region the business needs | Unneeded street and building fields remain optional or absent |
| Country switch | Switch from the US to Japan | Labels, order, postal rules and region options update together |
| Unicode round trip | Save 東京都, İstanbul or München | Characters remain identical in edit, API, database and CRM views |
| Empty optional field | Leave floor, room or dependent locality empty | Store null/empty rather than junk such as N/A |
| Address deletion | Remove the saved address and reopen the profile | Downstream copies follow retention policy and stale values do not return |
Illustrative test case
Example: CRM overwrites a region label with a code
- Context
- A Japanese registration stores visible region 東京都 while the API also sends regionCode=13. A CRM import maps 13 into the display field, and the selector cannot match it when the profile is reopened.
- Finding
- The system did not separate stable code, localized display name and formatted address. A successful first submission did not prove the cross-system round trip.
- Fix and acceptance
- Define separate code, displayName and formattedAddress fields, assert each layer across API, database, CRM and edit UI, and include deletion plus stale-value tests.
Minimize data before validating it
Registration often does not need a full postal address. Establish why each field exists before deciding required states and retention. Test country-only, billing-region-only and no-address paths as first-class flows.
Separate structured storage from formatted display
Store fields in a structure that can be validated, then format local or international output at display time. A single formatted blob makes search, deduplication, migration and CRM mapping unnecessarily difficult.
Keep seed and dataset version in test evidence
A seed is reproducible only with the same dataset version and country rules. Defect reports should record both and include the structured payload so copy changes do not obscure the underlying data issue.
Generated records are for development and QA only. They do not represent real people, accounts, government documents or deliverable addresses.
References
Workflow guidance references authoritative accessibility, input-validation and data-minimisation material.
Reviewed and maintained by MockAddr Editorial Team