설비를 선택하기 전에 테스트 경계를 정의하십시오.
프로덕션 인증을 변경하지 않고 통합을 테스트하는 것은 구체적인 금지 사항으로 시작됩니다. 프로덕션 DNS 쓰기 없음, 실시간 발신자 재구성 없음, 부작용으로 고객 통신 생성 없음. 테스트 모드라고 표시된 화면만으로는 충분하지 않습니다. 테스트가 도달할 수 있는 리소스, 네트워크 대상, 자격 증명, 대기열 및 콜백 핸들러를 문서화합니다. 복사된 프로덕션 구성은 첫 번째 어설션이 실행되기 전에 격리를 약화시킬 수 있습니다.
아래 워크플로는 제안된 것이며 실행되지는 않습니다. EmailAuth 기능을 보여주지 않으며 성공적인 통합 테스트 결과를 제공하지 않습니다. 공급자 참조는 2026년 11월 8일에 검토되었지만 계정, API 또는 도메인에 액세스되지 않았습니다. 자격 증명 프로비저닝, 클라우드 구성, 실제 쿼리 및 테스트 메일 전송은 모두 별도의 승인 결정으로 유지됩니다.
관찰 가능한 계약 작성
통합이 소비하는 것, 생성하는 것, 실패를 구성하는 것을 지정합니다. 가상의 읽기 전용 DNS 인벤토리 어댑터의 경우 입력은 사전 승인된 영역 식별자 및 문서화된 목록 작업일 수 있습니다. 출력은 기록의 동일성과 완전성 상태를 유지해야 합니다. 처리되지 않은 연속 표시가 있는 성공적인 응답은 완전한 인벤토리가 아닙니다.
제안된 테스트에 사용된 엔드포인트 문서 또는 스키마 개정, 클라이언트 버전 및 고정 장치 버전을 고정합니다. 공급업체가 변경 불가능한 버전 없이 변경되는 온라인 참조를 게시하는 경우 날짜가 지정된 캡처를 유지하고 해당 제한 사항을 명시하십시오. 버전 번호를 만들어내지 마세요. Cloudflare 의 DNS 목록 참조에서는 페이지를 매긴 결과와 권한 요구 사항을 설명합니다. Route 53 다른 연속 계약을 사용합니다. 공유 어댑터는 하나의 일반적인 페이지 번호 규칙을 가정하는 대신 각 계약을 구현해야 합니다. Cloudflare 목록 참조 그리고 Route 53 상장 계약.
오프라인 설비로 시작하고 설계에 따라 네트워크 액세스를 거부합니다.
가상의 리소스 식별자와 문서 전용 도메인을 사용하여 합성 응답을 준비합니다. 고객 출력을 포착한 것이 아니라 구성된 사례로 라벨을 지정하십시오. 비밀 필드를 없애세요. Fixture는 어설션에 필요한 필드와 신중하게 선택된 잘못된 형식 또는 익숙하지 않은 값을 나타내야 합니다. 파서 테스트에는 실제 토큰, 라이브 사서함 또는 프로덕션 DNS 공급자가 필요하지 않습니다.
제안된 하네스에서는 로컬 전송 구현을 대체하고 코드가 외부 호스트에 도달하려고 시도하는 경우 명시적인 실패를 요구합니다. 테스트 설계에서 예약된 작업과 자동 후속 조치를 비활성화합니다. 백그라운드 작업자, 재시도 및 원격 측정이 픽스처를 자동으로 다른 곳으로 보낼 수 없는지 확인하십시오. 이는 이 문서에서 설정한 컨트롤이 아니라 나중에 구현하고 테스트할 컨트롤입니다.
구문 분석과 별도로 권한 처리를 테스트합니다. 거부된 액세스, 만료된 자격 증명, 알 수 없는 영역 및 다른 합성 테넌트에 속한 영역을 나타내는 설비를 포함합니다. 예상되는 결과는 오류를 보존하고 더 넓은 권한으로 돌아가지 않고 해당 경로를 중지해야 합니다. OWASP는 특히 인증 논리 테스트와 안전한 실패 처리를 권장합니다. 승인 테스트 지침.
행복한 길보다는 어려운 결과를 실천하라
반복되는 기록, 누락된 페이지 및 한 페이지 성공 후 실패가 포함된 여러 페이지 케이스를 디자인합니다. 어댑터가 사용 가능한 부분 증거를 전체 결과와 구별하는지 확인합니다. 재개된 수집은 새로운 수집 시간을 기록해야 하며 호환되지 않는 스냅샷에 자동으로 참여하지 않아야 합니다. Route 53 페이지 매김 중 변경 사항이 일관되지 않은 보기를 생성할 수 있다고 경고합니다. 해당 경고는 실제 영역을 수정하는 권한이 아니라 클라이언트의 불확실성 처리를 테스트하는 이유입니다.
속도 제한 응답 및 재시도 예산 소진 사례를 추가합니다. 예상되는 동작은 공급업체의 문서화된 백오프 신호, 시도 제한을 따르고 눈에 보이는 불완전한 상태를 남겨 두어야 합니다. Cloudflare 제한 초과 시 재시도 간격을 포함하여 HTTP 429 및 속도 제한 헤더를 문서화합니다. 실제 고객 할당량을 측정하기 위해 종합 테스트를 사용하거나 모든 공급업체가 동일한 헤더를 반환한다고 주장하지 마십시오. Cloudflare 속도 제한 지침.
통합이 이벤트를 처리하는 경우 중복 전달, 도착 지연 및 인식할 수 없는 스키마 버전을 포함합니다. 하나의 논리적 이벤트가 두 개의 다운스트림 결정을 생성할 수 없는지 확인합니다. 또한 픽스쳐는 승인 전에 실패한 지속성 단계를 다루어야 합니다. HTTP 멱등성은 메서드의 의도된 효과를 설명합니다. 자동으로 애플리케이션의 이벤트 프로세서를 중복 방지로 만들지는 않습니다. RFC 9110 , 섹션 9.2.2.
실제 테스트 환경을 별도의 단계로 처리
오프라인 테스트에서는 공급자 인증, 테넌트 격리 또는 DNS 게시 동작을 설정할 수 없습니다. 이후의 환경 테스트에는 소유자가 승인한 계정 또는 영역, 문서화된 공급자 지원, 제한된 자격 증명 및 정확한 실행 계획이 필요합니다. 공급자가 샌드박스나 무해한 검증 엔드포인트를 제공한다고 가정하지 마십시오. 실제 영역 내에서 예약된 것처럼 보이는 호스트 이름은 여전히 실제 DNS 변경일 수 있습니다.
예를 들어 Route 53 의 ChangeResourceRecordSets 작업은 레코드를 생성, 변경 또는 삭제합니다. 해당 트랜잭션 검증은 변경 작업의 일부이며 별도로 문서화된 연습 실행을 대체하지 않습니다. 따라서 유효한 테스트 배치를 생산 현장으로 보내는 것은 이 문서의 범위를 벗어나는 것입니다. 테스트 전송이 엔드포인트에 도달하도록 허용하기 전에 엔드포인트의 의미를 읽으십시오. Route 53 변경작업.
통과된 내용을 과장하지 않고 수용을 정의합니다.
제안된 승인 패킷에는 고정 장치 식별자, 예상 결과, 최종 실행 시 실제 결과, 테스트 도구 버전 및 해결되지 않은 사례가 나열되어야 합니다. 오프라인 파서 확인, 인증 확인 및 종단 간 공급자 관찰을 별도의 섹션에 유지합니다. 녹색 단위 테스트 스위트의 이름을 프로덕션 검증으로 변경해서는 안 되며, 수동으로 검사한 예제가 자동화된 회귀 결과가 되어서는 안 됩니다.
가상의 디자인 검토에서 모든 합성 페이지 매김 사례는 서류상으로 전달되지만 팀에서는 테넌트 간 거부에 대한 증거가 없습니다. 적절한 결정은 누락된 통제가 평가될 때까지 테스트 계획을 유지하고 통합 릴리스를 보류하는 것입니다. 성공 사례 수를 늘리는 것보다 격차를 보고하는 것이 더 유용합니다.
고객 라이프사이클 게이트 유지
정확한 커미셔닝 요구 사항은 여전히 충족되지 않습니다. 역할, 증거 및 측정 가능한 서비스 책임이 포함된 하나의 완전한 고객 라이프사이클 런북입니다. 설비 카탈로그는 해당 라이프사이클의 일부만 다룹니다. 온보딩 권한, 사건 에스컬레이션, 고객 보고, 액세스 철회 및 증거 폐기에는 책임 있는 소유자와 입증된 기록이 필요합니다. 여기서는 테스트가 실행되지 않았습니다. 독립적인 검토, 인적 기술 승인, 운영 증거 및 소유자 출판 승인은 계속 열려 있습니다.