2008년 07월 23일
코드 커버리지
몇달전부터 TDD를 사용하면서 조금씩 조금씩 실용주의 프로그래머의 길로 들어서고 있다.
그런데 테스트를 작성할 때마다 느끼는 거지만, 처음 테스트를 작성하고 코딩을 하는 것은 별로 어려운 일이 아니다.
그리고 뭔가 까다로운 혹은 복잡한 코드를 풀어나갈때의 테스트케이스와 코드를 동기화하는 것도 그다지 어렵지 않다.
문제는 테스트의 그물에서 빠져나간 야생코드의 수정시 직관으로 (직감말고) 문제를 바로 해결해 낼 수 있는 경우에 있다.
직관으로 해결한다는 것은 몇가지의 경로나 코드 의존성을 머리에 담고 있다가 해당 문제가 되는 부분들이 자연스럽게 머리에 떠오르는 경우인데,
이 경우 코드를 먼저 고치고 테스트를 짜게 되는 것이 더 빨라서 이렇게 하게 된다.
사실, 명서 Code complete에서도 말했듯이
버그에 대한 인지 및 이해 후
버그수정시 먼저 안정화시킬 수 있는 테스트환경을 만들고 버그를 고치는게 바람직한데,
작은 시스템의 경우 이러한 환경이 없이 코더의 직관으로 해결할 수 있다는 점이 문제아닌 문제라고 하겠다.
점점 테스트자체도 재미있어지고, 무엇보다 방법론쪽에 눈이 많이 가게 되는것 같다.
코딩실력은 아직도 형편없으면서... ㅠ_ㅠ
아, 어쨌든 테스트가 늘어갈 수록 내 코드에 대한 테스트 커버리지가 어느정도 되는지를 알아보고 싶은 것이 인지상정인데,
자바는 테스트 커버리지 툴이 훌륭한 것들이 꽤 많은데 파이썬은 아직 없는 듯하다.
하려고 계획한 일들이 대충 마무리 되면 이클립스 플러그인 프로젝트에 파이썬 플러그인을 좀 만들어 봐야 겠다.
그런데 테스트를 작성할 때마다 느끼는 거지만, 처음 테스트를 작성하고 코딩을 하는 것은 별로 어려운 일이 아니다.
그리고 뭔가 까다로운 혹은 복잡한 코드를 풀어나갈때의 테스트케이스와 코드를 동기화하는 것도 그다지 어렵지 않다.
문제는 테스트의 그물에서 빠져나간 야생코드의 수정시 직관으로 (직감말고) 문제를 바로 해결해 낼 수 있는 경우에 있다.
직관으로 해결한다는 것은 몇가지의 경로나 코드 의존성을 머리에 담고 있다가 해당 문제가 되는 부분들이 자연스럽게 머리에 떠오르는 경우인데,
이 경우 코드를 먼저 고치고 테스트를 짜게 되는 것이 더 빨라서 이렇게 하게 된다.
사실, 명서 Code complete에서도 말했듯이
버그에 대한 인지 및 이해 후
버그수정시 먼저 안정화시킬 수 있는 테스트환경을 만들고 버그를 고치는게 바람직한데,
작은 시스템의 경우 이러한 환경이 없이 코더의 직관으로 해결할 수 있다는 점이 문제아닌 문제라고 하겠다.
점점 테스트자체도 재미있어지고, 무엇보다 방법론쪽에 눈이 많이 가게 되는것 같다.
코딩실력은 아직도 형편없으면서... ㅠ_ㅠ
아, 어쨌든 테스트가 늘어갈 수록 내 코드에 대한 테스트 커버리지가 어느정도 되는지를 알아보고 싶은 것이 인지상정인데,
자바는 테스트 커버리지 툴이 훌륭한 것들이 꽤 많은데 파이썬은 아직 없는 듯하다.
하려고 계획한 일들이 대충 마무리 되면 이클립스 플러그인 프로젝트에 파이썬 플러그인을 좀 만들어 봐야 겠다.
이 글과 관련있는 글을 자동검색한 결과입니다 [?]
- 코드 스케치 by 시즈하
- Unit Test에 관한 메모.. by 미친병아리
- 테스트주도 개발을 향한 첫걸음 by 왕멀
- 직관으로 프로그램 짜기... by 권남
- 9월의 지름 by 시즈하
# by ge2us | 2008/07/23 21:20 | 공부이야기 | 트랙백 | 덧글(0)




