TDD
오늘 TDD를 하기 위해 하나의 유닛테스트를 만들면서 Mock 객체를 만드는 것이 일단락 되었습니다.
아직 많은 유닛테스트를 만들어보지 않았기 때문에 완전히 끝나지는 않았고 간간히 추가 작업을 해야
되지 않을까 생각합니다.

Mock을 만들면서 클래스가 인터페이스 상속을 해야되고, 기능은 멤버로 가지고 있어야 좋은 클래스라고
느끼게 되었습니다.

Mock으로 만들어져야 될 클래스가 구현 상속이 아닌 인터페이스 상속을 했고 기능은 멤버로 가지고 있으면
Mock을 한결 쉽게 만들 수 있지만 구현 상속을 하고 있는 경우는 이것 때문에 꽤 까다로워 지더군요.

누군가 TDD 하기에 좋은 구조는 잘 만들어진 구조라는 말을 했다고 하던데 일리가 있다고 생각합니다.
저작자 표시
신고
by 흥배 2009.05.06 23:02
TDD
오늘부터 회사에서 본격적으로 TDD를 시작했습니다.
예전부터 책이나 웹상의 글, TDD를 하고 있는 분들의 이야기를 자주 들었지만 제가 직접
TDD를 하는 것은 오늘이 처음입니다.

제가 다니는 곳이 TDD를 회사에서 장려하고 있고, 제가 기존 코드들을 자세하게 파악해야 되고,
기존 코드를 리팩토링을 해야 되고, 지금 프로젝트에 여러 이유로 아직 TDD를 만들지 않아서
처음부터 시작해서 하고 있습니다.

회사에 TDD 경험자가 많고, 다른 팀에서 만든 TDD를 코드를 볼수가 있기 때문에 처음 하는 분들에 비해서
훨씬 쉽게 하고 있다고 생각합니다.

오늘은 어떤 코드를 리팩토링을 빠르게 끝낸 후 이것을 테스트할 코드를 만드는데 대다수의 시간을 보내었습니다.
TDD를 하기 위해서 필수적으로 Mock 객체를 만들어야 되기 때문에 현재 이 Mock을 만드는데 고민을 하고 시간을
보내고 있습니다.
기존 코드를 거의 손대지 않고 정확하게 TDD를 하려고 하니 Mock 만드는 것이 쉽지 않더군요.
일단 Mock만 만들어지면 이후로는 일사천리로 테스트 코드를 만들어 나갈 것 같습니다.

ps : Mock을 만들 때 고민 되는 것이 Mock을 쉽게 만들려면 기존 코드를 손 봐야 되는데 가능하면 기존 코드는 손을 대지 않고 하려니 어떻게 하면 좋을지 고민이 되더군요.
저작자 표시
신고
by 흥배 2009.04.30 23:57
TDD

2007년 9월 6일에 네이버 블로그에 적은 글입니다.



TDD 라는 것을 배우기 위해 책을 본다면 한국에 출간된 책은 딱 1권 있습니다.



전 이 책을 구입한지 꽤 되었지만 TDD라는 아직은 많이 사용하는 것이 아니다 보니 실제 제 주위에서 사용하는

것을 직접 보지 않아서 책을 봐도 좀 아리송하였습니다.

그러다 보니 책의 구성이 나쁘지는 않지만 잘 보게 되지 않더군요.


아는 서버플머분 중 이전부터 TDD를 하고 계시는분이 이전에 이 책의 부록으로 주는 CD에 있는 동영상을 보면 이해가

빨리 올것이라는 조언을 예전에 듣었지만 그냥 흘러듣고 말았습니다.


그러다가 저번 주말에 시간이 애매하게 남아서 책 뒤에 있는 CD를 컴퓨터에 넣어 '김창준씨와 강규영씨'가 짝 프로그래밍으로

TDD를 직접하는 것을 동영상으로 보았습니다.

정말 이걸 딱 보자 바로 TDD에 대한 감이 들어오더군요.

예전에 조언대로 동영상을 보았다면 훨씬 더 일찍 TDD에 대한 것을 더 잘 알 수 있을텐데...


개인적으로 2판이 나온다면 책 앞머리에 큰 글자로 꼭 동영상을 먼저 보고 책을 봐라는 문구를 넣었으면 합니다.



TDD 동영상을 보면서 느낀게 책에서 소개하는 TDD와 같은 건 아니지만 원론적으로 비슷한 것을 이미 우리들이

하고 있는 것이 아닌가 라는 생각이 들더군요.

제 경우도 예전에 새로운 라이브러리등을 사용 할 때는 테스트 프로젝트라는 것을 만든 후 제가 사용할 상황과

비슷하게 만든 후 테스트를 해보고 잘되면 그것을 본 프로젝트에 적용하였습니다.

그리고 마작 게임을 만들 때는 마작패의 족보 판별을 위해서 판별 엔진을 만든 후 그것을 서버와 판별 테스트 툴

양쪽에서 사용하여 판별 테스트 툴로 다양하게 테스트 한 후 서버에 적용 시켰습니다.


요즘 이야기 하는 TDD와 형태는 좀 다르겠지만 본질적인 부분은 같은 것이라고 생각합니다.


앞으로 신규 프로젝트를 한다면 그때는 꼭 TDD를 사용할 생각입니다.



* 2008년 현재 신규 프로젝트 진행 중인데 TDD 툴은 설치 했지만 아직 적용은 못하고 있습니다. -_-;;

신고
by 흥배 2008.03.20 23:32
| 1 |

티스토리 툴바