2008년 05월 01일
유닛 테스트 관련 도전 과제, 전략
birdkr 님의 글에서 (내 맘대로) 이어서 쓰기
비동기, 멀티 쓰레드 문제 - 테스트 하기 어려움. 이거 고민하느니, 다른 테스트를 만들어두자. :(
DB 유닛 테스트 - DBUnit 이라... 한 번 써 봐야 겠네요.
느린 빌드 시간 - 인크레디 빌드.. 비싸긴 해도 충분한 효과가 있죠. 아니면 직접 만들어 보는 것도?
테스트 커버리지 분석 - 저도 이런 거 하나 있으면 좋겠네요.
더미 클라이언트 - 생각보다 만들기 어렵다는...
그 외...
스크립트용 UnitTest 툴 - UnUnit 같은 프레임워크를 다른 스크립트 언어에서도 사용할 수 있게 만들어 보자.
성능 분석 - UnitTest 중에 자주 불리는 함수의 호출 횟수와 시간등을 기록한 후, 최적화 후에 실제로 성능이 좋아졌는지를 검사해 보자.
UnitTest 도입 전과 후의 개발 효율 비교 - UnitTest 도입 후 개발팀의 능률이 얼마나 향상되었는지를 측정해서, 상급자를 설득해 팀 전체, 혹은 회사 전체에 보급할 수 있을 정도의 설득력 있는 자료로 만들어 보기. (좋은 아이디어 있으신 분 있나요?)
# by | 2008/05/01 11:35 | 개발 이야기 | 트랙백 | 덧글(4)




☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
재미있는 자료입니다. TDD를 사용했을때 함수의 CC(Cyclomatic Complexity)가 사용하지 않은것보다 낮은 결과를 보여줍니다.
C++에도 CC 측정이랑 테스트 커버리지 측정같은 애드인이 있으면 좋을텐데 말이죠.
Visual Studio 2008 에는 CC 측정기능이 기본으로 들어있다는 소문이 있습니다. 확인해 보고 싶네요.
단, CC 가 낮아졌다는 것만으로는 경영진을 - 심지어는 같은 개발자도 - 감동시킬만한 자료는 나오지 않을 거 같다는 게 아쉽네요.
테스트하기 쉬운코드(낮은 복잡도)가 유지보수면에서 높은 평가를 받을수 있다고 생각하고, 유지보수를 계속 해야하는 온라인 게임의 특성상 CC가 좋은 측정 기준중 하나가 될수 있습니다. TDD자체가 테스트를 작성해야하므로, 개발비용을 증가시키지만 CC를 줄여줌으로 유지보수의 비용을 감소 시키고, 좀더 품질 높은 코드를 생산한다는 점으로 보았을때 단점보다 장점이 더 많다는 점을 CC변화에서 볼수 있지 않을까 합니다. 유지보수 비용감소, 버그 발생률 감소 두가지만으로도 경영진이나 개발자에게 설득력있는 자료라 생각합니다.
유지보수는 코드 작성자 외에 후임이 하는 경우도 많기 떄문에, 복잡도 높은 코드보다 낮은 코드가 좀더 긍정적으로 작용할수 있을것입니다.
http://hissa.nist.gov/HHRFdata/Artifacts/ITLdoc/235/chaptera.htm
이 링크도 읽어볼만 합니다.
MS 도 할려고 맘만 먹으면 할거 같은데, 돈이 안 된다고 생각해서 안 하는 듯 합니다.
http://parkpd.egloos.com/1651445