회사 벼룩시장이나 OKJSP 사이트에서 공구를 진행할까 생각도 했지만,
안티한 몇몇 똑똑한 분들이 딴지를 걸까봐 공구는 진행하지 않기로 결정했다.
책의 페이지가 생각보다 너무 많이 나와서,
나의 의지와 상관 없이 책 가격이 올라버렸다.
독자 여러분께 죄송할 따름이다....
(지난번에 쓴 튜닝 책도 Blog2Book 시리즈에서 가장 두꺼웠는데,
이번엔 그 기록을 깨서 404 페이지가 나왔다.
실제 원본은 더 많은 페이지가 나왔는데,
거기서 몇몇 부록을 PDF로 제공하기로 결정 했고,
그 PDF파일은 조만간 필자 블로그와 한빛 홈페이지에 올라갈 예정이다.)
만약 공구를 원하시는 분들이 많다면 한번 추진해 볼 예정이오니,
이 글에 댓글을 달아주시면 감사하겠습니다.
자바 개발자도 쉽고 즐겁게 배우는 테스팅 이야기 라는 책이 드디어 출간된다. (나는 끝까지 "테스트 이야기"로 하고 싶었는데, 출판사에서는 끝까지 테스팅으로 밀고 있다. 왜 그런지는 좀더 이야기 해 봐야 겠지만...)
1년 2개월 동안(실제 쓴 기간은 그렇지 않지만... 여하튼...) 쓴 책이고, 개발자들이 재미없는 테스트에 보다 쉽게 접근할 수 있도록 쓴 책이다. 물론 고수분들은 이책을 살 필요 없다. 다 아는 내용일 것이기 때문에...
페이지 수가 400 페이지가 넘어서, 여러 고민을 하다가, 부록의 일 부분을 전자 문서(아마도 PDF)로 제공하기로 결정했다. 어느정도 페이지가 넘어가면, 출판사 손익 분기점이 높아져서, 책값이 올라가거나 다른 방법을 찾아야 한단다. 책값이 올라가면, 많은 독자들이 볼 기회를 놓칠 수도 있기 때문에, 이와 같이 부록을 별도로 빼기로 결정했다. 책 내에는 별책 부록이라고 표시될 것이다.
책 제목이 긴 이유는 출판사의 정책 때문이다. (내가 긴 제목을 좋아 하는 것도 아니고, 누군가를 낚기 위한 것도 아니다. 분명 이책 보고도 낚였다는 사람이 있겠지 ? - -)
그리고
미리 이야기하지만, 책의 목차를 보면 알겠지만, 다루는 항목이 너무 많기 때문에, 깊이가 얕다고 실망하는 분들이 분명 있을 것이다. 사고 나서 낚였다고 "파닥 파닥"거리지 마시고, 본인이 알고자 하는 내용에 부합되는지 미리 확인하고 사시기 바란다. 일 예를 들어 JUnit 에 대해서만 다뤄도 JUnit in action과 같이 책 한권의 분량이고, FitNess도 그렇고, CI 도 마찬가지다. 테스트에 대한 전반적인 흐름이 어떻게 되고, 어떤 툴들이 있구나 라는 정도의 지식을 전달하기 위해서 쓴 글이지, 바이블을 맹글기 위해서 쓴 글이 아니다.(바이블은 나중에 시간 나면...)
목차는 다음과 같은데, 실제 출간되는 책과 상이할 수도 있다.
A. 테스트 기본 1.테스트 전문가란 사람들이 항상 이야기하는 기본 내용들 - 테스트의 단계는 어떻게 되나? - 기능적 테스트와 비 기능적 테스트는 또 뭐야 ? - V-Model. 많이 들어는 봤는데 그게 뭐야 ?
2.또 재미 없는 테스트 이야기 - 정적 테스트의 종류에는 어떤 것들이 있을까? - 일반적인 리뷰 프로세스를 알아보자. - 동적으로 하는 테스트에는 이런 것들이 있다. - 까만 상자 테스트와 하얀상자 테스트의 의미 - 회귀 테스트와 확정 테스트는 왜하는 거지? - 테스트 케이스와 테스트 스윗의 차이는 뭘까 ?
3.테스트 그냥 하면 되지 뭘 분석해? - 테스트 입력값 분석하기 - 입력값이 복잡할 때 제대로 분석하자. - 상태가 바뀔때는 이렇게 한다.
B.단위 테스트 쉽게 해보기 1.JUnit. 이름은 많이 들어 봤는데 - xUnit 이란 ? - JUnit 다운로드 및 설치하기 - 먼저 JUnit 3.x에 대해서 간단하게 알아보자 - JUnit 4.x는 뭐가 다른데? - Stub만 있는게 아니었구나 - Mockito의 간단한 사용법 - Mockito는 이렇게 응용하여 사용할 수 있다.
2.TDD가 뭐야 ? - TDD가 뭘까? - 그럼 도대체 왜 TDD를 해야 하는겨? - 말하는 만큼 TDD는 적용하기 쉬울까? - 근데 도대체 리펙토링은 뭔데 ?
3.웹 UI도 자동화 테스트가 가능하구나~~~ - 웹 UI 테스트 툴도 있구나. - Selenium 이 뭐지? - Selenium IDE 사용법을 알아보자. - Selenium IDE 를 이용하여 간단한 사이트의 스크립트를 작성 해보자. - 이번에는 약간 복잡한 사이트를 테스트 해보자. - Selenium Remote Control 사용법도 알아보자.
4.웹 URL 요청을 자동화 해서 테스트 해보자. - HttpUnit 이란? - HttpUnit은 어떻게 동작하나? - 아주 간단한 사이트를 HttpUnit으로 테스트해 보자. - 우리가 테스트하려는 사이트를 HttpUnit로 요청해보자. - 자동 로그인 테스트를 해보자. - JUnitPerf 라는 것도 있단다.
C.정적인 테스트하기 1.이것도 테스트구나 - 리뷰란 ? - 그렇다면 개발자가 할 수 있는 리뷰는? - 코드 리뷰를 자동으로 해주는 착한 툴들
2.정적 테스트 툴 살펴보기 - 정적 테스트 툴을 이클립스에서 사용할 수 있다고? - Find Bugs에서 제공하는 결과 확인하기 - PMD에서 제공하는 결과 확인하기 - PMD 리포트 작성하기 - Find Bugs UI는 정말 사용하기 쉽다. - PMD 규칙 관리하기 - 나만의 PMD와 Find Bugs 규칙 추가하는 방법 링크
D.통합 테스트도 쉽게 해보기 1.통합 테스트도 자동화 할수 있어 ? - Continuous Integration - 통합 빌드의 수행 절차 - 통합 빌드의 부품들 - 통합 빌스시 유의 사항들 - 그럼 통합 빌드 툴에는 어떤 것들이 있을 까? 2.허드슨에 대해서 알아보자. - 허드슨에 대해서 - 첫 빌드 프로젝트 만들어 보기 - 효과적으로 허드슨을 사용하기 위한 환경 확장하기 - 본격적인 빌드 작업 수행하기
E.성능 테스트는 이렇게 1.성능 테스트가 뭐 하는 거야 ? - 성능 테스트를 왜 하는거야? - Transaction 에도 종류가 있다고? - TPS 라는게 도대체 뭐야? - 응답 시간은 이렇게 나눌 수 있다. - 응답시간이 젤 중요한거 아니야 ? - TPS와 응답시간의 관계는 있을까? 2.성능 테스트 한번 해 볼까 ? - 성능 테스트의 종류에는 이런 것들이 있다. - 성능 테스트에서의 시간은 이렇게 구분한다. - 어떤 게 동시 사용자야 ? - 성능 테스트 대상 식별하기 - 스크립트란 ? - 성능 테스트시에 고려해야 하는 사항들
3.JMeter 가 도대체 뭐야 - 무료 성능 테스트 툴에는 어떤 것들이 있을까? - JMeter 테스트 준비 Step - 1 스크립트 레코딩하기 Part-1 - JMeter 테스트 준비 Step - 1 스크립트 레코딩하기 Part-2 - JMeter 테스트 준비 Step - 1 스크립트 레코딩하기 Part-3 - JMeter 테스트 준비 Step - 2 결과 검증하기 - JMeter 테스트 준비 Step - 3 데이터 준비하기 - JMeter로 성능 테스트를 수행해보자. - 성능 테스트를 할 때 모니터링 해야 하는 것들
4.결과는 어떻게 분석하라고 ??? - 응답시간 분석 및 정리하기 - TPS 분석 및 정리하기 - CPU 사용량 분석 및 정리하기 - 보고서에 반드시 들어가야 하는 기본 내용들은 ?
F.보안 테스트도 어려운 것만이 아니네 1. 보안이 그렇게 중요한가? - 보안이라고 하면 도대체 어떤걸 이야기 하는 거야? - 웹 애플리케이션의 취약점에는 이런 것들이 있다. - 웹 애플리케이션 보안 체크 리스트 Top 10 - 보안 테스트 툴에는 어떤 것들이 있을까?
2. 보안 테스트의 기초만 알아보자. - 보안 테스트란? - 보안 테스트를 하기 위해서는 데이터 암호화에 대한 지식은 필수다. - Burp Suite를 이용한 요청 데이터 변환하기 - WebGoat를 이용한 보안 테스트하기
G.프로젝트를 마무리 하는 테스트는 이런 것이 있구나 1. 시스템의 오픈 여부를 결정하는 출하검사와 인수 테스트 - 경험에 의한 테스트 방법들 - 출하검사란? - 결함율과 출하검사 유의사항 - 그렇다면 인수 테스트는 어떻게 해야 하는 거지?
2. 인수 테스트를 위한 FIT과 FitNesse. -FitNesse가 뭐 하는 거야 ? -FitNesse 설치하기 -먼저 FitNesse에 적응해보자. -첫 테스트를 수행해보자. -FitNesse 화면을 묶어서 Suite로 테스트하자. -FitNesse의 기본 Fixture들을 이해하자.
이제는 여러 베타 리더 분들의 리뷰를 받아서 보완하는 작업을 하고 있고,
다음주에 원고를 출판사에 넘기기로 했다.
집필한 책의 대분류 목차는 다음과 같다.
A. 테스트에 대한 재미없는 이야기들
B. 단위 테스트 쉽게 해보기
C. 정적인 테스트 하기
D. 통합 테스트도 쉽게 해보기
E. 성능 테스트는 이렇게
F. 보안 테스트도 어려운 것 만이 아니네
G. 프로젝트를 마무리하는 테스트는 이런 것이 있구나.
순으로 되어 있다.
더 상세한 목차는 나중에 포스팅하겠다.
목차를 몇몇 개발자 분들에게 보여준 결과
B,C,D를 대체적으로 좋아하고,
가장 인기 있는 부분은 B 부분인 것 같다.
근데, 이 책은 바이블이 아닌 채널만을 열어주는 책이기 때문에
그리 깊숙히 들어가지 않는다.
하지만, 개발자들이 여러 방식의 테스트를 하기 위한 참조 서적은 될 수 있을 것이라고 생각한다.