2008년 01월 09일
[책] 테스트 주도 개발

요즈음에 (사실 꽤 오래전부터) 관심을 끌고 있는 TDD(Test-Driven Development)에 관한 교과서 같은 책이다..
TDD의 방법을 예를 들어 설명하고 있다..
과연 테스트를 먼저 작성하는 것이 가능 할 것인지부터 고민스러워했었는데..
책을 모두 읽고 나서도 사실 잘 모르겠다..
눈으로 읽으면서 따라가니 어떻게 하는 것인지는 알겠는데,
이것을 나의 업무에 어떻게 적용할 것인지,
사용자 인터페이스가 많은 프로그램에는 어떻게 적용해야하는지,
과연 내가 생각하고 있는 것이 올바른 것인지 궁금하고, 생각해야 할 것들이 더 많아져 버렸다..
TDD의 사상(?-순서?, 방법?)은 퍽이나 단순하다..
1.테스트를 작성한다 : 해당 테스트를 통과하는 부분이 없으므로 당연히 실패..
2.테스트를 통과하는 가장 간단한 코드를 작성한다.
3.코드의 상수를 없애고 중복을 없애는 등 리팩토링을 한다..(반복)
4.테스트가 성공되는 깔끔하고 작동되는 코드가 남는다..
정말 간단하지 않은가?...ㅡㅡ;;;;
이 간단한 사상을 현업에 적용시키기 위해서
많은 노력과 고민과 연습이 필요하리라 생각이 되고,
TDD가 정말 유지보수의 노력을 줄여준다면
연습과 고민하는 시간이 헛되지는 않을 것이라 생각한다..
그래서, 오늘 CppUnit을 받아서 연습해 보고 있다...ㅡㅡ;;;
덧: 같이 들어있는 CD에 역자들이 책에 있는 예제를 이용해서 TDD하는 방법을 실제로 보여주고 있는데,
조금 어설프긴해도..꽤 도움이 된다..
'작동하는 깔끔한 코드(clean code that works)' - P. 21
'* 어떤 코드건 작성하기 전에 실패하는 자동화된 테스트를 작성하라.
* 중복을 제거하라' - P.37
'* 테스트를 확실히 돌아가게 만드는 세 가지 접근법 : 가짜로 구현하기, 삼각측량법, 명백하게 구현하기
* 설계를 주도하기 위한 방법으로 테스트 코드와 실제 코드 사이의 중복을 제거하기
* 테스트 사이의 간격을 조절할 수 있는 능력' - P.157
'놓친 디자인 요소를 찾기 위해 일부러 만드는 중복이 아니라면, 중복은 언제나 나쁘다' - P.192
이 글과 관련있는 글을 자동검색한 결과입니다 [?]
- Extreme Programming #3. by regina
- 코드 스케치 by 시즈하
- TDD by Gamewarez
- BDD로 사이트를 만드는 중입니다. by 정목
- Visual Studio 2005를 이용한 TDD 기법 적용 1-1 by 루키
# by | 2008/01/09 23:34 | 책 이야기 | 트랙백 | 덧글(0)





☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]