티스토리 뷰
Test driven development 또는 Test driven programming 에 대한 내 의견은 다음과 같다.
테스트가 개발을 주도하기 위해서는 습관을 고쳐야한다.
적어도 테스트 주도형 개발의 참뜻을 알기 위해서는 개발후 모듈테스트 통합테스트, 인수테스트에 대한 과정을 수도없이 퇴짜 맞아봐야 알게 된다. 결코 테스트의 중요성은 종이위의 활자로서 얻어질 수 있는 지식이 아닌것 같다.
만일 이 글을 읽는 사람중에 그런 경험이 없다면 중요성에 대한 이해도가 덜하리라 생각된다. 모듈테스트와 통합테스트가 설계/구현다음에 일어나는 일이라 생각되기 때문에 우리는 테스트할 시간 없이 완성했다고 생각한다. 또한 혼자 개발하는 시절에는 테스트보다는 설계 구현이 더 중요시되고 그러한 사람들이 한 팀을 이루어 코딩하다보면, 그 내구성이란 이루 말할 수 없이 떨어지게 된다.
습관을 고쳐야한다는 말을 하는 이유는 그 만큼 학교에서 혹은 혼자 공부할 때, 팀이 뭔가를 하는 것과는 다르기 때문이다. 습관은 혼자 고칠수 없는 법이며, 누군가 계속 자극해야 고쳐질 수 있는 것이다.
그럼 어떻게 고쳐야한다는 것인가? 테스트 주도형 개발이 되려면 기존 방식에서 탈출해야하는 몇가지 악습은 다음과 같다.
1. 기능 구현 위주로 생각하는 습관을 버려야 한다.
2. 모듈과 모듈이 블럭으로 되지 않고 유기적으로 되어 있는 것을 버려야한다.
3. 아주 간단한 것은 복사해서 쓰는 습관을 버려야한다.
4. 기능이 몰려있는 함수를 제작하는 습관을 버려야한다.
5. 외부로 노출되는 것과 내부용을 구별하지 않는 습관을 버려야한다.
6. UI 와 기능이 붙어있는 모듈을 제작하는 습관을 버려야한다.
7. 로그 메시지를 쉽게 생각하는 습관을 버려야한다.
테스트 주도형 개발이라는 관점에서 이상의 일곱가지에 대해, 나무가 크기전에 줄기의 모양을 잡아 줘야한다는 생각으로 연재해 보고자 한다.
이전 연관 글은
https://coolengineer.com/60
입니다.
테스트가 개발을 주도하기 위해서는 습관을 고쳐야한다.
적어도 테스트 주도형 개발의 참뜻을 알기 위해서는 개발후 모듈테스트 통합테스트, 인수테스트에 대한 과정을 수도없이 퇴짜 맞아봐야 알게 된다. 결코 테스트의 중요성은 종이위의 활자로서 얻어질 수 있는 지식이 아닌것 같다.
만일 이 글을 읽는 사람중에 그런 경험이 없다면 중요성에 대한 이해도가 덜하리라 생각된다. 모듈테스트와 통합테스트가 설계/구현다음에 일어나는 일이라 생각되기 때문에 우리는 테스트할 시간 없이 완성했다고 생각한다. 또한 혼자 개발하는 시절에는 테스트보다는 설계 구현이 더 중요시되고 그러한 사람들이 한 팀을 이루어 코딩하다보면, 그 내구성이란 이루 말할 수 없이 떨어지게 된다.
습관을 고쳐야한다는 말을 하는 이유는 그 만큼 학교에서 혹은 혼자 공부할 때, 팀이 뭔가를 하는 것과는 다르기 때문이다. 습관은 혼자 고칠수 없는 법이며, 누군가 계속 자극해야 고쳐질 수 있는 것이다.
그럼 어떻게 고쳐야한다는 것인가? 테스트 주도형 개발이 되려면 기존 방식에서 탈출해야하는 몇가지 악습은 다음과 같다.
1. 기능 구현 위주로 생각하는 습관을 버려야 한다.
2. 모듈과 모듈이 블럭으로 되지 않고 유기적으로 되어 있는 것을 버려야한다.
3. 아주 간단한 것은 복사해서 쓰는 습관을 버려야한다.
4. 기능이 몰려있는 함수를 제작하는 습관을 버려야한다.
5. 외부로 노출되는 것과 내부용을 구별하지 않는 습관을 버려야한다.
6. UI 와 기능이 붙어있는 모듈을 제작하는 습관을 버려야한다.
7. 로그 메시지를 쉽게 생각하는 습관을 버려야한다.
테스트 주도형 개발이라는 관점에서 이상의 일곱가지에 대해, 나무가 크기전에 줄기의 모양을 잡아 줘야한다는 생각으로 연재해 보고자 한다.
이전 연관 글은
https://coolengineer.com/60
입니다.
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- SSO
- VIM
- writely
- 킹벤자민
- 퀴즈
- 벤자민
- 대화
- macosx
- 덴드롱
- OpenID
- Linux
- ssh
- TCP/IP
- JavaScript
- 오픈소스
- 디버깅
- 커피
- perl
- MySQL
- 클레로덴드럼
- 구근
- SVN
- Tattertools plugin
- tattertools
- nodejs
- url
- BlogAPI
- Subversion
- 식물
- 수선화
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함