rabbit97 님의 블로그
3일 일지 본문
# 오늘의 개발 진행 상황
일단 전체적인 구현이 끝나고 남은 세세한 작업들만 남아있어 지금 팀원 중 한분이 담당하고 계시고
나머지 팀원들은 추가기능으로 어떤걸 구현해야할지 고민 중
한명은 게임 중 음성채팅 기능
한명은 데이터베이스 레디스 적용 여부 설계
남은 한명은 예비군 이슈로 금요일 부터 출석 가능
나는 남은 중간발표까지 개발을 완료할 자신이 없어 미뤄두었던 테스트 코드를 작성하기 시작
추가된 내용이 엄청 많아서 기록은 안하고 브렌치에 테스트로 따로 파놓고 작업을 진행했다.
https://github.com/10-simhi-haja/bang_game/commit/4e2d252ae69a46e7afb6f2fdbe8b49a7ea1726c0
(김우섭) add: "테스트코드 임시 작성" · 10-simhi-haja/bang_game@4e2d252
테스트코드 임시 작성 테스트 안됨 유닛 테스트는 노드 내장 모듈 사용예정
github.com
일단 찾아본 내용은 어떤 테스트를 진행 할 것인지?
- 유닛 테스트, 부하 테스트
유닛 테스트는 어떻게 진행을 할 것인가?
- 찾아본 내용으로는 tcp방식이여도 jest를 사용할 수 있음을 확인, 외에 모카나 차이 등을 사용 할 수 있다고 했지만
jest가 모든 기능이 다 들어있고 따로 초기 설정을 안해도 된다는 얘기가 있어서 jest로 진행
해보고 시간이 남으면 모카나 차이로도 한번 작성을 해 볼 예정
부하 테스트는 어떻게 진행 하는지?
- Artillery, JMeter 등 외에도 5가지 넘게 테스트 할 수 있는 방법은 많았으나 Artillery로 진행
이였으나 jest로 작성 중 시간이 생각보다 오래 걸려서 피드백을 받았는데 문법 찾아보면서 외부 패키지를 쓰지 말고 노드 내장형으로도 충분히 테스트가 가능 하다는 조언
내장형으로도 충분히 가능하다하여 찾아보고 이 방법으로 다시 한번 더 진행 할 예정
# 지금 발생한 문제
오늘 테스트를 위해 서버를 열고 팀원들이 각 클라이언트 하나로 접속해서 테스트를 해봤으나
패킷이 바로바로 안오는 현상이 있었다.
예를들면 공격을 했는데 10초 뒤에 반응을 한다던지..
추측으로는 지금 받는 패킷이 너무 많아서 서버에서 공격을 처리하는 패킷을 클라이언트가 다른 패킷에 묻혀서 늦게 도착하는 것 같다고 판단
실제로 패킷중 70퍼센트는 이동 업데이트 알림, 20퍼센트는 유저 업데이트 패킷
이동을 추측 항법을 적용 안해서 생긴 문제로 판단
일단 위치 이동은 내가 맡은 부분이였기에 지금 빠르게 수정 중