테스트 자동화 방안 – 테스트에 AI 접목시키기

안녕하세요 ~ 차세대 빌링 시스템 구축을 담당하고있는 ICIS Tr 빌링팀입니다. 구독자 여러분~ 개발하랴, 테스트하랴 손이 열 개라도 부족하실 텐데요, ICIS Tr 빌링팀에서는 AI 서빙 플랫폼 AI:ON-U를 활용하여 테스트 케이스 생성 자동화를 통한 업무 생산성 향상 방안을 소개하고자 합니다 ~!
Jul 24, 2024
테스트 자동화 방안 – 테스트에 AI 접목시키기

수행 배경은 무엇인가요 ?

수행 배경

여러분도 잘 아시다시피 ICT 사업본부는 현재 ICIS Tr이라는 대규모 프로젝트를 진행하고 있습니다.

프로젝트가 막바지로 접어들면서 ICIS Tr 빌링팀도 RAT(Rating Accuracy Test, 과금 정합성 테스트), BAT(Billing Accuracy Test, 청구 정합성 테스트)를 수행하느라 여념이 없는데요, 그 외 비교적 독립적인 업무의 API서비스들은 단위테스트 시 개발자가 직접 테스트 데이터를 생성하여 Swagger를 통한 테스트를 수행하곤 했었습니다.

이때, 테스트 데이터의 편향이 일어나기도 하고, 충분한 양의 테스트 케이스를 생성하기 쉽지 않았는데요, 이 고민을 해결하고자 테스트 케이스의 생성을 자동화하여 RAT, BAT와 같은 전수테스트에 리소스를 더 투자할 수 있지 않을까 하여 활용을 검토하게 되었습니다.

이제 테스트 케이스를 만들러 가볼까요 ?

  1. 시나리오별 테스트 SQL을 작성하도록 지시하는 세부 명령어 작성

시나리오별 테스트 SQL을 작성하도록 지시하는 세부 명령어 작성

작성한 명령어의 주요 사항은 다음과 같습니다.

  • 인덱스를 힌트로 사용

  • 바인딩 변수 조건을 만족하는 유일한 행을 검색

2. 서비스 관련 소스코드 입력

2. 서비스 관련 소스코드 입력
  1. 해당 소스코드를 바탕으로 생성된 테스트 SQL 추출

해당 소스코드를 바탕으로 생성된 테스트 SQL 추출
  1. 시나리오별 테스트 코드를 작성하는 세부 명령어 작성

시나리오별 테스트 코드를 작성하는 세부 명령어 작성

작성한 명령어의 주요 사항은 다음과 같습니다.

  • 테스트코드는 mockMvc로 생성

  • 여러 개의 바인딩 변수를 각각 다른 조건으로 설정

  • 성공 케이스, 입력값이 빠진 케이스, 조회결과가 없는 케이스 등 다양하게 작성

  1. 테스트 SQL 포함된 테스트 코드 추출

테스트 SQL 포함된 테스트 코드 추출
  1. 테스트 수행 및 결론 도출

테스트 수행 및 결론 도출

향후 계획은 무엇인가요 ?

향후 계획은 무엇인가요 ?

앞서 말씀드린 바와 같이, 이번 PoC는 독립적인 조회성 API에 대하여 수행하였는데요, 향후에는 상품별 요금에 영향을 주는 데이터(요금팩터)를 다방면으로 학습시켜, 빌링 시스템의 핵심 기능인 과금, 청구 정합성에 대한 테스트 케이스 생성을 목표로 하고 있습니다.

실제 가입자가 존재하진 않지만, 발생 가능한 요금 조합에 대해서도 빠짐 없이 테스트한다면, 더욱 신뢰도 있는 빌링 시스템을 구축할 수 있지 않을까요?

글을 마치며…

글을 마치며…

사실은 프로젝트에 AI를 접목시킬 수 있는 방안이 있을까 고민을 많이 했었는데요, 자사 AI 서빙 플랫폼AI:ON-U를 활용하여 Smart하게 일하는 법을 다시 한번 느낄 수 있던 값진 경험이었고, 다른 자사 솔루션 및 플랫폼에도 더욱 관심을 가지는 기회가 되었습니다.

감사합니다 :)

Share article
Subscribe to our newsletter

ICT사업본부 블로그