프로젝트에 TDD를 적용함에 있어 질문이 있는데요..
이미 TDD없이 개발된 프로젝트에 유지보수를 하면서 TDD를 적용할려면
어떤식으로 해야할지 모르겠어서...질문을 올립니다.
단순한 기능추가는 TDD를 사용하면 되겠는데
이미 구현되어 있는 클래스에 대한 TDD는 어떤식으로 진행해야할가요?
이미 구현되어 있는 클래스에 대한 TDD는 할 수 없을까요?
이미 클래스가 구현되어 있기때문에 TDD를 적용하는것 자체가 모순인가하는 생각도 들고요.
하지만 대부분 테스트 코드를 붙이기 어렵기 때문에 TDD에 준하는 노력이 필요하다고 봅니다.
TDD를 하냐 안 하냐에 무관하게 어떤 식으로든 테스트 코드를 갖추는 건 불가능한 일이 아니며, 매우 중요하다고 생각합니다.
2010년 7월 8일 오전 9:35, 피터518 <wonw...@gmail.com>님의 말:
> --
> Google 그룹스 'Agile Beginners' Q&A' 그룹에 가입했으므로 본 메일이 전송되었습니다.
> 이 그룹에 게시하려면 ab...@googlegroups.com(으)로 이메일을 보내세요.
> 그룹에서 탈퇴하려면 abqna+un...@googlegroups.com로 이메일을 보내주세요.
> 더 많은 옵션을 보려면 http://groups.google.com/group/abqna?hl=ko에서 그룹을 방문하세요.
>
>
규진님 말씀대로 거시적인 테스트를 만드는것부터 시작한다는 의견에 동의하구요.
저는 5년정도된 코드베이스에 테스트케이스를 추가하는 작업을 하였는데,
인수테스트에 해당하는 거시적인 테스트를 만들어 가면서 작업을 했었습니다.
변경해야 하는 부분이 발생하면 그 부분이 포함된 전체 시나리오에 대해서 테스트케이스를 작성하여,
실패하는지 확인하고, 해당부분을 수정하여 테스트케이스가 성공하는지 확인하는 방식으로 진행했구요.
변경할 때마다 반드시 테스트케이스를 만들도록 진행하니 시간은 좀 걸리지만 지금은 그동안 투자한 시간이
아깝지 않을 정도로 효과를 보고 있습니다.
어려움도 많겠지만 꾸준히 진행하시면 좋은 효과가 있을겁니다.^^