토요일, 1월 19, 2013

[독서광] The Art of Software Testing(소프트웨어 테스팅의 정석)

작년 연말에 진행하던 과제와 관련해 테스트를 수행하는 바람에 간만에 테스팅 쪽에 관심이 가고 있었는데 마침 에이콘 출판사에서 테스팅 관련 책을 하나 선물로 주셨다. 바로 테스팅 관련 업계에 종사하시는 분들께서는 한번쯤 읽어봤을지도 모르는 'The Art of Software Testing'이라는 책이다.

이 책을 아마존에서 찾아보면 초판 발행일이 무려 1979년이다. 한국어판 번역서의 기준인 2판은 2004년도에 그리고 가장 최근인 2011년 11월에 3판이 나왔는데, 2판과 3판의 목차를 대조해보니 3판에서는 모바일 쪽 테스팅 기법이 더 추가된 듯이 보인다. 1판에서 2판으로 옮겨갈 때는 상당한 변화가 있었는데, 좀더 최신 프로그래밍 언어(C++, Java), 애자일 개발 방법론 소개, 웹 기반 테스팅 기법 소개 등 나름 시대에 뒤쳐지지 않도록 노력한 흔적이 보였다. 하지만 업무 논리가 비교적 산술 계산과 작업 흐름에 의존적인 MIS 프로그램을 중심으로 내용이 전개되고 있으므로, 요즘과 같이 복잡한 요즘 프레임워크 기반의 각종 개발 기법을 뒤쫓아오기에는 역부족이다. 다소 원론적인 교과서 같다는 느낌이라고 할까나? 여하튼 시대의 흐름에 맞춰 새롭게 리뉴얼하려 했지만 시류를 완벽하게 쫓아가지도, 그렇다고 고전의 반열에 오르지도 못했다는 생각이다.

뭐 이렇게 적고 나면 딱딱한 대학교재처럼 보일지도 모르겠지만 나름 테스팅에 대한 정의, 이론, 역사, 용어 등을 일목 요연하게 정리하고 있으며, 수학적인 방법으로 테스팅을 정형화하는 기법에 대해서도 사례를 들어 설명하기에 개발자들이 자주 저지르는 실수 등을 찾아내기 위한 몇 가지 힌트도 제공하고 있다. 물론 사례 중에 포트란과 PL/I으로 만든 코드가 등장하므로 C와 자바 프로그래밍 언어에 익숙한 개발자들이 보면 당황(!)할지도 모르겠다. 번역 상태를 보면... 용어가 조금 오락가락하고('탁상 점검'했다가 '데스크 체크'했다 한글이랑 영어가 왔다갔다 하는 경우를 몇 번 봤다), 프로그래머 관점에서 "응? 설명이 뭐 이렇게 꼬여있어?(예: 최악의 경우 명령어 처리기에서 프로그래밍 에러는 프로그래밍 처리 에러여야 하고 --> 도대체 이게 무슨 말이야???)"하는 부분도 존재하지만 테스팅 관점에서 보면 읽을만 하다.

결론: 테스팅 관련 분야에 몸담고 있는 분들은 역사적이고 큰 관점에서 가치가 있는 책이다. 하지만 최전방에서 전투를 벌이는 동안 테스트 기법이나 디버깅 기법이 아쉬운 개발자들이라면 다른 좋은 책들이 많으므로 그냥 개인적인 관심사에 따라 참고 삼아 읽어볼만한 수준이라 본다.

댓글 3개:

  1. 꾸준히 애독하고, 예전에 책까지 한권 받은 reader입니다. :-)
    "최전방에서 전투를 벌이는 동안 테스트 기법이나 디버깅 기법이 아쉬운 개발자들이라면 다른 좋은 책" 을 몇가지 추천해주시면 큰 발전없이 하루하루 하던데로 전투에 임하는 저 같은 개발자들에게 아주 큰 도움이 될것 같습니다.

    답글삭제
  2. (프로그래머 관점에서) 개인적으로 테스트/디버깅에 좋았던 책은 다음과 같습니다.

    i) 테스트 주도 개발 : 고품질 쾌속개발을 위한 TDD 실천법과 도구http://jhrogue.blogspot.kr/2012/09/tdd.html

    ii) 클린코드(제가 번역한 책이라고 여기서 특별히 소개드리는 거 절대 아닙니다!)
    http://jhrogue.blogspot.kr/2010/03/blog-post_14.html

    iii) 실용주의 디버깅(초급자 대상으로 좋습니다)
    http://jhrogue.blogspot.kr/2010/07/debug-it.html

    iv) 닥터스 씽킹(의사 이야기지만... 많은 도움을 줍니다)
    http://jhrogue.blogspot.kr/2008/07/blog-post_27.html

    참고로 i), ii)는 해당 분야에서 풍부한 전문적인 프로그래밍 지식이 있어야 읽을 수 있습니다.

    테스팅/디버깅 관련해 책장에서 잠자고 있는 책이 몇 권 있긴한데... 다 읽지 않아서 섣부르게 추천을 하지는 못하겠습니다. 차근차근 소개해드리겠습니다.

    - jrogue

    답글삭제
  3. 추천 감사드립니다. 개발자 입장에서 jrogue님의 책 소개가 많은 도움이 됩니다. 자칫 우물에 갖혀 다른쪽을 보기 어려운데, 항상 감사드립니다.

    답글삭제