클라와 서버가 좀 다들 거 같긴한데요. 저는 클라 프로그래머니까 클라 위주로 제 의견을 적어보겠습니다.
일단은, 한참 개발 중인 클라에서는 하기가 힘듭니다. 왜냐하면, 기획이 계속 바뀌기 때문입니다. :(
많은 기능을 구현한 클래스가 있다면, 그 클래스가 제대로 작동하지는 확인하는 유닛 테스트 코드의 작성량도 상당히 많아지는데요. 그래서 유닛 테스트를 꾸준히 하면서 기능 구현을 하려면 개발 기간이 상당히 오래 걸립니다. 기획이 바뀌면 다 갈아 엎어야 하는 경우도 수시로 생기고요. 그래서 기획이 계속 바뀌면서 빠른 개발속도를 요구하는 프로젝트에서는 도입하고 싶어도 못합니다.
라이브 서비스 중이고 유지 관리만 지속적으로 필요한 프로젝트라면, 휴먼 에러를 줄이기 위한 방법으로 각종 테스트를 자동화 하기도 하지만, 그건 일종의 QA 자동화라고 부를 수 있을 거 같고요. 소스 코드 레벨에서 함수나 클래스를 검증하는 유닛 테스트라고 부르기는 힘들 거 같습니다. 예를 들어, MS에서 오피스 개발 등을 할 때는 QA팀이 각종 테스트를 자동화해서 처리한다고 들었는데요. 그래서, QA 팀도 코딩 전문가라는 얘기를 들은 적이 있네요.
일반적으로 유닛 테스트는 요구사항이나 기획이 거의 바뀌지 않는 애플리케이션 개발에 적합하다는 생각입니다. 경험상, 게임에서는 입력값과 아웃풋이 비교적 명확하고 오류가 나지 말아야 하는 로우 레벨의 함수등을 검증할 때만 간혹 필요했습니다. 입력값의 범위가 넓은 수학적 계산이 필요한 함수. 암호화, 복호화, 패킹, 언패킹 등 데이터 처리나 파일 처리를 하는 함수등을 검증하려고 할 때는 사람이 검증할 수 있는 범위가 좁아서, 유닛 테스트를 이용한 자동화된 검증이 필요했습니다.
즉, 게임 클라 개발에서는 부분적으로 필요한 경우는 있었으나, 프로젝트 전체에 도입하기에는 무리가 있었고요. 그래서, MS나 구글등에서 제시하는 유닛 테스트 프레임워크를 도입하기에는 무리가 있었습니다.