ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Java Web Game 개발 가이드(13)
    Java Web Game 개발 가이드 2010. 2. 3. 20:42

     

    테스트

    단위 테스트

      테스트는 개발에 있어서 프로그램의 완성이라 불러도 좋을 만큼 매우 중요한 단계 입니다. 만약 이 테스트 단계를 쉬이 보아 넘기는 사람이 있다면 그 사람은 아마도 매우 성격이 급하고 눈앞의 이익을 좋아하며 일을 잘 못하는 사람일 가능성이 높습니다. 그만큼 이 테스트 단계를 철저히 거쳐도 실제로 오픈 한 후에는 고객들의 수많은 버그 제보와 불만들이 쏟아져 나올 것입니다.

      모든 테스트의 진행에는 테스트 시나리오 라는 문서가 사용 됩니다. 이 문서에서는 최대한 모든 상황에 대한 입력과 출력 값, 개발한 사람과 처리자, 처리완료 표식이 따라와야 합니다. 철저한 케스스별 시나리오가 통과 되어야 여러분의 마음이 한결 편해 질 것입니다. 다음은 단위 테스트 시나리오 문서중의 하나 입니다.

    단위 테스트 케이스관리

    테스트케이스ID

    기록일

    담당자

    테스트케이스 설명

    입력
    DATA

    결과

    로그인 화면.jsp

    2010-01-31

    개발자

    로그인 테스트

    id, pw

    정상 로그인

    영지 관리.jsp

    2010-01-31

    개발자

    영지 정보 로드

    없음

    정상 출력

    아래는 결함 관리 입니다.

    단위 테스트 결함관리

    테스트Case ID

    기록일

    담당자

    결함
    개수

    결함 내용

    결함 유형

    조치내용

    조치자

    조치일자

       

       

       

    4 

       

       

       

       

       

    로그인메인

    2010/02/03 

    개발자

    0 

    없음

       

       

       

       

    영지관리

    2010/02/03 

    개발자

    1 

    금액이 틀림

    설계

    계산식 수정

    개발자

    2010/02/03 

    작물관리

    2010/02/03 

    개발자

    2 

    이름이 없음

    분석

    데이터입력

    개발자

    2010/02/03 

    개인정보수정

    2010/02/03 

    개발자

    1 

    정보수정에러

    개발

    유효성 검사추가

    개발자

    2010/02/03 

    위의 예는 매우 단순한 케이스를 입력 하였지만 실제로는 매우 자세한 Case 를 부여하여 하나하나 테스트를 수행해 나가게 됩니다.

      이 단위 테스트의 목적은 각 업무별 화면마다 모든 에러의 발생 상황을 가정하고 문제 없이 로직이 구현 되었는가를 종합적으로 테스트하는 것을 목적으로 합니다.

    통합 테스트

      단위 테스트가 끝났다면 통합 테스트를 수행 하여야 합니다. 이 통합 테스트의 목적은 모든 플레이어의 일련의 작업, 예를 들어 로그인, 서버 시작, 영지 관리, 작물 관리, 건물 건설, 타 플레이어 침공, 보상 획득 등이 문제 없이 흐르는 가를 체크 해 봅니다.

      통합 테스트의 문서화 역시 위의 단위 테스트와 비슷하지만 좀더 많은 항목을 다루므로 각자의 개성에 맞는 문서를 이용하여도 좋을 듯 합니다.

       

    벨런스 테스트

      다른 웹 프로젝트의 개발에서는 보기 힘든 것 중 하나가 벨런싱 테스트 입니다. 자신의 웹 게임에 따라 다양한 항목의 벨런스 테스트를 진행 할 수 있겠지만 개인이 하기 쉽고 가장 간편한 테스트로는 엑셀을 이용해 볼 수 있습니다. 액셀의 다양한 수식을 이용하면 충분한 시나리오를 작성 할 수 있습니다.

    엑셀의 수식을 입력하며 테스팅 문서를 직접적으로 표현하기는 쉽지 않지만 다음을 보면 대략적인 감을 잡을 수 있을 것입니다.

    • 벨런스 테스트 항목

      게임 내 이자계산

      유닛 벨런스 테스트

    <게임 내 시간에 따른 플레이어 사용분석을 통한 금액 벨런싱>

    <직업별 능력치 상각을 고려한 능력치 차>

      위와 같은 수식을 이용해 각 개체 별 벨런스를 세밀하게 조정해 나갑니다. 게임의 벨런스를 통해 유닛간의 능력치를 조절하고 속도를 조절하는 등은 전적으로 기획, 개발자의 노력과 경험으로 맞추어 나가야 하기 때문에 경험이 없다면 수 많은 시행 착오를 할 수 밖에 없는 부분이기도 합니다.

       

    버그는 어디에나 숨어있다

      여러분이 개발하는 웹 게임이 이곳까지 수행 되었다면 거의 완성단계에 와 있을 것입니다. 이제 실질적인 오픈을 하기에 앞서 여러 가지 테스트를 진행 중이겠지만 버그는 언제 어디에나 있다고 생각하고 아주 사소한 현상 하나도 가벼이 보아 넘기지 마시기 바랍니다. 아주 사소하게 금액이 2원 이라도 차이가 난다면 그것은 곳 금액 계산식에 오류가 있다는 의미이며, 어떤 데이터 항목이 누락이 되거나 글자가 깨져 나온다는 것은 사소해 보이지만 개발된 전체 문서의 인코딩에 관련된 어마어마한 문제로 까지 번질 수 있습니다. 어떤 유닛의 능력치가 조금 이상하다 싶은 것은 아마 기초적인 인프라 데이터의 불특정 다수의 데이터가 누락 되었을 가능성이 있습니다. 대게 사소해 보이는 화면상의 버그는 알고보면 굉장히 심각한 버그의 단서인 경우가 많습니다. 절대 방심하지 말고 모든 값 하나하나에 대한 시나리오를 작성하고 시나리오가 기대하는 값이 화면에 표현 되는지 두 번 세 번 확인하시기 바랍니다.

Designed by Tistory.