기업의 자금 흐름을 책임진다, QA 펌뱅킹 및 CMS 테스트

개인 고객의 소액 이체와는 차원이 다른, 거대한 돈의 흐름이 있습니다.

기업이 수백, 수천 명의 직원에게 급여를 ‘대량 이체’하고, 수많은 협력업체에 ‘대금’을 지급하는 과정입니다.

이러한 기업 자금 관리의 핵심에 바로 ‘펌뱅킹(Firm Banking)’과 ‘CMS(Cash Management Service)’가 있습니다.

이번 글에서는 이 B2B 금융의 심장부를 QA가 어떻게 테스트해야 하는지 알아보겠습니다.

이 글에서 다루는 것


  • 펌뱅킹CMS의 개념
  • QA의 핵심 검증 영역: 파일 전송과 데이터 정합성
  • 펌뱅킹 테스트의 주요 시나리오
  • QA를 위한 실무 꿀팁

‘펌뱅킹’과 ‘CMS’, 정확히 무엇인가요?

두 용어는 종종 혼용되지만, 미세한 차이가 있습니다.

  • 펌뱅킹 (Firm Banking):
    • 기업의 내부 시스템(ERP, 회계 시스템 등)을 은행의 전산 시스템과 ‘직접 연결’하는 것입니다.
    • 은행에 직접 방문하거나, 인터넷 뱅킹에 로그인하지 않고도, 자사의 시스템에서 바로 대량 이체, 입출금 내역 조회 등의 금융 업무를 처리할 수 있게 해주는 전용선과 같은 개념입니다.
  • CMS (Cash Management Service):
    • 펌뱅킹을 포함하는 더 넓은 개념입니다.
    • 단순히 은행과의 연결을 넘어, 기업의 전체적인 자금 현황(여러 은행 계좌 통합 조회, 현금 흐름 예측 등)을 효율적으로 관리할 수 있도록 돕는 종합적인 자금 관리 서비스를 의미합니다.

펌뱅킹 테스트, 무엇이 다른가요?

펌뱅킹 테스트의 핵심은 ‘실시간 API 통신’과 더불어, 정해진 시간에 대량의 데이터를 주고받는 ‘파일 전송’ 방식을 검증하는 것입니다.

  • 파일 전송 방식:
    • 기업은 “A 직원에게 100만원, B 직원에게 200만원…” 과 같이, 수천 건의 이체 정보를 담은 ‘대량 이체 파일’을 생성합니다.
    • 이 파일을 암호화하여, SFTP와 같은 안전한 프로토콜을 통해 은행 서버로 전송합니다.
    • 은행은 이 파일을 받아 처리하고, 그 ‘처리 결과 파일’을 다시 기업에게 보내줍니다.

QA는 ‘펌뱅킹’에서 무엇을 검증해야 하나요?

1. 파일 형식 및 데이터 정합성 검증

  • 파일 형식(Layout) 검증:
    • 은행과 약속한 ‘파일 형식’을 100% 준수하는지 확인합니다.
    • 예: 각 필드의 길이, 데이터 타입(숫자/문자), 필수값 여부, 날짜 형식 등.
    • 단 하나의 바이트(byte)라도 형식이 다르면, 은행 시스템은 파일을 통째로 거부할 수 있습니다.
  • 데이터 내용 검증:
    • 파일에 포함된 데이터의 ‘총 건수’와 ‘총 금액’이, 우리 내부 시스템의 원본 데이터와 정확히 일치하는지 교차 검증합니다.

2. 파일 전송 및 처리 결과 검증

  • 파일 암호화 및 전송 테스트:
    • 생성된 이체 파일이 안전하게 암호화되는지, 그리고 약속된 시간에 은행 서버로 정상적으로 전송되는지 확인합니다.
  • 결과 파일 처리 테스트:
    • 은행으로부터 받은 ‘처리 결과 파일’을 우리 시스템이 정확하게 읽어 들여, 각 거래의 성공/실패 상태를 내부 DB에 올바르게 반영하는지 확인합니다.
    • ‘성공’, ‘수취인 계좌 없음’, ‘잔액 부족’ 등 은행이 보내주는 다양한 결과 코드에 따라, 후속 조치가 올바르게 이루어지는지 검증하는 것이 중요합니다.

현직 QA의 실제 경험담

제가 경험한 펌뱅킹 장애 중 아찔했던 사례가 있습니다. 한 직원의 이름에 흔히 쓰이지 않는 한자(漢字)가 포함되어 있었는데, 우리 시스템과 은행 시스템의 문자 인코딩(Encoding) 방식이 달라 이 직원의 이름이 깨져서 파일이 생성되었습니다.

은행 시스템은 이 한 줄의 오류 때문에, 수천 건의 급여 이체가 담긴 파일 전체를 ‘실패’ 처리했습니다. 이 경험을 통해, QA는 영문/숫자뿐만 아니라 한글, 한자, 특수문자 등 모든 문자 처리가 양쪽 시스템에서 동일하게 이루어지는지 반드시 테스트해야 한다는 교훈을 얻었습니다.


결론: 기업의 혈관을 책임지는 역할

펌뱅킹 시스템은 기업의 자금 흐름을 책임지는 ‘대동맥’과도 같습니다.

이 혈관이 막히거나 잘못 흐르면, 기업의 신뢰도와 운영에 심각한 문제가 발생합니다.

펌뱅킹 테스트는 눈에 보이는 화면이 없는, 순수한 데이터와 프로토콜의 세계입니다.

QA는 데이터 구조에 대한 깊은 이해를 바탕으로, 보이지 않는 곳에서 이루어지는 거대한 돈의 흐름이 1원의 오차도 없이, 단 한 건의 누락도 없이 정확하게 이루어지도록 보증해야 합니다.

부록: 펌뱅킹 테스트 미니 체크리스트 ✅

  • 대량 이체 파일의 총 건수와 총 금액이 원본 데이터와 일치하는가?
  • 파일의 문자 인코딩(예: EUC-KR, UTF-8)이 은행 시스템과 일치하는가?
  • 파일 전송 실패 시, 재전송 메커니즘이 안정적으로 동작하는가?
  • 은행으로부터 받은 다양한 결과 코드(성공, 실패 사유 등)를 올바르게 처리하는가?
  • 특정 거래만 실패했을 때, 전체 배치가 아닌 해당 거래만 롤백 처리되는가?

참고 자료 (References)

  • 금융결제원(KFTC) – CMS/펌뱅킹 서비스 소개 (국내 금융 공동망 운영 기관)
  • ISO 20022 (금융 서비스 산업의 메시지 교환을 위한 글로벌 표준)

댓글 남기기