Library2008. 5. 6. 11:11

1, TDD 는 무엇인가 ?

TDD 약자는 생소하지만 XP(Extream Programming) 개발 방법론은 많이 들어봤을 것이다 . TDD 는 XP 중 하나의 방법론이다. 약자를 보면 대충 감이 오겠지만 굳이 풀어 쓰자면 "테스트 주도 개발" 정도로 해석 하겠다.
 여태 까지 개발 과정중 테스트란 무었이었는가 ? 테스트도 여러가지로 나눌수 있지만 단위테스트로 예를 들면, 먼저 원하는 기능을 만들고 그 기능이 올바로 동작하는지 테스트를 해보는 정도였다. 그리고 그 기능에 문제가 없으면 다른 기능을 개발하고 또 테스트 하고를 반복한다. 그러나 TDD 이와 같은 방법을 완전히 뒤엎어 버린다. TDD 는 기능에 대해 테스트를 먼저 구성 하고 개발한다. 그리고 개발된 테스트를 통과 하는 코드를 만드는 것으로 실제 구현이 이루어진다.

% 테스트 방법론에 대한 좋은 글들이 많이 있으니 궁금한게 있으면 찾아보도록 하자.

이것만 봐서는 먼말인지 알수가 없다. ㅡㅡ 이후 직접 샘플을 제작해 보겠다.

2, UnitTest++ 설치하여 사용하기

많은 종류의 C++ Test FrameWork 이 있다.
CPPUint, Boost.Test, CppUnitLite, Unit++, UnitTest++, WinUnitTest 중에서 UnitTest++ 을 설치해 본다.

% 본격적으로 사용하려고 한다면 여러 툴들의 장단점을 알아보고 선택해야 겠다.

먼저 다운을 받는다.  다운로드 페이지

다운받고 압축을 풀면 다음과 같다.

사용자 삽입 이미지
프로젝트를 열고 라이브러 형태로 컴파일 한다.

그리고 콘솔 Test 프로젝트를 만들어서 사용해 보자.

먼저 "추가 포함 디렉토리", "추가 라이브러리 디렉토리" 를 설정한다.
C 드라이버에 압축을 풀었다면 "C:\unittest-cpp-1.3\UnitTest++\src", "C:\unittest-cpp-1.3\UnitTest++\debug" 가 될것이다.

이제 테스트 코드를 작성해 본다.
사용자 삽입 이미지


















실행 결과
사용자 삽입 이미지

테스트 코드에 대한 결과가 출력된다.

%TestFrameWork 는 Visual Studio Add-in 을 설치하면 비주얼 하게 테스트 결과를 볼수 있다.


3, 사용기

수박 겉핧기 식으로 사용해 보았다.  참으로 허접하다. ㅡㅡ
이것은 정말 맛만 본것이고 TDD 를 적용해 보려면 일단 책을 하나 구입하여 정독 해봐야 할것 같다.

후에 책을 하나 구입하게 되면 공부해서 실제 프로젝트에 적용해 보고 이 글도 업데이트 해야겠다



'Library' 카테고리의 다른 글

TR1 유용한 클래스/함수 (1) ... tuple  (0) 2010.01.14
C++ TR1 설치  (0) 2010.01.08
Apache Log4cxx 0.10.0 윈도우에서 빌드 하기  (2) 2008.07.28
Boost 라이브러리 설치  (9) 2008.07.13
ACE Library 설치 & 설정 & 사용기  (0) 2008.04.30
Posted by 상현달