[Agile Beginners] TDD를 TDD가 거의 안되어 있는 중간규모의 C++ 프로젝트에 적용하려면...

36 views
Skip to first unread message

joonhwan.lee

unread,
May 5, 2010, 9:04:19 PM5/5/10
to Agile Beginners' Q&A
예전에 좀 작은 크기의 프로젝트는 TDD를 조금 배워서 적용해서 꽤 괜찮은 효과를 봤습니다(1인 프로젝트였음)
그런데, 좀 규모가 되는 (SLOC기준 370,443 Lines, 순수 코드는 196204Line) 현재의 C++ 프로젝트
(MFC사용하는 장비SW)에 이를 적용하려니 속도감도 안나오고 일정이 척척 늘어집니다.
유명하신 분들의 얘기를 들어보면, 그렇기도 하고, 저 자신도, 일정이 바쁘면 TDD가 안되는 경험도 많이 했습니다.

다른 분들은 이런 것을 어떻게 해쳐 나가시나요.

-준환-

--
Google 그룹스 'Agile Beginners' Q&A' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에 게시하려면 ab...@googlegroups.com(으)로 이메일을 보내세요.
그룹에서 탈퇴하려면 abqna+un...@googlegroups.com로 이메일을 보내주세요.
더 많은 옵션을 보려면 http://groups.google.com/group/abqna?hl=ko에서 그룹을 방문하세요.

Albert Park

unread,
May 5, 2010, 11:07:13 PM5/5/10
to ab...@googlegroups.com
안녕하세요. 박규진이라고 합니다.

저도 1인+초기개발 프로젝트에서 밖에는 TDD를 적용시켜본 경험밖에 없는 초보입니다만
막연하게 프로젝트 중간에 기존소스를 TDD로 바꾸려면 어떻게 해야할까를 고민하고 있습니다.

1. 지금부터 짜거나 수정하는 소스에만 적용한다.
2. 독립된 소규모 Part를 찾아서 그곳에만 적용한다.
두가지 형태를 생각하고 있습니다.

저는 1번 방안이 가장 이상적인 적용방식이라고 생각합니다.
TDD의 효과를 보는 것은 결국 테스트가 오래 쌓인 이후 라는 단점이 있을지도 모르지만, 

TDD의 주 목적은
테스트가 코딩을 견인하는 역할을 하게 하는 것이라고 생각합니다.
사이드에 대한 빠르고 자동화된 피드백은 부산물이구요.

이미 있는 코드에서 안정화 된 부분과 안된 부분을 구분할 수 없으며 
이미 안정화 단계에 접어든 부분에 대해 테스트를 고심하는 것은, 오버스팩이라고 생각합니다.

바쁠땐 빼먹은 테스트도 마찬가지라고 생각합니다. 
억지로 테스트를 언젠가 만들어야 하는데, 하며 스트래스 받을 필요 없이
'그 부분에 다시 수정사항이 있을때 만든다.'고 넘어가는게 현명한 것 같습니다.

기존 코드에 테스트를 넣을 경우는 
꼭 리팩토링이 필요한 부분에만 리팩토링 할 때 테스트를 넣는 것이 좋을 것 같습니다.

감사합니다.


2010년 5월 6일 오전 10:04, joonhwan.lee <joonhw...@gmail.com>님의 말:



--
박규진 혹은 Albert Q. Park
qjinp.Queue'z.6153124.큐즈.상파.

항상 오늘을 사는 마음으로 앞도 뒤도 없이 차분히 걸어간다.
개별적 상황을 이해하고 서로 다름을 인정하기 위해 노력하며
새로운 발상과 개성을 존경한다.

wafe

unread,
May 10, 2010, 10:03:00 AM5/10/10
to Agile Beginners' Q&A
생각나는 방법은 요정도가 있네요.

1. 새로 만드는 코드는 TDD를 한다.
2. 기존 코드를 수정할 때에는 기능을 별도의 클래스나 메서드로 최대한 분리해서, TDD를 한다.
3. 테스트 기간에 버그가 발생하면 무조건 그 버그를 재현하는 테스트 케이스를 작성해서 통과시킨다.

Reply all
Reply to author
Forward
0 new messages