Intro


[링크][교보문고] 임베디드 C를 위한 TDD


아마 TDD에 처음 관심을 갖었던 것이 2005년이었던 것으로 기억합니다. 당시 켄트 백(Kent Beck)의 테스트 주도 개발(Test-Driven Development by Example) 번역본의 초판을 구입했었습니다. 하지만, 그 때부터 그 뒤로도 TDD는 저에게 좌절의 연속이었습니다. 왜냐하면 대부분의 책이나 자료가 자바를 중심으로 구성되어 있었기 때문입니다. 대학생 시절 한 학기 동안 자바 수업을 들어본 경험은 있지만, 자바는 제게 흥미로운 언어가 아니었고 지금도 저는 자바를 사용하지 않습니다. 

    그 뒤로 2009년부터 취미삼아 Google Chromium 프로젝트를 접하면서 gtest에 대해 알게 되었습니다. 그러나, 삼성전자에서 업무에 뒤쫒기다가 벤처에 도전한 뒤로는 Python, Javascript, Objective-C 등을 다루게 되면서 C++ TDD는 관심에서 멀어지게 되었습니다.

    제가 LG전자에 입사할 즈음, 사내에서 특별히 선발된 사람들을 대상으로 위 책의 저자인 제임스 W. 그레닝(James W. Grenning)을 초청하여 TDD 실습을 하였다고 합니다. 관련 포스팅 글들을 읽으면서 참으로 부럽지 않을 수 없었습니다. 그리고 올해 팀 내에서 이 책으로 TDD 스터디를 함께 진행하기로 하였습니다. 혼자 하려던 공부를 많은 사람들과 함께 할 수 있게 되어 무척 기쁘더군요.

    현재 한 번의 스터디가 진행되었고, 회사 컴퓨터에 개인적으로 따라하기를 위한 환경 구축 중입니다. 다만, 책에서 사용하는 Unity의 버전이 현재와 많이 차이나는지 사용법에 현격한 차이를 보이는군요.

    팀스터디에서는 Unity를 사용하지 않고 CppUTest만을 사용합니다. 개인적으로 Unity를 회사에서 시도해 보았으나 책에서 소개하는 버전과 사용법이 매우 크게 변경 되었는데, 결과적으로 CppUTest를 사용하는데 비해 메리트가 별로 없었습니다. 가능하면 다양한 툴들로 같은 작업을 연습해 보려 했습니다만, Unity의 경우 사용하는데 별 의미가 없다는 판단입니다. 대신 사정이 허락하는대로 gtest를 함께 사용해 보려 합니다.