스
스포카
October 20, 20231회
기능 테스트 전환 이야기

간단 소개
통합 테스트에서 기능 테스트로 전환하며 겪은 문제점과 해결 방안, 그리고 기능 테스트 전략을 소개합니다.
AI Summary
- 기능 테스트 전환 배경
- 통합 테스트의 한계: Hibernate Lazy Loading, Flushing 메커니즘, Transactional Event Listener 관련 버그 미검출
- 원인: MOCK 모드 실행 및 Client Mocking으로 실제 동작 환경 재현 어려움
- 목표: 통합 테스트의 단점 보완, 변경에 대한 안정감 확보
- 기능 테스트 전환 방법
- 테스트 피라미드 모델 적용: 단위 테스트에서 대부분의 비즈니스 로직 테스트, 기능 테스트는 주요 기능 및 단위 테스트에서 불안한 부분 확인
- MockServer 활용: 외부 API의 문제점 해결 (API 다운, 외부 리소스 관리, 사전 조건 방대, 테스트 데이터 오염 방지)
- Test Helper 클래스 활용: 반복적인 코드 감소, 가독성 향상
- Open EntityManager in View (OSIV) 적용: 테스트 코드에서 LazyInitializationException 해결, Entity 연관관계 손쉬운 조회
- Eventually 활용: 비동기 코드 검증, Thread.sleep() 대체
- 기능 테스트 전환 이슈 및 해결
- Flaky Tests 증가: CI 모니터링 강화, 불안정한 테스트 감소 노력
- MockServer Response Template 활용: 무작위 값 생성 문제 해결, Mustache Response Templates 사용
- Message Throttling 문제: 테스트 환경에서 Throttling 설정 해제
Next Feeds
![[여기보기] 링크 설정과 파일 다운로드/업로드 관리에서 중요한 것은 꺾이지 않는 마음](https://netmarble.engineering/wp-content/uploads/2023/10/preview.png)
[여기보기] 링크 설정과 파일 다운로드/업로드 관리에서 중요한 것은 꺾이지 않는 마음
WAS 보안 강화를 위해 심볼릭 링크/Alias 제한, 불필요한 다운로드/업로드 차단, 지속적인 보안 점검의 중요성을 강조합니다.
WAS심볼릭 링크보안다운로드업로드
2023. 10. 18.
넷마블

돈 버는 커뮤니티, OK캐쉬백 오글오글의 UX/UI 이야기
OK캐쉬백의 신규 커뮤니티 서비스 '오글오글'은 사용자 참여와 보상을 결합하여 긍정적인 반응을 얻고 있으며, C2C 플랫폼으로의 성장을 목표합니다.
OK캐쉬백오글오글커뮤니티UX/UI리워드
2023. 10. 18.
skplanet

올리브영 온라인몰의 전시, 그리고 백엔드 여정
올리브영 온라인몰의 MSA 전환 여정과 데이터 서빙 전략, 안정적인 서비스 제공을 위한 노력, 그리고 성능 개선 결과를 공유합니다.
MSAMonolithicCircuitBreakerStatic DataPersonal Data
2023. 10. 17.
올리브영

스크립트 툴의 장점만 모았다! zx로 업무 자동화하기
zx는 자바스크립트 기반으로 쉘 명령어와 Node.js 생태계를 활용, 업무 자동화를 쉽게 구현하도록 돕는 라이브러리다.
zx자바스크립트쉘 스크립트자동화Node.js
2023. 10. 17.
데브시스터즈

데이터 분석 결과를 배지로, 데이터에 스토리 입히기🪄
카카오뱅크 배지 모으기 서비스 개발 과정을 통해 데이터 제품 정의, 개발 과정, 데이터 스토리텔링을 설명하고 데이터 기반 서비스의 가치를 강조합니다.
데이터 제품배지 모으기데이터 분석프로덕트 기획데이터 스토리텔링
2023. 10. 15.
카카오뱅크
내 주변 송금이 블루투스로 만들어졌다고?
카카오페이의 내 주변 송금 서비스는 BLE 기술을 활용, 새로운 송금 경험을 제공하며, 개발 과정에서의 기술적 어려움과 해결 과정을 공유합니다.
카카오페이내 주변 송금BLEBluetooth Low EnergyEUC-KR
2023. 10. 13.
카카오페이