핵심요약
뱅크샐러드는 LLM을 활용하여 복잡한 마이데이터 테스트 데이터를 효과적으로 생성하고 있습니다. 이는 프롬프트 엔지니어링, 데이터 후처리, API 연동 및 자동화 과정을 통해 현실적인 데이터를 지속적으로 공급함으로써 테스트 효율성과 신뢰성을 크게 향상시킵니다.
LLM을 활용한 뱅크샐러드 마이데이터 테스트 데이터 자동 생성
마이데이터 테스트 데이터 생성의 도전 과제
- 마이데이터 서비스는 은행, 카드, 보험 등 복잡하고 다양한 금융 상품 정보를 포함하므로 테스트 데이터 생성에 큰 어려움이 있습니다.
- 실제 사용자의 급여, 소비 패턴, 투자 포트폴리오 등 현실적인 금융 패턴과 자산 구조를 반영해야 합니다.
- 익명성을 유지하며 시간이 지남에 따라 지속적으로 생성되어야 하며, 수작업으로는 많은 시간과 노력이 소요됩니다.
LLM 기반 테스트 데이터 생성 전략 및 구현
프롬프트 엔지니어링
- 페르소나 설정: LLM이 특정 사용자와 유사한 데이터를 생성하도록 **구체적인 역할(예: 40대 가정주부)**을 부여하여 맥락을 제공합니다.
- 데이터 형식 및 구조 명시: LLM 응답이 JSON 형식과 같은 예측 가능한 구조로 반환되도록 명확히 지시합니다.
- 퓨샷(few-shot) 학습: API 연동을 위한 JSON 예시 데이터를 포함하여 LLM의 학습 효과를 높입니다.
데이터 구조화 및 후처리
- LLM이 생성한 데이터에서 불필요한 마크다운 형식, 설명, 특수문자 등을 제거하여 정제합니다.
- JSON 파싱 및 유효성 검사를 통해 생성된 데이터가 올바른 구조를 가지는지 확인합니다.
API 연동 및 자동화
- 후처리된 JSON 데이터를 Kotlin/Java DataClass로 매핑하고, API를 통해 개발 서버에 전송하여 자산 내역을 생성합니다.
- 전체 데이터 생성 프로세스를 Task로 구성하고, GitHub Actions의 Cron Job 설정을 통해 매일 자동으로 새로운 테스트 데이터를 생성하고 서버에 업로드합니다.
자동화 결과 및 향후 기대 효과
- LLM이 생성한 데이터는 실제 사용자의 **가계부 내역(예: 관리비, 쇼핑, 외식 등)**과 같이 매우 현실적이고 개인화된 패턴을 보여줍니다.
- 이러한 자동화된 테스트 데이터는 QA팀이 실제 환경과 유사하게 테스트를 수행하고, 장기간의 내역이 필요한 기능 테스트를 신속하게 진행할 수 있게 합니다.
- 생성된 데이터는 QA팀뿐만 아니라 개발 팀에서도 활용되어 전 구성원의 효율적인 개발 및 테스트 환경을 지원합니다.
- 향후 LLM의 더욱 정교한 발전과 함께 테스트 케이스 작성, 버그 예측 등 다양한 QA 영역으로 활용이 확대될 것으로 기대됩니다.