You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.7 KiB
2.7 KiB
Phase 6 테스트 체크리스트
1. 단위 테스트
Broker Adapter
- health/account/positions/open orders 조회가 contract대로 직렬화된다.
- raw broker status가 canonical status로 올바르게 매핑된다.
- timeout / network / auth / rate limit 예외가 내부 오류 타입으로 매핑된다.
Risk Guard
- buying power 부족 시
deny - daily loss 초과 시
deny - data freshness breach 시
defer또는deny - degraded mode level별 허용 범위가 다르게 적용된다.
Approval Workflow
- ticket 생성/승인/거절/만료 상태 전이가 맞다.
- 승인 없는 주문은 제출되지 않는다.
- 수정 허용 범위를 벗어난 operator action은 거부된다.
State Machine
- accepted -> partial fill -> filled 전이
- accepted -> cancel_requested -> cancelled 전이
- partial fill 후 cancel 전이
- submit timeout 후 reconciliation 대기 상태 전이
- reject / expire / bust 전이
2. 통합 테스트
- dry-run 모드에서 order plan만 생성되고 브로커 호출이 없다.
- paper 모드에서 submit -> fill -> position open -> time exit 흐름이 끝까지 실행된다.
- broker stream disconnect 후 reconnect 시 event duplication 없이 복구된다.
- 장중 재시작 후 working orders와 positions를 복구한다.
- manual broker-side cancel 후 reconciliation이 mismatch를 탐지한다.
3. 리플레이 테스트
- 과거 canonical order event 로그로 projection을 재구성할 수 있다.
- 같은 이벤트 스트림을 두 번 재생해도 최종 상태가 동일하다.
- out-of-order event가 들어와도 안전하게 처리된다.
4. 장애/복구 테스트
- submit 직후 프로세스 강제 종료 -> 재시작 복구
- partial fill 직후 websocket 종료 -> HTTP poll 기반 복구
- broker fetch timeout 반복 -> no-trade mode 전환
- DB 일시 장애 -> event write 재시도 / 세션 halt
5. 운영 전 UAT
- operator runbook 기준 pre-open checklist 완료
- approval required paper session 5일 이상 무중단 운영
- EOD blotter / reconciliation report 자동 생성 확인
- kill switch soft/hard/flatten_all 실습 확인
- degraded mode 수동 전환과 자동 전환 모두 검증
6. Live readiness gate
아래 항목이 모두 참이어야 live enable을 검토할 수 있다.
- 최근 paper 세션에서 미해결 mismatch 0
- 중복 주문 사고 0
- operator action이 모두 감사 로그에 남음
- risk guard false negative 사례 없음
- 하루 종료 시 브로커/내부 포지션 불일치 0
- emergency flatten runbook 리허설 완료