사용자 삽입 이미지


자바 개발자도 쉽고 즐겁게 배우는 테스팅 이야기
라는 책이 드디어 출간된다.
(나는 끝까지 "테스트 이야기"로 하고 싶었는데, 출판사에서는 끝까지
테스팅으로 밀고 있다. 왜 그런지는 좀더 이야기 해 봐야 겠지만...)

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들을 이해하자.
Posted by tuning-java