스프링캠프 2024 [Track 1] 3.왜 나는 테스트를 작성하기 싫을까? (조성아)
SpringCamp 2024 · YouTube
AI 핵심 요약
네이버페이 주문서의 배송비·포인트·할인·환불 계산을 테스트 가능한 구조로 만들면서, 테스트가 많아질수록 비결정적 테스트와 도메인 픽스처 유지보수에 드는 비용도 커지는 문제를 겪었다. 테스트는 무조건 많이 작성하는 것이 아니라 기대한 동작을 확인하는 피드백 루프이며, 작성 비용과 유지보수 비용을 확장에 따른 이득과 함께 따져야 한다고 정리했다. 비용을 낮추기 위해 코틀린 테스트에서 픽스처 몽키의 기본값과 재사용 가능한 빌더를 활용하고, 검증은 핵심 결과에 집중하도록 제안했다. 테스트 수준별로 확인할 범위를 나누고 팀이 감당할 수 있는 방식으로 적용하는 것이 핵심 교훈이다.
- 테스트의 가치는 작성 비용뿐 아니라 장기적인 유지보수 비용까지 포함해 판단해야 한다.
- 테스트는 기대한 동작을 빠르게 확인하는 피드백 루프에 맞춰 설계한다.
- 단위 테스트는 핵심 로직의 동작을, 통합 테스트는 구성 요소 간 협력을, 인수 테스트는 실제 환경의 동작을 확인하는 데 집중한다.
- 테스트마다 불필요한 객체와 조건을 늘어놓기보다 픽스처 몽키의 기본값과 빌더 재사용으로 준비 코드를 줄인다.
- 테스트 문화가 없는 팀에서는 테스트가 발견한 문제나 개발에 준 이득을 실제 사례로 보여주며 설득한다.
소개
[중급] 모든 것에는 다 이유가 있습니다. 내가 테스트를 작성하기 싫은 건 테스트로 얻을 수 있는 이득에 비해 비용이 너무 크기 때문입니다. 그렇다면 비용은 왜 클까요? 네이버페이 주문서 배송비 계산, 적립포인트 계산, 할인 금액 계산, 환불 금액 계산을 테스트 가능한 구조로 개발하면서 적어내려간 개인적인 답지를 공유하고자 합니다. 이 강연은 테스트에 관심있으신 분들을 대상으로 합니다. 이론적이거나 추상적인 테스트 이야기 대신에, 간단한 예제와 실제 경험을 토대로 빠르게 작성하고 피드백을 받을 수 있는 테스트를 제안합니다. 픽스쳐 몽키라는 도구를 어떻게 유용하게 사용하는지도 볼 수 있습니다. 🎙️ 조성아 (네이버) 🗓️ 스프링캠프 2024 Track 1 - 3 (2024년 05월 25일) 🧭 SETEC 컨벤션센터 📂 발표자료 : http://springcamp.ksug.org/2024/static/docs/T1S3.pdf 📺 스프링캠프 2024 영상 모두 보기 : ...
비슷한 학습 자료
컨퍼런스 SpringCamp 2024
스프링캠프 2024 [Track 1] 1.켄트 벡의 Tidy First? (안영회)
컨퍼런스 SpringCamp 2024
[초급] 켄트 벡의 Tidy First? 를 소개합니다. 먼저 안전한(?) 리팩토링 형태를 띄 코드 정리법을 소개한 후에 코드 정리가 갖는 설계 관점의 의미를 설명합니다. 그리고, 개발자 각자가 이를 어떻게 활용할 수 있는지 상상한 내용을 공유합니다. 마지막으로 제가 이 책을 번역하게 된 배경을 다룹니다. 🎙️ 안영회 (베터코드) 🗓️ 스프링캠프 2024 Track 1 - 1 (2024년 05월 25일) 🧭 SETEC 컨벤션센터 📂 발표자료 : http://springcamp.ksug.org/2024/static/docs/T1S1.pdf 📺 스프링캠프 2024 영상 모두 보기 : https://youtube.com/playlist?list=PLdHtZnJh1KdY3gEi7EPa2AuWn5NKRVmDf&si=XE89UrhYKkIb1-oe [🔗 스프링캠프 & KSUG] 스프링캠프 2024 웹 https://springcamp.ksug.org/2024/ 스프링캠프 페...
개발 · 프로그래밍 기타
컨퍼런스 SpringCamp 2024
스프링캠프 2024 [Track 1] 4.실전! MSA 개발 가이드 (김용욱)
컨퍼런스 SpringCamp 2024
[초급] 마이크로서비스를 개발할 때 가장 어려워하는 부분은 서비스 별로 데이터베이스를 분리한다는 점입니다. SQL JOIN을 REST API로 대체하려니 성능이 느릴 것 같고 데이터베이스의 트랜잭션 보장이 없어지니 정합성이 깨지지 않을까 걱정합니다. 마이크로서비스와 함께 API Composition, Event Sourcing, CQRS, SAGA 같은 반짝이는 기술들이 함께 소개되었지만, 실전에선 이보다는 평범한 기술을 사용하는 경우가 많습니다. 관련해서 마이크로서비스를 개발할 때의 구현 이슈를 소개하고, 실전에서는 어떻게 풀어내는지 소개합니다. 🎙️ 김용욱 (삼성 SDS) 🗓️ 스프링캠프 2024 Track 1 - 4 (2024년 05월 25일) 🧭 SETEC 컨벤션센터 📂 발표자료 : http://springcamp.ksug.org/2024/static/docs/T1S4.pdf 📺 스프링캠프 2024 영상 모두 보기 : https://youtube.com/pla...
백엔드
컨퍼런스 SpringCamp 2024
스프링캠프 2024 [Track 1] 5.구해줘 홈즈! (이영규)
컨퍼런스 SpringCamp 2024
[초급] 안정성이 중요한 은행 환경에서 트래픽이 많은 홈 서비스를 새로 개발하며, 동료들과 함께 고민하고 결정했던 경험을 공유해보려 합니다. 과거의 결정들에 대한 회고와 함께 저희 팀의 여정을 돌아보겠습니다. 🎙️ 이영규 (카카오뱅크) 🗓️ 스프링캠프 2024 Track 1 - 5 (2024년 05월 25일) 🧭 SETEC 컨벤션센터 📂 발표자료 : http://springcamp.ksug.org/2024/static/docs/T1S5.pdf 📺 스프링캠프 2024 영상 모두 보기 : https://youtube.com/playlist?list=PLdHtZnJh1KdY3gEi7EPa2AuWn5NKRVmDf&si=XE89UrhYKkIb1-oe [🔗 스프링캠프 & KSUG] 스프링캠프 2024 웹 https://springcamp.ksug.org/2024/ 스프링캠프 페이스북 https://www.facebook.com/springcampkr/ 스프링캠프 유튜브 ...
백엔드
컨퍼런스 SpringCamp 2024
스프링캠프 2024 [Track 2] 1.동시성의 미래 - 코루틴과 버츄얼 스레드 (이상훈)
컨퍼런스 SpringCamp 2024
[중급] 현대에는 수천, 수만의 동시 요청을 처리하는 서버를 구현하기 위해 멀티 스레드, 논블로킹, 액터 모델, 리액티브 프로그래밍 등 다양한 기술 활용하고 있습니다. 그중에서 코틀린의 코루틴과 JDK 21에서 정식 릴리즈된 버추얼 스레드는 가장 우아하고 현대적인 동시성 기법으로 평가받고 있습니다. 이번 기회를 통해 두 기술의 차이점과 통합하는 방법에 대해 알아보고자 합니다. 🎙️ 이상훈 (엘박스) 🗓️ 스프링캠프 2024 Track 2 - 1 (2024년 05월 25일) 🧭 SETEC 컨벤션센터 📂 발표자료 : http://springcamp.ksug.org/2024/static/docs/T2S1.pdf 📺 스프링캠프 2024 영상 모두 보기 : https://youtube.com/playlist?list=PLdHtZnJh1KdY3gEi7EPa2AuWn5NKRVmDf&si=XE89UrhYKkIb1-oe [🔗 스프링캠프 & KSUG] 스프링캠프 2024 웹 ht...
백엔드 프로그래밍 언어
컨퍼런스 SpringCamp 2024
스프링캠프 2024 [Track 2] 4.데이터를 스케치 하기 (황영)
컨퍼런스 SpringCamp 2024
[초급] MSA가 대세가 되어진 세상입니다. 하지만 여전히 제한된 리소스에서 데이터를 처리해야하는 경우도 존재합니다. Data Sketch를 통하여 작은 리소스를 이용해서도 높은 성능을 낼수 있습니다. bloom filter, count min sketch, hyperloglog 같은 대표적인 Data Sketch에 대해 알아보고 상황에 따른 활용에 대해 이야기 해보자 합니다. 🎙️ 황영 (IMQA) 🗓️ 스프링캠프 2024 Track 2 - 4 (2024년 05월 25일) 🧭 SETEC 컨벤션센터 📂 발표자료 : http://springcamp.ksug.org/2024/static/docs/T2S4.pdf 📺 스프링캠프 2024 영상 모두 보기 : https://youtube.com/playlist?list=PLdHtZnJh1KdY3gEi7EPa2AuWn5NKRVmDf&si=XE89UrhYKkIb1-oe [🔗 스프링캠프 & KSUG] 스프링캠프 2024 웹 h...
알고리즘 · 자료구조 데이터베이스
컨퍼런스 SpringCamp 2024
스프링캠프 2024 [Track 2] 5.AutoParams를 사용한 Spring Boot 응용프로그램 테스트 (이규원)
컨퍼런스 SpringCamp 2024
[중급] AutoParams는 테스트에 필요한 데이터를 손쉽게 만들어주는 JUnit 5 확장 도구입니다. Spring Boot 응용프로그램을 테스트할 때 역시 AutoParams의 확장성은 유용합니다. AutoParams의 주요 기능을 설명하고 Spring Boot를 통해 구동되는 시스템의 여러 구성요소를 테스트 하기 위해 사용할 수 있는 AutoParams 기반 테스트 전략들을 소개합니다. 🎙️ 이규원 (와이어드컴퍼니) 🗓️ 스프링캠프 2024 Track 2 - 5 (2024년 05월 25일) 🧭 SETEC 컨벤션센터 📂 발표자료 : http://springcamp.ksug.org/2024/static/docs/T2S5.pdf 📺 스프링캠프 2024 영상 모두 보기 : https://youtube.com/playlist?list=PLdHtZnJh1KdY3gEi7EPa2AuWn5NKRVmDf&si=XE89UrhYKkIb1-oe [🔗 스프링캠프 & KSUG] 스프링...
소프트웨어 테스트