핵심 요점

  • 국가 전환이 라벨, 요구 사항 및 형식을 함께 업데이트하는지 테스트하세요.
  • 원시 입력, 정규화된 값 및 서버 결과를 분리합니다.
  • 의미론적 자동 완성 토큰 및 현지화된 표시 라벨 구성
  • 실패 후 입력을 유지하고 유용한 오류로 초점을 이동합니다.

작성 및 검토

편집 및 검토 원칙
작성
무작위 주소 생성기 편집팀
검토
양식 및 QA 검토팀
최근 주요 업데이트
국가 전환, 동적 필드, 자동 완성 토큰 및 계층화된 테스트 매트릭스가 추가되었습니다.

레이어 1: 국가 전환 상태

국가를 선택하면 도시 라벨을 다시 지정하고, 주를 주 또는 현으로 변경하고, 지역을 숨기고, 우편번호 힌트를 바꿀 수 있습니다. UI와 API가 동일한 국가 구성에서 파생되는지 확인합니다.

국가 변경 시 입력한 텍스트를 자동으로 지우지 마십시오. 먼저 국가별 초안을 확인하거나 유지한 다음 해당 동작을 회귀 테스트에 고정합니다.

국가현지화된 라벨주요 행동
미국주/우편번호두 글자 상태 및 다섯 자리 ZIP
캐나다시/도/우편번호A1A 1A1 공간 있음
영국포스트타운/우편번호행정구역는 일반적으로 선택 사항입니다.
일본도도부현 / 우편번호7자리 코드 및 여러 레벨
호주교외/주/우편번호4자리 우편번호

레이어 2: 시맨틱 HTML 및 자동 완성

이름, 라벨, 자동 완성에는 서로 다른 작업이 있습니다. 라벨은 지역적 의미를 설명합니다. 이름은 API 계약을 따릅니다. 자동 완성은 국가, address-line1, address-level1, address-level2 및 postal-code와 같은 표준화된 토큰을 사용합니다.

동일한 주소 표현을 위해 거리 주소를 address-line1 및 address-line2와 결합하지 마십시오.

<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" />

레이어 3: 검증, 정규화, 확인

유효성 검사에서는 입력 형태가 허용되는지 여부를 묻습니다. 정규화는 대/소문자 및 구분 기호를 표준화합니다. 검증은 참조 데이터와 비교됩니다. 별도의 상태와 메시지를 제공하세요.

키를 누를 때마다 다시 쓰지 마세요. 흐림 시 정규화하거나 제출하고 결과 변경 사항을 표시합니다.

  • 비어 있는 오류, 너무 긴 오류, 잘못된 문자 오류 구별
  • 정규화 전 rawValue 유지
  • 조회 시간 초과 후 양식을 지우지 마십시오.
  • 정규식 일치 항목을 게재 가능으로 라벨 지정하지 마세요.

레이어 4: 오류 복구 및 접근성

실패 후에는 오류 요약이나 첫 번째 잘못된 필드에 중점을 둡니다. aria-describedby로 메시지를 연결하고, 색상에만 의존하지 말고, 다른 필드 값을 유지하세요.

키보드 테스트 국가 선택, 제안 목록, 오류 링크 및 제출 후 포커스. 국가별 자리 표시자가 아닌 레이블이나 역할별로 자동화된 테스트를 찾으세요.

레이어 5: 실제 API 페이로드 검증

제출된 요청을 캡처하고 countryCode, regionCode, postalCode, rawAddress 및 normalizedAddress를 어설션합니다. 인코딩 및 널 변환 실패를 감지하려면 레코드를 다시 읽어보세요.

UI 전용 어설션에서는 온타리오를 올바르게 표시하지만 ON 대신 온타리오를 제출하는 주 선택이 누락될 수 있습니다. 또한 이전 값을 저장소에 남겨 두는 지워진 두 번째 줄을 놓칠 수도 있습니다. 생성, 편집, 다시 열기 및 내보내기를 통해 하나의 레코드를 실행하면 테스트에서 하나의 성공적인 화면 상태가 아닌 완전한 왕복이 입증됩니다.

느린 응답, 속도 제한, 서버 오류, 제안 없음 및 몇 가지 그럴듯한 제안을 통해 타사 조회 동작을 실행합니다. 주소가 틀렸다고 해서 네트워크 장애라고 표현해서는 안 됩니다. 시스템을 사용할 수 없는 것과 허용되지 않는 입력은 해결 방법이 다른 서로 다른 상태입니다.

테스트에 사용된 국가 구성의 버전을 지정합니다. 우편 규칙이나 제품 요구 사항이 변경되면 오류로 인해 애플리케이션이 변경되었는지 또는 참조 스냅샷이 변경되었는지 식별해야 합니다.

  • 최종 요청 JSON 스냅샷
  • 선택적 필드를 지우면 이전 값이 제거되는지 확인하세요.
  • 시간 초과, 429, 500, 결과 없음 및 여러 결과 시뮬레이션
  • input-error 사본과 별도의 시스템 오류 사본

자주 묻는 질문

모든 국가에서 State 필드를 표시해야 합니까?

아니요. 해당하는 경우 주, 현 또는 지역의 라벨을 다시 지정하고 국가에서 해당 수준을 요구하지 않는 경우 숨깁니다.

눈에 보이는 라벨을 자동 완성으로 대체할 수 있나요?

아니요. 자동완성은 브라우저를 제공합니다. 라벨은 사람과 보조 기술을 제공합니다.

실패한 조회로 인해 양식이 지워질 수 있나요?

그렇지 않아야합니다. 입력을 유지하고 필드를 식별한 후 사용자가 해당 위치에서 수정하도록 합니다.

출처 및 추가 자료

  1. MDN: HTML 자동 완성 속성
  2. WHATWG: 주소 자동 완성 필드 이름