최근에 IBM developerWorks의 스크린캐스트(=동영상강좌)를 많이 봐야할 일이 있었습니다. 한꺼번에 보다 보니 당연히 힘들더군요.

그중에 심드렁한 내 눈과 귀를 번쩍트이게 하는 강좌가 있었습니다. 바로 'Mock Object 를 사용해서 쉽게 테스트 하기' 인데요. 테스트 주도 개발이 익숙하지 않은 초중급 개발자분들이 한번 짬내서 보면 개념잡는데 도움이 많이 되는 강좌입니다.

Mock Object는 테스트 하기 힘든 특정 자원, 예를들면 '데이터베이스'에 의존하지 않고도, 비슷한 기능을 흉내내게 해주는 가상 객체입니다. 데이터베이스등의 특정 자원에 의존하는 객체가 Mock Object를 쓰면 이제 가상 객체를 쓰던 진짜 데이터베이스와 연결됨과 상관없이 기능을 수행 합니다. 저 강좌에서는 데이터베이스 자원에 의존하지 않고도 독립적으로 깔끔하게 테스트할 수 있는 방법을 설명합니다. 부모에게 의존하지 않고 떳떳하게 독립하는 자식처럼, 떳떳하게 독립적이고 멋진 프로그래밍을 할 수 있는 방법을 알려줍니다.

참고로 저같은 경우 테스트 하기 힘든 특정 자원이 데이터베이스도 있지만 네트워크 프로그래밍에서는 네트워크/서버 자원도 있다는 것도 알게 되었습니다. 대상 네트워크/서버가 살아 있어야 테스트 가능 하거든요. 이런 경우 네트워크/서버 자원에 의존하지 않고도 어떻게 자동 테스트 할수 있는지 꽤 난감하더군요. 네트워크 프레임워크인 '아파치 미나' 소스에 단서가 될만한 테스트 클래스들이 있어서 다시한번 확인해봐야 겠습니다. 네트워크/서버 자원도 Mock Object를 써서 테스트 하는 방법을 확실히 알게 되면 다시 한번 포스팅 해보겠습니다. ^ ^


신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 산골
산골 블로그 소개 저는 하얀머리 개발자와 작가를 꿈꾸는 블로거 산골 입니다. 프로그램 개발자로서 저의 관심사는 개발자의 숨통을 트여준 아이폰 개발, 철학과 같은 깊이가 있는 객체지향 방법론입니다. 글쓰기와 수영을 좋아합니다. 블로그를 통해 관심사를 공유합니다. 제 블로그에 관심 있으시면 아래 RSS나 즐겨찾기로 편하게 구독하세요.

rss Bookmark and Share

댓글을 달아 주세요

  1. BlogIcon Joowonpapa 2008.09.30 11:39 신고  댓글주소  수정/삭제  댓글쓰기

    스프링을 공부해야 겠습니다. 어떤가요???

    • BlogIcon 산골 2008.10.05 13:59 신고  댓글주소  수정/삭제

      스프링은 일종의 유틸리티라는 생각입니다..
      개발자를 편하게하는 유틸리티들의 모음이죠..
      강력추천해요~! ^ ^