
금융권 테스트 자동화 시스템 구축 – 도입부터 운영까지 (3)
서론: 금융권에서의 테스트 자동화 필요성
금융권 테스트 자동화의 주요 고려 사항
테스트 자동화 시스템 설계 및 도입 전략
테스트 자동화 도입 절차(요구사항 분석 → 툴 선정 → 프레임워크 구축).
금융권에 적합한 테스트 자동화 툴 및 기술 선택
(다음 블로그에서 다룰 예정입니다.)CI/CD와 연계한 테스트 프로세스 자동화
금융권 테스트 자동화 적용 사례
운영 및 유지보수: 테스트 자동화의 지속 가능성 확보
결론 및 향후 전망
테스트 자동화 시스템 설계 및 도입 전략
금융권에서 테스트 자동화 시스템을 효과적으로 설계하고 도입하기 위해서는 체계적인 접근이 필요합니다. 아래에서는 단계별 전략과 함께 국내 사례를 통해 이를 상세히 설명하겠습니다.
테스트 자동화 도입 절차(요구사항 분석 → 툴 선정 → 프레임워크 구축)
요구사항 분석 및 자동화 대상 선정
요구사항 분석: 테스트 자동화 도입의 첫 단계는 시스템의 기능적, 비기능적 요구사항을 철저히 분석하는 것입니다. 이를 통해 어떤 부분이 자동화의 우선순위가 되어야 하는지 파악할 수 있으며 향후 지속적 운영을 위한 가이드 라인이 될 수 있습니다.
자동화 대상 선정: 반복적이고 시간이 많이 소요되며, 인적 오류의 가능성이 높은 테스트 케이스를 우선적으로 자동화 대상으로 선정하는 것이 가장 많은 효과를 확인 할 수 있습니다. 예를 들어, 로그인, 결제 처리, 데이터 입력 등과 같은 기능이 이에 해당하며 복잡하거나 사함의 판단이 필요한 케이스의 경우, 빠르고 안정적인 운영에 어려움이 있을 수 있습니다.
적합한 테스트 자동화 도구 선정
도구 평가 기준:
시스템 호환성: 기존 시스템과의 통합 가능성
사용 편의성: 테스트 스크립트 작성의 용이성
커뮤니티 및 지원: 활발한 사용자 커뮤니티와 기술 지원
국내 사례: 삼성금융(삼성카드·삼성생명·삼성화재·삼성증권)은 통합 금융서비스 '모니모' 앱의 안정성을 강화하기 위해 상시 테스트 환경을 도입하고, 국산 초자동화 솔루션 기업 시메이션의 '체크메이트'를 선정하였으며, 앱 테스트 자동화 및 품질 관리 체계를 구축 진행중에 있습니다.
https://m.ddaily.co.kr/page/view/2025011414595105617 <디지털 데일리, 2025-01-14 15>테스트 자동화 프레임워크 설계
금융권에서 테스트 자동화 프레임워크를 구축할 때는 테스트의 유지보수성, 확장성, 실행 속도, CI/CD와의 연계성 등을 철저히 고려해야 합니다. 특히, 금융 시스템의 복잡성을 감안하여 재사용 가능한 모듈화된 구조를 갖춰야 하며, 비개발자도 쉽게 사용할 수 있도록 설계하는 것이 중요합니다.
테스트 자동화 프레임워크 설계 고려사항
① 모듈화 및 재사용성
테스트 코드의 유지보수 비용을 줄이기 위해 모듈화 설계가 필수적입니다.
- Flow Chart 형태로 모듈 마다 분리 개발하여 공통 모듈 등으로 관리되도록 하고, 여러 테스트 케이스에서 재사용 하도록 설계
- 페이지 오브젝트 모델(POM, Page Object Model) 활용 → UI 테스트 자동화 시 각 페이지를 독립적인 클래스로 관리하여 코드 재사용성을 높임
- 테스트 시나리오를 컴포넌트 단위로 분리하여 여러 테스트에서 재사용 가능하도록 설계
예시: 온라인 뱅킹 시스템 자동화 테스트에서 로그인, 송금, 계좌조회 등의 기능을 각각 독립적인 모듈로 구성하여 유지보수를 용이하고, 다수의 테스트 케이스에서 공통을 사용하도록 설계/운영 하고 있습니다.
② 데이터 주도 테스트(Data-Driven Testing)
다양한 테스트 데이터를 적용하여 반복적인 테스트를 수행 가능하도록 설계해야 합니다.
- 엑셀, JSON, 데이터베이스에서 입력 데이터를 로드하여 자동화 테스트 실행
- 동일한 테스트 케이스에 다양한 입력값을 적용하여 커버리지 확대
예시: API 자동화 테스트에서 고객별 거래 패턴을 시뮬레이션하기 위해 데이터베이스의 실제 거래 데이터를 익명화한 후 테스트 데이터로 활용하는 사례는 일반적으로 많이 보편화 되어 있습니다.
CI/CD 파이프라인과의 통합
CI/CD(지속적 통합 및 지속적 배포) 환경에서 자동화 테스트가 원활히 수행되도록 프레임워크를 설계해야 합니다.
1) 자동화된 빌드 및 테스트 연동
- Jenkins, GitLab CI/CD, Azure DevOps 등과 테스트 자동화 프레임워크 연동이 가능
- 코드 변경 사항 발생 시 자동으로 테스트 실행 및 결과 리포트 생성
예시: 일부 금융권에서는 CI/CD 파이프라인에서 GitLab CI/CD와 테스트 자동화 도구를 연동하여 코드 푸시(push) 시 자동으로 테스트가 실행되도록 설정하여 배포 이후 테스트 자동화가 가능하도록 운영하고 있습니다.
2) 배포 자동화와의 연계
테스트 자동화가 배포 프로세스와 연계되어야 문제가 있는 코드가 프로덕션 환경에 배포되는 것을 방지할 수 있습니다.
- 배포 전 E2E(End-to-End) 테스트 및 API 테스트 자동 실행
- 테스트 결과에 따라 배포 승인 여부 자동 결정 (테스트 실패 시 롤백 기능 적용)
예시: 국내 핀테크 기업은 배포 프로세스 중 UI 자동화 테스트를 포함하여, 주요 기능이 정상 작동하는지 검증 후 자동 배포 진행을 적용하여 배포 후 서비스 장애에 대해 선재적 대응을 매우 빠르게 하고 있습니다.
파일럿 프로젝트 수행 및 단계적 확대
파일럿 프로젝트 수행: 테스트 자동화 도입 초기에는 전체 시스템이 아닌 소규모 프로젝트나 특정 모듈을 대상으로 파일럿 테스트를 진행하는 것이 바람직합니다. 이를 통해 자동화의 효과를 검증하고, 예상치 못한 문제점을 발견하여 개선할 수 있습니다.
무엇보다 조직의 내재화가 가장 최우선시 되어야 하며, 프로세스와 시스템 모두 조직에 맞도록 개선해 나가야 합니다.
국내 사례: KB국민은행은 2007년부터 IT 테스트 자동화 시스템(TAS) 구축을 단계적으로 추진하였습니다. 초기 1단계에서는 사용자 환경(UI) 테스트 자동화에 집중하여 파일럿 프로젝트를 수행하였고, 이를 통해 얻은 경험과 성과를 바탕으로 이후 단계에서 자동화 범위를 확대해 나갔습니다.
22년 이후, RPA기반 비대면 서비스 모니터링 시스템 구축하여 현재까지 운영중에 있습니다.
단계적 확대: 파일럿 프로젝트의 성공을 기반으로, 자동화 대상을 점진적으로 확대하는 전략을 취해야 합니다. 초기에는 핵심 기능이나 빈번히 사용되는 모듈을 중심으로 자동화를 도입하고, 이후 전체 시스템으로 범위를 넓혀가는 방식입니다. 이러한 접근은 리스크를 최소화하면서 자동화의 이점을 극대화할 수 있으며 가장 안정적으로 확대할 수 있는 방법 입니다.
국내 사례: 교보생명은 2024년 12월 인프라 테스트 자동화 시스템 시범사업을 성공리에 마쳤습니다. 태블릿 App과 PC단말 프로그램의 상시 회기 테스트를 목적으로 진행하였으며, 보험상품 가입 프로세스 전반에 걸쳐 검증되었습니다.
보험 상품의 특성상 입력변수의 과다로 케이스의 복잡성이 증가되었고, 테스트 시간이 증가되는 현상이 발생하였으나 점진적 최적화를 통해 다양한 보험상품 적용 가능성을 확인, 25년 확대 사업을 현재 준비중이며 정기점검 부터 업무 점검 자동화 까지 대상을 확대 준비하고 있습니다.
지속적인 모니터링 및 유지보수
테스트 스크립트 유지보수: 시스템은 지속적으로 변화하고 업데이트되므로, 이에 따라 테스트 스크립트도 주기적으로 검토하고 수정해야 합니다. 새로운 기능이 추가되거나 기존 기능이 변경될 때마다 테스트 스크립트를 최신 상태로 유지하여 자동화된 테스트의 신뢰성을 확보해야 합니다.
국내 사례: 이비소프트는 AI 기반 테스트 공정관리 도구 '디펙메이트Ai' 와 AI 자동화 테스트 솔루션 '채크메이트'를 금융권에 공급하여, 자동화된 테스트를 통해 시스템 안정성을 보장하고 효율성을 극대화하고 있습니다. 이를 통해 금융 시스템의 변경 사항에 신속하게 대응하고, 테스트 스크립트의 지속적인 유지보수를 지원하고 있습니다.
성능 모니터링: 자동화된 테스트의 성능을 지속적으로 모니터링하여 병목 현상을 파악하고 최적화해야 합니다. 테스트 실행 시간, 자원 사용량 등을 분석하여 효율적인 테스트 환경을 유지하는 것이 중요합니다.
국내 사례: 신한은행은 'AI 브랜치'를 개설하여 AI와 디지털 기술을 활용한 미래형 영업점을 운영하고 있습니다. 이 과정에서 AI 시스템의 성능을 지속적으로 모니터링하고, 고객 업무 관련 데이터를 학습하여 스스로 성능을 개선할 수 있도록 하여 안정적인 서비스 제공을 목표로 하고 있습니다.
금융권에서 테스트 자동화 시스템을 성공적으로 도입하기 위해서는 파일럿 프로젝트를 통한 초기 검증과 단계적 확대, 그리고 지속적인 모니터링 및 유지보수가 필수적입니다.
국민은행과 교보생명의 사례에서 볼 수 있듯이, 점진적인 자동화 확대와 지속적인 모니터링 및 유지보수는 시스템의 안정성과 효율성을 높이는 데 크게 기여하고 있습니다.
0 Comments