Altruistic Programmer's Blog (KR)

이타주의 프로그래머의 블로그

Archive for November, 2009

어느 정도의 테스트 커버리지가 필요할까

with 2 comments

현재 진행중인 프로젝트의 품질을 측정하기 위해서 테스트 커버리지를 측정해봤다. C++ 프로젝트의 평균 테스트 커버리지는 얼마일까? 라는 궁금증으로 웹서핑을 하다가 2007년에 유행했던 The Way of Testivus라는 시리즈 중에 테스트 커버리지를 다룬 글을 찾았다. 한 마디로 재밌게 교훈을 전해주는 글이다.    

Testivus On Test Coverage

어느 이른 아침, 한 프로그래머가 위대한 스승에게 물었다.
  “저는 유닛테스트를 작성할 준비가 되었습니다. 어느 정도의 커버리지를 목표로 해야 합니까?”

위대한 스승이 답했다.
  “커버리지는 신경쓰지 말거라, 그냥 좋은 테스트를 작성하면 된다”

프로그래머는 미소를 지으며 절을 하고 나갔다.

그 뒤에, 두 번째 프로그래머가 같은 질문을 했다.

위대한 스승은 끓는 물이 담긴 냄비를 가리키며 말했다.
  “얼마나 많은 쌀을 냄비에 넣어야 하느냐?”

프로그래머는 얼떨떨한 표정으로 대답했다.
  “그걸 어떻게 말합니까? 몇 명을 먹일 건지, 그 사람들이  얼마나 배고픈지, 다른 음식을 줄 건지, 쌀을 얼마나 가지고 있느지, 등등에 따라 다릅니다.”

  “바로 그거다”, 위대한 스승이 말했다.

두 번째 프로그래머가 미소를 지으며 절을 하고 나갔다.

해가 질 무렵, 세번째 프로그래머가 와서 코드 커버리지에 대해 똑같은 질문을 했다.

  “80 퍼센트 그 이하는 안된다!” 탁자를 주먹으로 내리치면서, 단호한 목소리로 스승이 대답했다.

세번째 프로그래머가 미소를 지으며 절을 하고 나갔다.

마지막 답변이 끝나고, 어린 제자가 위대한 스승 곁으로 다가왔다.
  “스승님, 오늘 코드 커버리지에 대한 똑같은 질문에 세가지 다른 대답을 하시는 걸 우연히 들었습니다. 왜인지요?”

위대한 스승이 의자에서 일어났다.
  “차 한 잔 끓여 오거라. 그리고 나서 얘기하자꾸나”

김이 모락모락나는 뜨거운 녹차로 컵을 채우자, 위대한 스승이 답하기 시작했다.
  “첫번째 프로그래머는 이제 막 테스팅을 시작한 초보다. 지금 당장은 코드는 많지만 테스트가 없다. 가야할 길이 멀다. 이 시점에서 코드 커버리지에 집중하는 것은 의욕도 저하될 뿐더러 매우 불필요한 일이다. 그는 테스트를 작성하고 실행하는 것에 먼저 익숙해지는 편이 낫다. 커버리지는 나중에 걱정해도 된다.”

  “두 번째 프로그래머는 반면에,  프로그래밍과 테스팅에 꽤 경험이 있다. 내가 냄비에 얼마나 많은 쌀을 넣어야 하는지 물어봤을 때, 나는  필요한 테스팅의 양은 여러가지 요소에의해 달라진다는 점을 그녀가 깨닫도록 도왔고, 그녀는 그런 요소들을 나보다 잘 알고 있다. 그것은 결국 그녀의 코드이므로. 단 하나의 간단한 답은 없다. 그리고 그녀는 그 진실을 다루고 활용할 수 있을 만큼 충분히 영리하다.”

  “알겠습니다” 어린 제자가 말했다, “그런데 하나의 간단한 답이 없다면, 왜 세번째 프로그래머에게 '80퍼센트 그 이하는 안된다'라고 하셨습니까?”

위대한 스승이 크고 격렬하게 웃어서 배가 (녹차 보다는 술을 더 마신다는 증거) 위아래로 출렁거렸다.
  “세번째 프로그래머는 단지 간단한 답을 원했다. 단순한 답이 없을지라도… 그리고 어차피 그 답을 따르지 않는다.”

어린 제자와 반백의 위대한 스승은 명상에 잠긴채 침묵속에서 차를 다 마셨다.

Written by muscly

November 23rd, 2009 at 10:49 am

내 생애 마지막 영어 공부법

without comments

http://www.yes24.com/24/goods/3519023

블로그에서 좋은 글을 많이 써주셔서 감사히 보고 있다가, 책을 내셨길래 얼른 산 책.  헷갈리는 문법도 알기 쉽게 설명해주시곤 하셔서, 블로그의 내용들이 잘 정리되어 있지 않을까 예상했는데, 의외로 영어는 하나도 안가르쳐 주시고 영어 공부법만 잔뜩 가르쳐주신다.

심하게 요약하자면  “수준에 맞는 책을 소리내어 읽기”와 “영어일기 쓰기”를 꾸준하게 하자라는 내용. 오해가 있을 수 있으니 정확한 내용은 책사서 봐야 한다.

당분간은 이 공부법으로 일본어를 공부해보려고 하는데, 일본어를 유창하게 하는 상상을 해보니 괜히 벌써부터 기분이 좋다. ^^;;

Written by muscly

November 18th, 2009 at 4:54 pm

행복하게 일하는 법

without comments

http://www.yes24.com/24/goods/3198120

수선재라는 명상단체에서 만든 책을 읽고 있다.  달라이라마나 틱낫한의 책에는 겸손함과 논리적인 전개가 묻어있지만, 이 책은 단정적으로 결론짓는 말이 많아 거부감이 들 수 있다. 그런 이유로 추천할만한 서적은 아니다.

그래도 고개가 끄덕여지는 얘기, 반성하게 만드는 얘기가 많아서 재밌게 읽고 있다.  반성을 좀 해보면

  • 이것저것 다 제대로 하려고 들고, 바로 잡으려고 들어서 에너지가 분산된다. 피곤은 쌓이고 발전은 더디다.
  • 내 인생도 어디로 가고있는지 모르는 주제에 다른 사람에게 충고나 조언하는 것은 제발 좀 참아야겠다.
  • 세세한 것 하나하나 득실을 따지고 시시비비를 가리는 것을 ‘그릇이 작다’라고도 표현할 수 있다 -_-;;
  • 아무리 큰 문제라도 위압감을 느끼기보다 손바닥위에 올려놓고 요리조리 살펴볼 수 있는 큰 그릇을 가져야겠다.

Written by muscly

November 13th, 2009 at 4:00 pm

Windows 7의 IME 문제 해결

without comments

증상

일본어 버전의 Windows 7에서 일본어와 한국어 IME를 사용중. 어느 날 갑자기 IME창이 나오지 않는다.

해결방법

  • 윈도우 + R을 눌러서 실행창을 띄운다
  • ctfmon을 입력한다
  • IME창이 나타남. 안되면 나도 모름 -_-;;

몇 주간 찾아헤매던 IME

느낀점

  • 원인은 MS Office 인 것 같음. 자기네 제품끼리 충돌난 듯
  • Windows 7과 IME라는 키워드로 며칠을 구글링했지만 답을 찾을 수 없었음
  • 귀찮아서 XP쓰고 있는데, 옆사람(윤상)이 다른 팀원(야마구치상)에게 물어봐서 해결
  • 나이 먹으니 누가 해결해주기를 기다리는 모드로 바뀌는 것 같음

Written by muscly

November 12th, 2009 at 8:33 am