우리가 은행 앱에서 누르는 ‘이체’ 버튼 하나.
그 뒤편에는 수십 년간 은행의 모든 거래를 기록하고 관리해 온 거대한 심장이 뛰고 있습니다.
이 심장을 바로 ‘계정계(Core Banking)’ 시스템이라고 부릅니다.
이번 글에서는 이 가장 중요하고, 가장 테스트하기 어려운 시스템을 QA가 어떻게 검증해야 하는지 알아보겠습니다.

이 글에서 다루는 것
- 계정계 시스템의 개념과 역할
- 계정계 테스트가 어려운 이유
- 핵심 테스트 영역: 원장, 마감, 연동
- 차세대 계정계 프로젝트와 QA
‘계정계(코어뱅킹) 시스템’, 정확히 무엇인가요?
‘계정계’ 시스템은 금융기관의 가장 핵심적인 원장(Ledger) 관리 시스템입니다.
모든 고객의 계좌 정보, 잔액, 그리고 모든 거래 기록을 최종적으로 처리하고 저장하는 역할을 합니다.
입금, 출금, 이체, 대출 원리금 계산, 이자 계산 등 은행의 모든 ‘돈’과 직접적으로 관련된 계산은 바로 이 시스템을 거칩니다.
전통적으로 매우 높은 안정성이 요구되어, 메인프레임 환경에서 COBOL과 같은 언어로 개발된 경우가 많습니다.
왜 ‘계정계 테스트’는 유독 어려운가요?
‘계정계’ 시스템은 오래되고, 복잡하며, 모든 시스템의 중심에 있기 때문입니다.
- 1. 극도의 복잡성(Complexity):
- 수십 년간 수많은 비즈니스 로직과 예외 처리가 누적되어 있습니다.
- 이 때문에, 아주 작은 코드 변경 하나가 어떤 예상치 못한 영향을 미칠지 예측하기 매우 어렵습니다.
- 2. 테스트 환경 구축의 어려움:
- 실제 운영 환경과 동일한 거대한 메인프레임 테스트 환경을 구축하는 것은 비용과 기술적 측면에서 매우 어려운 일입니다.
- 3. 수많은 외부 시스템과의 연동:
- 인터넷 뱅킹, 모바일 뱅킹, ATM, 다른 은행과의 공동망 등 수많은 ‘채널계’ 시스템과 유기적으로 연결되어 있어, 통합 테스트가 매우 복잡합니다.
QA는 ‘계정계’의 무엇을 중점적으로 테스트해야 하나요?
‘계정계’ 테스트는 데이터의 ‘완벽한 정합성’을 검증하는 데 모든 초점을 맞춥니다.
- 1. 원장(Ledger) 거래 검증:
- 모든 입금/출금 거래가 고객 계좌 원장에 정확하게 기록되는지 확인합니다.
- 회계의 기본 원칙인 ‘차변(Debit)’과 ‘대변(Credit)’의 금액이 항상 일치하여, 전체 시스템의 돈의 총합이 맞는지를 검증하는 것이 핵심입니다.
- 2. 일일 마감(End-of-Day) 배치 테스트:
- ‘계정계’의 가장 중요한 작업 중 하나입니다.
- 하루 동안 발생한 모든 거래를 마감하고, 모든 계좌의 최종 잔액을 확정하며, 이자를 계산하는 거대한 배치 프로세스를 검증합니다.
- 이 작업이 정해진 시간 안에 끝나지 않으면, 다음 날 은행 영업을 시작할 수 없는 심각한 문제로 이어집니다.
- 3. 채널 연동 테스트:
- 모바일 앱에서 실행한 이체 요청이, 여러 단계를 거쳐 최종적으로 ‘계정계’ 원장에 정확히 반영되는지 End-to-End 시나리오를 검증합니다.
‘차세대 계정계’ 프로젝트와 QA의 역할
많은 은행들이 낡은 메인프레임 기반의 ‘계정계’를, 클라우드 기반의 유연한 ‘차세대 시스템’으로 전환하는 거대한 프로젝트를 진행하고 있습니다.
이때 QA의 역할은 매우 중요합니다.
- 데이터 마이그레이션 검증:
- 구(舊) 시스템에 수십 년간 쌓여있는 고객 및 거래 데이터를, 신(新) ‘차세대 시스템’으로 단 하나의 오류나 누락도 없이 안전하게 옮기는 과정을 검증합니다.
- 신/구 시스템 비교 테스트:
- 동일한 거래 요청에 대해, 신 시스템과 구 시스템이 100% 동일한 결과를 내놓는지 수없이 비교 검증하는 작업을 수행합니다.
- 이를 통해, 새로운 시스템이 기존 시스템의 안정성을 그대로 계승했음을 보증해야 합니다.
결론: 금융의 역사를 책임지는 일
‘계정계’ 시스템은 금융기관의 과거이자 현재이며, 미래입니다.
이 시스템을 테스트하는 것은, 단순히 버그를 찾는 것을 넘어 수천만 고객의 자산과 은행의 역사를 책임지는 일입니다.
‘차세대 계정계’ 프로젝트에서 QA는, 낡은 심장을 새로운 심장으로 교체하는 대수술의 성공을 보증하는, 막중한 책임감을 가진 핵심 의료진과도 같습니다.
부록: 계정계 테스트 미니 체크리스트 ✅
- 모든 거래에 대해 차변과 대변의 금액이 일치하는가?
- 일일 마감 작업 후, 모든 계좌의 최종 잔액이 정확한가?
- 이자 계산 로직(예금, 대출)이 정확한가?
- 차세대 시스템 전환 시, 마이그레이션된 데이터에 누락이나 변환 오류는 없는가?
- 신/구 시스템에 동일한 입력을 넣었을 때, 동일한 결과가 나오는가?
참고 자료 (References)
- 카카오뱅크 기술 블로그 – 카카오뱅크는 코어뱅킹을 어떻게 만들었을까? (국내 인터넷 은행의 코어뱅킹 구축 사례)
- Temenos – What is Core Banking? (글로벌 코어뱅킹 솔루션 기업)