실패가 용납되지 않는 단 하루, QA 컷오버(시스템 오픈) 테스트

수개월, 혹은 수년간 준비해온 ‘차세대 시스템’이 드디어 세상에 공개되는 날.

구(舊) 시스템을 내리고, 신(新) 시스템을 올리는 단 몇 시간의 긴장감 넘치는 작업.

이 전환 과정을 ‘컷오버(Cutover)’라고 부릅니다.

이번 글에서는 이 ‘결전의 날’에 QA가 어떤 중요한 역할을 하는지 알아보겠습니다.

이 글에서 다루는 것

  • 컷오버의 개념과 진행 단계
  • QA의 핵심 임무, ‘Go/No-Go’ 테스트
  • 성공적인 컷오버를 위한 실무 팁
  • 컷오버 테스트 미니 체크리스트

‘컷오버(Cutover)’, 정확히 무엇인가요?

‘컷오버’는 기존에 운영되던 시스템을 완전히 종료하고, 새로운 시스템으로 서비스를 전환하여 공식적으로 오픈하는 과정을 의미합니다.

  • 비유:
    • ‘이사하는 날’과 같습니다.
    • 옛날 집의 모든 짐을 빼고(구 시스템 종료), 새로운 집에 모든 짐을 푼 뒤(신 시스템 배포), 전기와 수도가 잘 나오는지(핵심 기능 검증) 최종 확인하고 입주를 완료하는(서비스 오픈) 과정입니다.

‘컷오버’는 어떤 단계로 진행되나요?

보통 사용자가 가장 적은 심야나 주말에, 다음과 같은 단계로 진행됩니다.

  • 1. D-1 (사전 점검):
    • 최종 데이터 백업, 구 시스템의 마지막 상태 확인 등 모든 준비를 마칩니다.
  • 2. 컷오버 당일 (D-Day):
    • 서비스 중단 공지: 사용자에게 서비스 점검을 알립니다.
    • 구 시스템 종료: 기존 시스템으로의 모든 접근을 차단합니다.
    • 최종 데이터 마이그레이션: 구 시스템의 최종 데이터를 신 시스템으로 이관합니다.
    • 신 시스템 배포 및 구동: 신규 시스템을 운영 서버에 배포하고 실행합니다.
    • QA 및 현업의 최종 검증 (Go/No-Go 테스트): QA를 중심으로, 시스템이 오픈 가능한 상태인지 최종 확인합니다.
    • 서비스 오픈: 모든 검증이 완료되면, 사용자가 신규 시스템에 접근할 수 있도록 서비스를 오픈합니다.
  • 3. D+1 (사후 모니터링):
    • 서비스 오픈 직후, 시스템이 안정적으로 동작하는지 집중적으로 모니터링합니다.

[QA의 핵심 임무] ‘Go/No-Go’ 테스트

‘Go/No-Go 테스트’는 ‘컷오버’ 과정에서 QA가 수행하는 가장 중요하고 긴장되는 활동입니다.

이는 신규 시스템이 사용자에게 공개되기 직전, 실제 운영 환경에서 수행하는 마지막 테스트입니다.

이 테스트의 결과에 따라, 예정대로 서비스를 오픈할지(‘Go’), 아니면 모든 것을 되돌리고 오픈을 연기할지(‘No-Go’, 즉 롤백)를 결정하게 됩니다.

  • 테스트 대상:
    • 스모크 테스트:
      • 시스템이 일단 정상적으로 구동되고, 웹/앱 화면에 접속이 가능한가?
    • 핵심 기능 검증:
      • 이 기능이 동작하지 않으면 서비스 오픈이 불가능한, 사전에 합의된 최우선 순위 기능(P0)들을 테스트합니다.
      • 예: 로그인, 핵심 정보 조회, 가장 중요한 거래 기능(결제, 송금 등)
    • 데이터 정합성 샘플링:
      • 최종 마이그레이션된 데이터 중, 핵심적인 데이터 몇 건이 새로운 시스템에서 올바르게 조회되는지 확인합니다.

현직자만 아는 ‘컷오버 테스트’ 꿀팁

꿀팁 1: 체크리스트에 목숨을 걸어라

컷오버 당일은 모두가 긴장하고 정신이 없습니다. 이때 사람의 기억력에 의존하면 반드시 실수가 나옵니다. QA는 사전에 ‘시간대별’로 ‘누가’, ‘무엇을’, ‘어떻게’ 확인할지에 대한 매우 상세하고 구체적인 체크리스트를 만들어야 합니다. 단 하나의 확인 항목 누락이 큰 장애로 이어질 수 있습니다.

꿀팁 2: 롤백(Rollback) 계획을 가장 먼저 테스트하라

성공적인 ‘시스템 오픈’의 가장 중요한 조건은, ‘실패했을 때 안전하게 돌아갈 수 있는가’입니다. QA는 실제 컷오버 훨씬 이전에 진행되는 ‘리허설’ 과정에서, 문제가 발생했을 때 구 시스템으로 되돌아가는 ‘롤백’ 시나리오가 정말 계획대로 동작하는지 가장 먼저, 그리고 가장 철저하게 검증해야 합니다.

결론: 품질의 최종 수문장

‘컷오버 테스트’는 QA가 수행하는 테스트 중 가장 높은 수준의 책임감과 집중력을 요구하는 활동입니다.

단 몇 시간의 테스트 결과가, 수년간 준비해온 프로젝트의 성공과 실패를 결정하기 때문입니다.

QA는 이 과정에서 단순한 테스터가 아닌, 데이터에 기반하여 릴리즈 여부를 판단하는 ‘품질의 최종 수문장’ 역할을 합니다.

부록: 컷오버 테스트 미니 체크리스트 ✅

  • 신규 시스템의 모든 서버가 정상적으로 구동되었는가?
  • 핵심 기능(로그인, 메인 페이지 등)에 대한 스모크 테스트를 통과했는가?
  • 최종 이관된 데이터가 정확하게 조회되는가? (핵심 데이터 샘플링)
  • 외부 시스템(PG, 인증 등)과의 연동이 정상적으로 이루어지는가?
  • 만약의 사태를 대비한 롤백(Rollback) 절차가 준비되어 있고, 검증되었는가?

참고 자료 (References)

  • Atlassian – Deployment strategies (블루그린, 카나리 등 다양한 배포 전략 소개)
  • ITIL (Information Technology Infrastructure Library) (IT 서비스 관리 및 운영에 대한 글로벌 표준 프레임워크)

댓글 남기기