T
TechInsights
목록으로
BackEnd•2024. 11. 18.

뱅크샐러드에서 테스트 데이터를 생성하는 방법 (feat. LLM)

뱅크샐러드
뱅크샐러드 Engineering Team
뱅크샐러드에서 테스트 데이터를 생성하는 방법 (feat. LLM)

핵심요약

원문 보기

뱅크샐러드는 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 영역으로 활용이 확대될 것으로 기대됩니다.
#BackEnd#Architecture#AI
뱅크샐러드
뱅크샐러드

뱅크샐러드 Engineering Team

기술 인사이트를 전달하는 공식 채널

You might also like

View all
토스 피플 : 새로운 길을 만들 땐 내 선택을 믿는다

토스 피플 : 새로운 길을 만들 땐 내 선택을 믿는다

"이 버튼 왜 안 눌려요?" 물류 현장의 목소리로 PDA 시스템 완성하기

"이 버튼 왜 안 눌려요?" 물류 현장의 목소리로 PDA 시스템 완성하기