본문으로 건너뛰기

MAO Prompt Ops 테스트 전략

1. Scope

  • Prompt Library/Detail/Editor
  • LLM Model Profile Drawer & Provider/Fallback 헬퍼
  • Deployment Center & Guardrail 흐름
  • Experiments 화면
  • Observability 대시보드

2. 테스트 피라미드

  1. Unit Tests (Jest)
    • Slot Checklist validation (Zod schema)
    • Prompt Lint 함수(필수 토큰, Data Readiness 슬롯)
    • Deployment metrics gate evaluator
    • Model Profile Schema(validation of provider/model/parameters/fallback)
  2. Integration Tests (Jest + Next.js Route Handler)
    • /api/admin/prompt-console/templates → Mock Prompt Service
    • /api/admin/prompt-console/deployments → Guardrail stub
    • /api/admin/prompt-console/metrics → SSE stream mock
    • /api/admin/prompt-console/model-profiles → Provider Router mock (Vertex/OpenAI/Anthropic)
    • /api/admin/prompt-console/model-quotas → 토큰 한도 mock
  3. E2E Tests (Cypress Admin)
    • Prompt 작성 → Review → Deploy → Guardrail pause → Rollback
    • Deployment 실패 후 알림 표시
    • Observability 차트/Guardrail Feed 렌더링
    • Model Profile 생성 → Agent 바인딩 → Guardrail Simulation 결과 확인 → 롤백

3. 자동화 체크리스트

케이스유형설명
Prompt Draft 저장Uniteditor form validation
Review Approve flowIntegrationreviewer scope 필요
Deploy canary successIntegrationmetrics gate satisfied
Guardrail pause & rollbackE2Eseverity HIGH 시 Pause 표시
Experiment bucket editingE2Ebucket 비율 합 100% 검사
Observability SSE reconnectUnit/Integration503 후 자동 재연결
Model Profile fallback chainIntegrationfallback 순서 변경 시 API payload 검증
Model Quota alertE2E한도 80% 이상일 때 경고 배지 노출

4. Test Data & Fixtures

  • fixtures/templates.json: 대표 Supervisor/CBTI 템플릿
  • fixtures/deployments.json: state 변환 시나리오
  • fixtures/metrics-stream.ndjson: SSE replay
  • fixtures/model-profiles.json: Vertex/OpenAI/Anthropic profile 샘플 + fallback/파라미터
  • fixtures/model-quotas.json: Provider별 토큰 한도/사용량

5. QA 프로세스

  1. Feature flag ON 상태에서 Staging에 배포
  2. QA가 Cypress 스모크 테스트 실행 (yarn test:admin-mao-e2e)
  3. Guardrail 정책 팀이 승인 후 Prod 롤아웃
  4. 회귀 테스트: Prompt Ops 관련 PR은 최소 Unit + Integration + Cypress smoke를 통과해야 merge

테스트 전략은 Iteration마다 업데이트하며, 새로운 API/화면 추가 시 표에 케이스를 더한다.