dogfood은(는) 무엇을 하나요?
모바일 앱(iOS/Android)을 체계적으로 탐색 및 테스트하여 버그, UX 문제 및 기타 문제를 찾아냅니다. '도그푸딩', 'QA', '탐색 테스트', '이슈 찾기', '버그 헌팅', '모바일 앱 테스트' 요청 시 사용하세요.
개요
이 스킬은 에이전트-디바이스(agent-device)를 사용하여 iOS/Android 모바일 앱을 체계적으로 탐색하고 테스트하는 기능을 제공합니다. 실제 기기에서 앱을 실행하고, 다양한 사용자 시나리오를 시뮬레이션하며, 발견된 문제를 보고합니다.
주요 기능
- 체계적 탐색: 앱의 모든 주요 화면과 기능을 탐색합니다.
- 버그 발견: 충돌, 비정상 종료, UI 오류 등 다양한 버그를 탐지합니다.
- UX 문제 식별: 사용자 경험 측면에서 개선이 필요한 부분을 찾아냅니다.
- 자동화된 테스트: 반복적인 테스트를 자동화하여 생산성을 높입니다.
- 상세 보고서: 발견된 모든 문제에 대한 상세 보고서를 생성합니다.
지원 플랫폼
- Android (실제 기기 또는 에뮬레이터)
- iOS (실제 기기 또는 시뮬레이터)
사용 방법
dogfood run --platform android --app ./app.apk
또는
dogfood run --platform ios --app ./app.ipa
옵션
| 옵션 | 설명 | 필수 |
|---|---|---|
--platform | 테스트할 플랫폼 (android/ios) | 예 |
--app | 앱 파일 경로 | 예 |
--device | 대상 기기 ID | 아니요 |
--scenario | 테스트 시나리오 파일 (선택 사항) | 아니요 |
--output | 보고서 출력 디렉토리 | 아니요 |
예시
-
기본 테스트 실행
dogfood run --platform android --app ./app.apk -
특정 기기에서 테스트
dogfood run --platform ios --app ./app.ipa --device emulator-5554 -
사용자 정의 시나리오 사용
dogfood run --platform android --app ./app.apk --scenario ./scenarios/login.json
시나리오 파일 형식
시나리오 파일은 JSON 형식으로, 앱에서 수행할 일련의 동작을 정의합니다. 예:
{
"scenario": "로그인 테스트",
"steps": [
{
"action": "tap",
"element": "login_button"
},
{
"action": "type",
"element": "username_field",
"value": "testuser"
},
{
"action": "type",
"element": "password_field",
"value": "password123"
},
{
"action": "tap",
"element": "submit_button"
}
]
}
문제 보고
발견된 모든 문제는 자동으로 보고서에 포함됩니다. 보고서는 마크다운 형식으로 생성됩니다.
보고서 예시:
# 테스트 보고서
- **앱**: MyApp v1.0
- **플랫폼**: Android
- **날짜**: 2025-03-20
## 발견된 문제
### 문제 1: 로그인 화면에서 충돌 발생
- **심각도**: 높음
- **설명**: 잘못된 비밀번호를 입력 후 로그인 시 앱이 충돌합니다.
- **재현 단계**:
1. 로그인 화면 열기
2. 유효한 사용자 이름 입력
3. 잘못된 비밀번호 입력
4. 로그인 버튼 탭
- **기기**: Pixel 6 (Android 13)
참고 사항
- 테스트 전에 앱이 설치되어 있는지 확인하세요.
- 실제 기기 사용 시 USB 디버깅이 활성화되어 있어야 합니다.
- iOS 테스트는 Apple Developer Program 계정이 필요할 수 있습니다.
- 모든 테스트는 기기 성능에 영향을 줄 수 있으므로, 프로덕션 환경에서 주의하세요.