Files
tdc114plus/docs/tdc114plus-script-automation-plan-2026-07-02.md
T
2026-07-02 13:30:46 +09:00

95 lines
3.2 KiB
Markdown

# tdc114plus 테스트 자동화 스크립트 계획
작성일: 2026-07-02
상태: v1.0 초기 스크립트 기준
목적: `docs/tdc114plus-testing-policy-2026-07-02.md`에 정의한 테스트 정책을 실제 `scripts/` 파일과 연결하고, 즉시 사용 가능한 스크립트와 향후 구현이 필요한 scaffold 스크립트를 구분한다.
## 1. 즉시 사용 가능한 스크립트
| 스크립트 | 목적 | 실행 예 |
| --- | --- | --- |
| `scripts/format-dart.sh` | Docker Flutter 이미지에서 `dart format lib test` 실행 | `./scripts/format-dart.sh` |
| `scripts/quality-gate.sh` | `flutter analyze`, `flutter test` 순차 실행 | `./scripts/quality-gate.sh` |
| `scripts/generate-release-report.sh` | git 상태와 릴리스 체크리스트 report 생성 | `./scripts/generate-release-report.sh` |
| `scripts/perf_smoke.sh` | 현재 앱/테스트 파일 수와 기본 상태 출력 | `./scripts/perf_smoke.sh` |
## 2. Scaffold 상태의 스크립트
아래 스크립트는 파일은 존재하지만, 기반 기능이 아직 없으므로 실행 시 scaffold 안내와 함께 종료한다.
| 스크립트 | 현재 상태 | 완성 조건 |
| --- | --- | --- |
| `scripts/mock-server.sh` | `status`, `stop`은 가능. `start`는 미구현 안내 | API 계약 기반 mock server 구현 |
| `scripts/save-snapshots.sh` | snapshot source가 있으면 report 경로로 복사 | widget/integration screenshot 또는 snapshot 생성 체계 |
| `scripts/integration_tests.sh` | `TDC114_API_BASE``integration_test/` 필요 | staging API 또는 mock server 기반 integration test |
| `scripts/redteam/run_all.sh` | 현재 AI 기능 없음 안내 | LLM/프롬프트 기반 기능이 실제 추가될 때 |
## 3. Phase별 사용 기준
### Phase 3: Mock 기반 1차 UI
필수:
```bash
./scripts/format-dart.sh
./scripts/quality-gate.sh
```
선택:
```bash
./scripts/save-snapshots.sh
```
단, snapshot 산출물이 생긴 뒤 사용한다.
### Phase 4: 실제 API 연동
필수 후보:
```bash
TDC114_API_BASE=https://staging.example.com ./scripts/integration_tests.sh
```
완성 조건:
- `app/integration_test/` 테스트 추가
- staging 또는 local mock API endpoint 확정
- 민감정보 없는 test fixture 사용
### Phase 5: 핵심 액션
필수 후보:
```bash
./scripts/quality-gate.sh
./scripts/perf_smoke.sh
```
추가 예정:
- 전화걸기/문자보내기 URL 생성 테스트
- 즐겨찾기 로컬 저장소 테스트
### Phase 6: 빌드/배포 준비
필수 후보:
```bash
./scripts/generate-release-report.sh
```
추가 예정:
- Android debug APK build wrapper
- 수동 검증 체크리스트 자동 생성
## 4. 운영 원칙
- 문서에 명령을 추가할 때는 실제 `scripts/` 파일도 함께 추가하거나 scaffold 상태를 명시한다.
- scaffold 스크립트는 조용히 성공하지 않고, 미구현이면 non-zero exit code로 종료한다.
- 실제 CI gate에 연결할 수 있는 스크립트는 `quality-gate.sh`부터 시작한다.
- AI/LLM redteam 자동화는 현재 앱 범위 밖이므로 `redteam/run_all.sh`는 보류 상태로 유지한다.
- 자동화 스크립트 실행 결과는 `docs/test-logs/YYYY-MM-test-execution-log.md`에 월별로 누적 기록한다.