도그푸드 (agent-device)은(는) 무엇을 하나요?
모바일 앱을 체계적으로 탐색하고, 이슈를 찾아 모든 발견 사항에 대한 완전한 재현 증거를 포함한 보고서를 생성합니다.
설정
대상 앱만 필수입니다. 나머지는 합리적인 기본값이 제공됩니다.
| 매개변수 | 기본값 | 재정의 예시 |
|---|---|---|
| 대상 앱 | (필수) | 설정, com.example.app, 딥 링크 URL |
| 플랫폼 | 사용자 컨텍스트에서 추론; 그렇지 않으면 질문 (ios 또는 android) | --platform ios |
| 세션 이름 | 앱/플랫폼 기반 슬러그 (예: settings-ios) | --session my-session |
| 출력 디렉토리 | ./dogfood-output/ | Output directory: /tmp/mobile-qa |
| 범위 | 전체 앱 | 온보딩 및 프로필에 집중 |
| 인증 | 없음 | [email protected]으로 로그인 |
사용자가 시작하기에 충분한 컨텍스트를 제공하면 기본값으로 즉시 시작합니다. 필수 세부 정보(예: 플랫폼 또는 자격 증명)가 누락된 경우에만 후속 질문을 합니다.
가능하면 직접 agent-device 바이너리를 선호합니다.
워크플로우
1. 초기화 세션, 출력 디렉토리, 보고서 파일 설정
2. 실행/인증 앱 열기 및 필요한 경우 로그인
3. 오리엔테이션 초기 스냅샷 캡처 및 탐색 맵핑
4. 탐색 흐름 및 상태 체계적으로 테스트
5. 문서화 이슈별 재현 가능한 증거 기록
6. 마무리 요약 조정, 세션 종료
1. 초기화
mkdir -p {OUTPUT_DIR}/screenshots {OUTPUT_DIR}/videos
cp {SKILL_DIR}/templates/dogfood-report-template.md {OUTPUT_DIR}/report.md
2. 실행/인증
명명된 세션을 시작하고 대상 앱 실행:
agent-device --session {SESSION} open {TARGET_APP} --platform {PLATFORM}
agent-device --session {SESSION} snapshot -i
로그인이 필요한 경우:
agent-device --session {SESSION} snapshot -i
agent-device --session {SESSION} fill @e1 "{EMAIL}"
agent-device --session {SESSION} fill @e2 "{PASSWORD}"
agent-device --session {SESSION} press @e3
agent-device --session {SESSION} wait 1000
agent-device --session {SESSION} snapshot -i
OTP/이메일 코드의 경우: 사용자에게 물어보고, 입력을 기다린 후 계속합니다.
3. 오리엔테이션
초기 증거 및 탐색 앵커 캡처:
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/initial.png
agent-device --session {SESSION} snapshot -i
심층 테스트 전에 최상위 탐색, 탭 및 주요 워크플로우를 매핑합니다.
4. 탐색
심각도/카테고리 보정을 위해 references/issue-taxonomy.md를 읽으세요.
전략:
- 각 주요 앱 영역(탭, 서랍, 설정 페이지)을 이동합니다.
- 핵심 여정을 처음부터 끝까지 테스트합니다(생성, 편집, 삭제, 제출, 복구).
- 엣지 상태(빈/오류/로딩/오프라인/권한 거부)를 검증합니다.
- UI 전환 후
diff snapshot -i를 사용하여 오래된 참조를 방지합니다. - 주기적으로
logs path를 캡처하고 동작이 의심스러울 때 앱 로그를 검사합니다.
화면당 유용한 명령어:
agent-device --session {SESSION} snapshot -i
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/{screen-name}.png
agent-device --session {SESSION} appstate
agent-device --session {SESSION} logs path
5. 이슈 문서화 (재현 우선)
탐색과 문서화를 한 번에 진행합니다. 이슈를 발견하면 중단하고 증거를 완전히 캡처한 후 계속합니다.
상호작용/행동 이슈
비디오 + 단계별 스크린샷 사용:
- 녹화 시작:
agent-device --session {SESSION} record start {OUTPUT_DIR}/videos/issue-{NNN}-repro.mp4
- 가시적인 속도로 재현합니다. 각 단계를 캡처:
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-step-1.png
sleep 1
# 작업 수행
sleep 1
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-step-2.png
- 최종 오류 상태 캡처:
sleep 2
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-result.png
- 녹화 중지:
agent-device --session {SESSION} record stop
- 단계 번호와 스크린샷 참조와 함께 이슈를 보고서에 즉시 추가합니다.
정적/로드 시 이슈
단일 스크린샷으로 충분하며 비디오는 필요하지 않습니다:
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}.png
보고서에서 재현 비디오를 N/A로 설정합니다.
6. 마무리
잘 문서화된 5-10개의 이슈를 목표로 한 후 종료합니다:
report.md에서 요약 심각도 개수를 조정합니다.- 세션 종료:
agent-device --session {SESSION} close
- 총 이슈 수, 심각도 분류 및 최고 위험 발견 사항을 보고합니다.
지침
- 재현 품질이 이슈 수보다 중요합니다.
- 빠른 탐색에는 참조(
@eN)를 사용하고, 필요한 경우 결정론적 재생 어설션에는 선택기를 사용합니다. - 변경(탐색, 모달, 목록 업데이트, 양식 제출) 후에는 항상 다시 스냅샷을 찍습니다.
- 지운 후 입력 의미에는
fill을 사용하고, 증분 입력 동작 확인에는type을 사용합니다. - 로그는 선택 사항으로 유지하고 진단에 유용할 때만 활성화/읽습니다.
- 테스트 중인 앱의 소스 코드를 읽지 마십시오. 발견 사항은 관찰된 런타임 동작에서 비롯되어야 합니다.
- 증거 손실을 방지하기 위해 각 이슈를 즉시 기록합니다.
- 세션 중에는 스크린샷/비디오/보고서 아티팩트를 삭제하지 마십시오.
참고 자료
| 참고 자료 | 읽어야 할 때 |
|---|---|
| references/issue-taxonomy.md | 세션 시작 시; 심각도/카테고리/체크리스트 |
템플릿
| 템플릿 | 목적 |
|---|---|
| templates/dogfood-report-template.md | 보고서 파일로 출력 디렉토리에 복사 |