CDR 테스트 자동화프로그램 만들기 회고

강신찬·2025년 4월 30일

왜 만들었냐면..

  • 테스트를 할 때 두 가지 방법이 있다. 하나는 직접 CDR파일을 만들어서 처리하게 두는것이고... 다른 하나는 스크립트로 CDR파일을 만들게해서 처리하게 하는 것이다.
  • 근데 둘 다 불편하다. 이유는 테스트를 여러번 진행하고 그 때마다 보내는 양이 다르고 하기 때문에 입력창에 정보를 입력해서 하나 보내고 기다리고 다 되면 또 보내고 이런걸 문자 여러종류, 통화 여러종류를 하다보니 너무 귀찮았다.
  • 자동화 할 수 있지 않을까?라는 생각으로 시작해봤다.

어떻게 만들었냐

  • 먼저 환경 변수를 설정하고, 필요한 파일 경로와 확장자 등 기본 설정을 초기화한 후, 각 기능별로 독립적인 함수들을 정의했다. 예를 들면 가입자 정보를 조회하는 함수에서는 입력한 전화번호를 가지고 디비에서 관련정보를 조회하고 입력검증과 오류처리를 통해 올바른 데이터인지 확인했다.
  • 다음은 문자와 음성/부가/영상 CDR파일을 생성하는 모듈을 만들었다. 각각의 모듈은 시작시간, 무료 사용량, 옵션 선택 등 필수 입력값을 받고, 이를 기반으로 자동으로 파일 헤더와 내용, 푸터를 생성하는 로직이 실행된다.
  • 특히, 시간 증가와 같은 반복적이고 계산이 필요한 부분은 별도의 함수로 모듈화하여, 다음 단계의 시작시간을 자동으로 조정ㅇ하는 방식으로 사용했다. 이렇게 함으로써 각 단게별 테스트를 한 번의 실행 흐름 내에서 순차적으로 진행할 수 있게 하였다.
  • 메인 실행 메뉴를 통해서는 사용자에게 선택지를 제공하여 가입자 정보조회, 수동 파일 생성, 그리고 자동 다중 테스트 실행 등 여러 옵션을 한눈에 선택할 수 있게 했다.
  • 특히나 본 프로그램의 목적인 자동 다중 테스트 모드에서는 전화번호, 시작시간, 무료 사용량 등을 한 번에 입력 받고 내부에서 각 단계별로 분할 계산을 통해 설정값을 산정하고 순차적으로 CDR파일을 생성하도록 함으로써 매번 수동으로 입력하지 않아도 전체 테스트 프로세스를 자동으로 진행할 수 있도록 설계했다.

느낀점

  • 테스트 과정에서의 반복적인 수작업을 제거하니 시간과 에너지 절감이 기대 됐다.
  • 모듈 단위로 기능을 분리하여 각각의 역할을 명확하게 하고, 오류 발생 시 어느 부분에서 문제가 일어났는지 쉽게 파악할 수 있도록 했는데 이 부분은 오류 뿐 아니라 재개발에서도 큰 이점일거라고 생각한다.
  • 그리고 무엇보다도 진짜 엄청나게 재밌었다. 이번에는 내 주 언어인 자바가 아니라 배시스크립트로 작성하였는데 재밌는 경험이었다. 전혀 모르는 언어도 확실히 헤딩하면 배우게되고 이해하게되고 익숙해지는 것 같다.
  • 다음에 또 할거를 찾아봐야겠다. 다 자동화시켜버리겠어
profile
꾸준히 공부하는 풀스텍 개발자

0개의 댓글