해당 내용정리는 Nexon에서 진행하는 Nexon Developers Conference에 나온 영상들을 참고하였습니다
<순차>
서버 테스트 뿌리내리기
서버 테스트 작성하기
더 짜기 쉽고 더 튼튼하게
병렬 테스트로 더 빠르게
마무리
<서버 테스트 뿌리내리기>
- 초반작업 3가지(구성원드르이 동의, 테스트 환경 구축, 주요 로직 테스트)
- 테스트 성공 상태 유지
실패를 방지할수록 성공상태로 돌리는 비용이 증가
- 열심히 테스트 하기
테스트가 없어도 코드 리뷰 진행
단, 테스트를 깨면 반드시 고쳐야함
테스트 호용성을 느낀 후, 코드 리뷰를 통해 테스트를 짜는 방법이 전파
- 테스트 기반 다지기
테스트는 짜기 쉽고, 코드를 최적화해 빠르게 하고, 가끔 깨지는 테스트의 원인을 분석해 구조적 개선을 진행해야함
<서버 테스트 작성하기>
유닛테스트보다 느린데, 서버 콘텐츠 자체를 테스트함
통합 테스트에서는 클라이언트를 흉내내, 게임 콘텐츠를 테스트하는 스토리를 만듬
<더 짜기 쉽고 더 튼튼하게>
@tag를 이용해 테스트 코드 작성에 집중할 수 있고, 가독성이 좋아짐
게임 테이블 데이터를 수정해 사용하면, 해당 테스트가 끝날 때 원래 속성으로 복구하고, 전체 속성 정의가 필요하지 않고, 기획자가 테스트를 깨뜨리지 않고, 데이터 조작이 쉬워지니 다양한 속성을 테스트할 수 있음
순서에 상관없이 확인할 패킷을 리스트로 구현
테스트 sleep 시간을 짧게 주면 깨지기 쉽고, 길게 주면 테스트가 느려짐
이를 해결하기 위해, 간격을 두고 여러번 검사를 진행함
주어진 시간내에 실패하면 여러번 주어져 시도하고, 주어진 시간 전에 성공하면 다시 시도하지 않고 성공처리를 함
<병렬 테스트로 더 빠르게>
게임 테이블 데이터를 수정하게 되면 똑같은 데이터를 사용하는 테스트에 영향을 주게 됨으로써, 추적하기 힘들고 재현하기 힘든 테스트 실패가 발생
수정하지말고 새로 type id를 발급해서 게임 데이터를 추가하는 방식으로 변경함으로써, 다른 테스트에 영향을 주지 않음
시간과 기간과 관련된 게임 상수를 변경하는 테스트는 다른 테스트에 영향을 줄 수 있어서 병렬테스트가 아닌 순차테스트로 실행
'강좌 > NDC' 카테고리의 다른 글
Node.js를 내장형으로 만들어서 게임 플랫폼 SDK 만들기 (0) | 2022.06.10 |
---|---|
쿠키런: 킹덤, 총 56시간의 긴급 점검 회고 - 그때 그 명검은 왜 뽑아야 했는가 (0) | 2022.06.10 |
테스트자동화 도구 개발 생존전략 (0) | 2022.06.09 |
프로젝트 MOD CI2021 (0) | 2022.06.08 |
블록체인과 가상세계의 진화 (0) | 2022.06.08 |
댓글