IT 포스팅 2011. 12. 7. 14:36
로드북의 두 번째 책 <거꾸로 배우는 소프트웨어 개발>에서 테스트 자동화 관련 내용의 일부를 발췌하였습니다. 아래 삽화는 아래 카피라잇만 포함한다면 상업적 용도외에 모든 곳에 사용할 수 있습니다. 회사에서 프레젠테이션을 재미있게 해본다든지 할 때 활용해보세요.

ⓒ 로드북, <거꾸로 배우는 소프트웨어 개발>(이호종 저, 2011)

-----------------------------------------------------------
참고로, 이 책은 <사람과 프로그래머> 시리즈 두 번째입니다. 소프트웨어 개발에 관해 인문학적으로 접근하고 있습니다.
-----------------------------------------------------------

구제역이 발생하면 발생 농가로부터 반경 3Km를 위험지역으로 분류하고 출입 통제와 함께 차단 방역을 실시한다. 소프트웨어 버그도 마찬가지로 대처할 수 있다. 버그 발생 구역을 집중 감시 구역으로 설정하고, 버그 구제/퇴치 작업을 진행하는 도중에 새로운 버그가 생겨나지 않도록 차단막을 설치 가동해야 한다. 그게 바로 ‘단위 테스트’이고 ‘테스트 자동화 Test Automation’이다.


물론, 가난한 유기농 농가(?)에서는 이런 자동화 설비를 구축하기 어려운 게 사실이다. 하지만 형편이 좀 나은 곳에서도 그다지 필요성을 잘 못 느끼는 경우가 많다. 어떻게 하면 좋을까?
 
먼저 인식 전환이 필요하다. 소프트웨어 결함에 너무 안일해지지 않아야 한다. 어쩔 수 없는 것이라고 체념하지 말자. 극복하고 돌파해야 할 과제라고 인식을 바꿔야 한다. 또한, 효과적인 결함 관리를 위해서는 쉽게 피로해지는 사람의 손과 눈을 어느 정도 보완해줄 수 있는 ‘자동화 기계’가 필요하다는 공감이 개발조직에 확산되어야 한다.

사실 ‘자동화 기계’라고 했지만, 이것을 마련하고 가동하는 데 엄청난 비용이 드는 건 아니다. 알고 보면, 저렴하게 이용할 수 있는 ‘기계’가 많다. 단위 테스트 도구인 xUnit 을 권한다. 대부분 프로그래밍 언어마다 xUnit 패키지가 있다. 뭘 새로 많이 개발해야 하는 게 아니다. 그냥 xUnit 사용법을 익히면 된다. 세균과의 전쟁을 맨 몸으로 하지 않아도 된다. 프로그래머의 뇌를 매개체로 증식하는 세균 같은 소프트웨어 버그에 대처하기 위한 체계적이고 안전한 방호법이다. 버그의 유충까지 섬멸할 수 있는 자동 화염 방사기다. 디버깅하느라 ‘삽질’을 하고 있었다면, 이젠 삽 대신 xUnit을 사용해보자. 개발이 달라진다.
posted by 로드북
: