올
올리브영
October 30, 20231회
W CARE 서비스 프론트엔드를 TDD로 개발해본 후기
간단 소개
올리브영 W CARE 서비스 프론트엔드 개발에 TDD를 적용한 경험 공유 및 장점, 개선 방향을 제시합니다.
AI Summary
- W CARE 서비스와 TDD 도입 배경
- 올리브영의 W CARE 서비스는 여성의 월경 주기 관리 및 맞춤 상품 추천을 제공하며, TDD(Test-Driven Development) 방법론을 프론트엔드 개발에 적용함.
- 복잡한 월경 이벤트 판별 알고리즘의 신뢰도를 높이기 위해 점진적인 코드 검증 및 구체화가 필요했고, 요구사항이 명확하고 변경에 견고한 초기 기획 덕분에 TDD를 선택함.
- 구체적인 TDD 전략 및 테스트 코드 작성
- 월경 주기를 세분화하여 월경 이벤트를 정의하고, 각 이벤트가 겹치는 복잡한 경우의 수를 다루기 위해 23개의 월경 이벤트를 정의함.
- 경계값 분석을 통해 월경 시작일, 종료일 등의 경계값을 포함한 테스트 케이스를 작성하여 코드의 신뢰성을 높임. 실패하는 테스트 코드 작성 후 통과하는 동작 코드를 작성하는 사이클을 반복함.
- TDD 적용 후 느낀 장점 및 발전 방향
- TDD는 초기 설계 및 알고리즘 구체화에 도움을 주었고, PO와의 협업 효율성을 높임. 또한, 코드 변경에 따른 사이드 이펙트를 빠르게 발견하고 수정할 수 있었으며, 높은 코드 품질을 확보함.
- 향후 테스트 코드 작성 비용을 줄이기 위해 도구 도입, 스니펫 활용, AI 자동완성 등을 고려하고, 리액트 컴포넌트 및 커스텀 훅 테스트 적용을 통해 UI 테스트를 강화할 계획임.
Next Feeds

킁킁!킁! 어디서 사기 냄새 안나요? : FDS 시스템에 AI 적용하기
카카오뱅크 FDS 시스템에 AI를 적용한 여정을 소개하며, Rule 기반 시스템의 한계를 극복하고 AI 기반 시스템의 장점을 설명합니다.
FDSAIMLFlinkFeature Store
2023. 10. 30.
카카오뱅크

키친보드 안드로이드 앱 Jetpack Compose 도입기
키친보드 안드로이드 앱에 Jetpack Compose를 도입하며 겪은 경험과 팁을 공유합니다. XML의 한계 극복, Compose의 장단점, 그리고 실질적인 도입 전략을 제시합니다.
Jetpack ComposeAndroidUI 개발MVI 패턴Modifier
2023. 10. 30.
스포카

자바스크립트 이렇게 짜면 외않되?
V8 엔진의 동작 원리를 이해하고, 인라인 캐싱과 히든 클래스를 활용하여 자바스크립트 코드를 최적화하는 방법에 대해 설명합니다.
V8 엔진JIT 컴파일러인라인 캐싱히든 클래스자바스크립트 최적화
2023. 10. 28.
올리브영

쿠버네티스가 스프링부트 3.0 네이티브 이미지를 만났네
넷마블 크래시리포트 시스템에 스프링부트 3.0 네이티브 이미지를 도입하여 파드 실행 시간 단축 및 자원 효율성을 개선한 사례입니다.
쿠버네티스스프링부트 3.0네이티브 이미지GraalVMUPX
2023. 10. 25.
넷마블
티맵은 유저 휴대폰 카메라를 이용해 신기능을 만든다? - 23편 - Software ADAS로 운전의 편리함을 높이다
티맵이 휴대폰 카메라 기반 Software ADAS를 개발하여 안전 운전을 지원하고, 다양한 기술을 검토 중입니다.
티맵ADAS차선 인식YOLOOpenCV
2023. 10. 25.
티맵모빌리티
멀고도 험난했던 개발 지원이 중단된 Library 연동 과정
카카오페이가 개발 지원이 중단된 레거시 시스템을 연동하면서 겪은 기술적 어려움과 해결 과정을 공유하고, 이를 통해 얻은 개발 교훈을 설명합니다.
레거시 시스템연동IPSec VPNnginx provisioningSNI
2023. 10. 24.
카카오페이