오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...Amazon Web Services Korea
서비스 런칭을 위해 라이온하트와 카카오게임즈가 어떻게 최적 성능의 인스턴스를 선택하고, Windows 운영 체제를 최적화하며, 왜 Amazon Aurora를 기본 데이터베이스로 채택하였는지를 설명합니다. 또한, 출시부터 운영까지의 과정에서 MMORPG가 어떻게 AWS 상에서 설계되고, 게임 서버 성능을 극대할 수 있었는지에 대해 전달해드립니다.
31. public A actA() void actATest()
public B actB() void actBTest()
구현 테스트
32. public A actA() void actATest()
public B actB() void actBTest()
public C actC() void actCTest()
구현 테스트
33. public A actA() void actATest()
public B actB() void actBTest()
public C actC() void actCTest()
private D actD()
!
구현 테스트
34. public A actA() void actATest()
public B actB() void actBTest()
public C actC() void actCTest()
private D actD()
!
구현 테스트
여기서 공감했다면
구현 테스트를 하고 있을 가능성이 매우 큼
35. public A actA() void actATest()
public B actB() void actBTest()
public C actC() void actCTest()
void actC2Test()
126. • MockMvc With RestDocs
• REST Assured With RestDocs
• WebTestClient With RestDocs
테스트와 문서를 한방에!
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html#boot-features-testing-spring-boot-applications-testing-autoconfigured-rest-docs
159. 무엇을 테스트할 것인가?
1. 설계를 테스트
2. 테스트 가능한 것을 테스트
어떻게 테스트할 것인가?
1. 테스트 불가능한 영역을 Boundary Layer 까지 올려서 테스트 가능하도록 변경
2. Context, Framework 종속적이지 않도록 테스트
3. Test Double 사용
4. Embedded System 사용
5. EndPoint Test 도구 사용하여 내부 API Spec 테스트
6. Spring Cloud Contract 로 외부 API Spec 테스트
TIP & RULE
1. 테스트는 상호 독립적으로 작성
2. 테스트 안에서 의도와 목적이 모두 드러나도록 작성
3. 테스트 코드도 리펙토링
160. 그러나 가장 중요한 것은 안정감과 자신감
기준을 최대한 지키되 기준을 지키기 위해
안정감과 자신감을 포기할 필요는 없다.