'테스트 자동화'에 해당되는 글 1건

  1. [2008/05/01] 유닛 테스트 관련 도전 과제, 전략 (2)

유닛 테스트 관련 도전 과제, 전략

[개발]
  • 비동기, 멀티 쓰레드 문제 - 동기, 싱글 쓰레드 구조로 바꿀 수 있으면 테스트 코드에는 그렇게 바꿔서 테스트 코드를 만들고 그럴 수 없으면 만들지 않는다. 더미 클라이언트 테스트 같은 데에서 버그가 발견되길 바라는 수 밖에...
  • 머신간 상호 작용 - 네트웍쪽 Mock 객체를 제대로 만들어놓지 않아 머신간에 패킷 여러 개를 주고 받는 상황 자체를 테스트하기가 어렵다. 예를 들면 PC간 아이템 교환 전체 로직 자체를 테스트하고 싶은데 할 수가 없다. 이건 최우선 과제.
  • DB 유닛 테스트 - 데이터 베이스 자체에 대해서도 유닛 테스트를 돌리고 싶은데, DBUnit을 배워야 한다. 아니면 비슷한 걸 새로 만들던가... 문제는 DBUnit 이 JUnit 확장이라는 거. 자바 이제 가물가물 한데...=_=
  • 3D 엔진 - 이건 답 없다. 디바이스 관련된 부분은 테스트하지 않고, 클라이언트의 다른 부분이라도 테스트할 수 있도록 디바이스 관련된 부분은 최대한 모아놔서 쉽게 Mock 객체를 만들 수 있도록 한다.
  • 느린 빌드 시간 - 프로젝트가 커져 링크가 너무 오래 걸린다. 인크레디 빌드 구입하긴 또 아깝고..-_-;; 그래도 어떻게 해결하긴 해야 될 문제..
  • 테스트 커버리지 분석 - 어디 C++ 용으로 이쁜 코드 커버리지 분석 도구 없나..공짜로......ㅠ.ㅠ

유닛 테스트 이외의 테스트 자동화 - 전략은 최대한 귀찮지 않게..~ 손 두번 안가게~
  • 더미 클라이언트 - 정한 시나리오에 맞춰 또는 무작위로 패킷을 보내주는 더미 클라이언트로 스트레스 테스트 하기. 시나리오는 xml이나 스크립트로 쉽게 편집할 수 있게 한다. 더미 클라이언트 테스트는 가끔씩 직접 돌릴게 아니라 매일 일정 시간 돌아가도록 자동화한다. 결과 보고까지 해줘야 함.
  • 픽셀 테스트 - 엔진 피처가 담긴 특정 씬들을 매일 스크린샷으로 저장하여 원본과 픽셀 비교를 해서 일정 비율 이상 다르면 에러 리포트.
  • 리플레이 테스트 - 게임한 것을 리플레이로 저장하여 3DMark처럼 클라이언트 프로파일링, 분석 도구로 활용한다. 리플레이는 만들어 놨는데 xml로 뽑아주고 이쁘게 보여주도록 만드는게 귀찮구만..-_-;; 이것도 자동화해서 평균 특정 프레임이상 안나온다던지 하면 경고 리포트.


2008/05/01 00:58 2008/05/01 00:58

이 글의 트랙백 주소 :: http://mypage.sarang.net/tt/trackback/241

  1. Subject: 유닛 테스트 관련 도전 과제, 전략

    Tracked from 박피디의 게임 아키텍트 블로그 [2008/05/01 11:35]
     삭제

    birdkr 님의 글에서 (내 맘대로) 이어서 쓰기 비동기, 멀티 쓰레드 문제 - 테스트 하기 어려움. 이거 고민하느니, 다른 테스트를 만들어두자. :(DB 유닛 테스트 - DBUnit 이라... 한 번 써 봐야 겠네요...

::: 사람과 사람의 교감! 人터넷의 첫 시작! 댓글을 달아주세요! :::

  1. hey  [2008/05/02 02:33]  [댓글주소]  [수정/삭제]  [댓글쓰기]

    인크레디빌드 트라이얼이라도 요청해서 돌려보세요. 저희는 프로젝트 구조가 좀 복잡해서 인크레디빌드를 돌려도 큰 성능 향상이 없더군요. 그래서 포기했지요.
    하지만 인크레디빌드 쪽이랑 상의해보면서, 도와주려고 노력하는 게 고마ㅜ었어요.

[로그인][오픈아이디란?]