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

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 리허설 완료