내가 잠든 사이에도 AI처럼 거래한다, QA 주식 예약 주문 테스트

“이 주식이 10,000원 이하로 떨어지면, 자동으로 손절매(Stop-loss) 해주세요.” “목표가인 15,000원에 도달하면, 자동으로 이익 실현 매도를 해주세요.”

이처럼, 사용자가 24시간 내내 시장을 지켜보지 않아도, 특정 조건이 만족되었을 때 시스템이 알아서 주문을 실행해 주는 기능이 바로 ‘예약 주문’ 또는 ‘조건부 주문’입니다.

이는 단순한 주문 기능을 넘어, 고객의 자산을 자동으로 관리하는 고도화된 기능입니다. 이번 글에서는 이 똑똑한 자동 매매 시스템의 신뢰성을 QA가 어떻게 검증해야 하는지 알아보겠습니다.

이 글에서 다루는 것


  • 예약 주문의 개념과 중요성
  • 다양한 조건부 주문 유형과 테스트 시나리오
  • ‘서버’ 저장 방식 vs ‘PC’ 저장 방식의 차이점
  • 현직 QA의 예약 주문 테스트 경험담

‘예약 주문’, 왜 테스트하기 까다로울까?

일반 주문과 달리, 예약 주문은 ‘미래의 불확실한 시점’에 실행되기 때문입니다.

  • 1. 장시간 대기:
    • 주문이 접수된 후, 조건이 만족될 때까지 며칠, 몇 주, 심지어는 몇 달 동안이나 시스템에 대기 상태로 남아있어야 합니다.
  • 2. 실시간 시장 데이터 의존성:
    • 주문 실행의 ‘트리거(Trigger)’가 되는 현재가, 거래량 등은 실시간으로 변동하는 시장 데이터입니다.
  • 3. 동시성 문제:
    • 수만 건의 예약 주문이 시장 상황에 따라 ‘동시에’ 실행되어야 할 수도 있습니다.

[핵심 1] 다양한 ‘조건’ 시나리오 테스트

QA는 예약 주문의 가장 핵심인 ‘조건 감시’ 로직이 정확하게 동작하는지 검증해야 합니다.

  • 가격 조건 테스트:
    • 시나리오: “A주식의 현재가가 10,000원 ‘이하(<=)’일 때 시장가 매도”
    • QA 검증:
      • Mock 서버를 이용해 A주식의 현재가를 10,001원 -> 10,000원 -> 9,999원으로 순차적으로 변경하며, 정확히 10,000원이 되는 순간에 주문이 실행되는지 확인합니다.
      • >=(이상), <(미만), >(초과) 등 모든 비교 연산자가 정확히 동작하는지 검증합니다.
  • 시간 조건 테스트:
    • 시나리오: “오늘 오후 2시 50분에 시장가 매수”
    • QA 검증:
      • 서버의 시간을 조정하여, 정확히 약속된 시간에 주문이 실행되는지 확인합니다.

[핵심 2] ‘서버 저장’ 방식과 ‘PC/모바일 저장’ 방식

예약 주문은 그 주문 정보가 어디에 저장되는지에 따라 두 종류로 나뉩니다. QA는 이 차이를 명확히 이해해야 합니다.

  • 서버 자동 주문:
    • 주문 내용이 ‘증권사 서버’에 저장됩니다.
    • 따라서, 내가 HTS나 MTS를 꺼놓아도, 심지어 PC나 스마트폰의 전원이 꺼져 있어도 조건이 되면 자동으로 주문이 실행됩니다.
  • PC/모바일 자동 주문:
    • 주문 내용이 ‘내 PC나 스마트폰’에 저장됩니다.
    • 따라서, 반드시 HTS나 MTS가 실행 중인 상태여야만 조건 감시가 동작하고 주문이 나갑니다.
    • QA 검증: QA는 PC/모바일 저장 방식의 예약 주문을 설정한 뒤, HTS/MTS를 종료하거나 PC를 절전 모드로 전환했을 때, 주문이 실행되지 않음을 반드시 확인해야 합니다. 또한, 사용자에게 이 제약사항을 명확히 안내하는 문구가 UI에 표시되는지도 검증해야 합니다.

현직 QA의 실제 실패 경험담

제가 과거 증권 QA 시절, 예약 주문과 관련된 심각한 장애를 경험한 적이 있습니다.

한 고객이 특정 주식에 대해 ‘잔고 전체 수량 매도’라는 예약 주문을 걸어두었습니다. 그 후, 고객은 일부 수량을 장중에 수동으로 매도했습니다.

문제는, 예약 주문 시스템이 주문을 실행하는 순간에 ‘최신 잔고’를 다시 확인하지 않고, 최초 주문 시점의 ‘과거 잔고’를 기준으로 매도 주문을 내보낸 것입니다. 결과적으로, 시스템은 고객이 가지고 있지도 않은 주식을 팔려는 ‘주문 거부’를 발생시켰고, 고객은 중요한 매도 타이밍을 놓치게 되었습니다.

이 경험을 통해, QA는 예약 주문이 실행되는 바로 그 ‘순간’에, 모든 조건(가격, 잔고 등)을 다시 한번 검증하는 로직이 있는지 반드시 확인해야 한다는 것을 배웠습니다.

결론: 미래의 약속을 지키는 자동화된 신뢰

예약 주문 기능은 고객의 투자 전략을 자동화하고, 24시간 시장 변동에 대응할 수 있게 돕는 강력한 도구입니다.

QA는 이 ‘미래의 약속’이 어떤 상황에서도, 심지어 내가 잠든 사이에도 정확하고 안정적으로 지켜질 것임을 검증해야 합니다. 이는 고객이 안심하고 자신의 투자 전략을 시스템에 맡길 수 있도록 만드는, 높은 수준의 신뢰를 구축하는 과정입니다.

부록: 예약 주문 테스트 미니 체크리스트 ✅

  • 가격, 시간 등 모든 주문 실행 조건이 정확하게 동작하는가?
  • 예약 주문이 유효 기간 만료 시, 자동으로 취소 처리되는가?
  • 권리락, 배당락 등 권리 발생 시, 예약 주문의 가격 조건이 자동으로 조정되는가?
  • 서버 자동 주문의 경우, HTS/MTS를 종료해도 주문이 정상적으로 실행되는가?
  • PC/모바일 자동 주문의 경우, 프로그램이 종료되면 주문이 실행되지 않음을 사용자에게 명확히 안내하는가?

참고 자료 (References)

  • 한국거래소(KRX) – 주문의 종류 (국내 증권 시장의 다양한 주문 유형에 대한 설명)
  • Investopedia – Types of Orders (해외 주식 시장의 주문 종류에 대한 설명)

댓글 남기기