[groom] 클라우드 엔지니어링 프로젝트 과정 2회차 - DAY 5

HAHAHELLO·2025년 4월 29일
0

오늘의 회고

테스트 코드

테스트 코드의 중요성에 대해 들었다. 데이터 엔지니어링 과정 중에 API 만들때 pytest로 테스트 코드를 만들곤 했는데 그 당시에는 중요성을 알지 못했던 것 같다.

테스트 코드를 만들어야 하는 이유는
1. 테스트 코드 없이 기능만 가지고 테스트를 진행하면 컨트롤러 계층까지는 만들어야 테스트가 가능해진다.
즉 레포지토리나 서비스 계층은 컨트롤러 계층이 구현될때까지 테스트를 하지 못하는 일이 발생한다.
2. 리팩토링 검증을 위해 필요하다. 리팩토링 이후에 비즈니스 구조를 유지하고 있는지 확인하기 위해 테스트 코드가 필요가 필요하다.

테스트 코드를 만들어야 하는 이유를 데이터 엔지니어 관점에서 좀 더 구체적으로 정리해 보자면, 데이터 처리 파이프라인이 복잡하고, 데이터 품질과 파이프라인 안정성이 매우 중요하기 때문이라고 한다.

아래는 테스트 코드를 작성하는 이유이다.

  1. 단위 테스트: 데이터 추출, 변환, 적재 등 개별 데이터 처리 작업에 대한 단위 테스트를 작성하여 기능을 검증한다.

  2. 통합 테스트: 데이터 파이프라인 전체에 대한 통합 테스트를 수행하여 데이터 흐름과 전체 로직의 정상 동작을 확인한다.

  3. 데이터 품질 검증: 데이터 처리 결과에 대한 테스트 케이스를 작성하여 데이터 품질을 지속적으로 모니터링한다.

  4. 배포 자동화: 테스트 코드를 통해 데이터 파이프라인의 배포 프로세스를 자동화하여 안정적인 운영을 보장한다.

  5. 리팩토링 지원: 데이터 파이프라인 코드 리팩토링 시 테스트 코드를 통해 기존 기능의 동작을 검증할 수 있다.

이번 프로젝트는 테스트 코드를 통해 테스트를 진행하면서 품질 검증이나 배포 자동화 등에 신경써야 겠다.

프로젝트

개발 파트에서 기능에 대한 세부 내역을 정하지 않아 혼란이 생긴 것 같아서 구체화를 돕기 위해 화면 정의서와 로그 양식을 먼저 만들어서 공유했다.
로그양식은 일단 유저 활동 로그 데이터를 기반으로 만들었다. 광고 로그 활용 방안에 대해서는 회의만 하고 있었는데 강사님이 추후에 대략적인 가이드를 주실 것 같아서 일단은 2차에 고려해도 될 것 같다.

백엔드 파트는 팀원들이 분배해서 작은 기능을 구현해 보기로했다. Java를 아예 사용해보지 않은 사람도 있고 나처럼 잠깐만 사용해봐서 잊어버린 사람도 있는 것 같다.
이번 기회에 옛 기억을 꺼내서 Java가 어떻게 돌아가는지 대략적으로 이해하는 시간을 가져야겠다.

profile
데이터 엔지니어가 되어 봅시다 🌈

0개의 댓글