책소개
누구라도 쉽게 배우는 필수 테스트 스킬!
자바 개발자가 쉽고 재미있게 테스트 기법들을 학습할 수 있게 구성한 책으로, 더 이상 테스팅이 두렵지 않게 한다. 자바 개발 현장에서 꼭 필요한 테스팅이 무엇인지 알려주고, 다양한 테스트 기법을 듬뿍 담아 테스팅을 잘 모르는 독자도 쉬게 학습할 수 있다. 따라서 테스트 전반에 걸친 체계를 잡을 수 있으며, 테스팅에 부담을 느끼는 개발자들이 테스팅을 쉽게 할 수 있도록 한다.
테스트의 기본 내용, 테스트 입력 값 분석하기, TDD, HttpUnit, 정적인 테스트, 통합 테스트, Hudson, 성능 테스트, JMeter, 결과 분석 등의 내용으로 구성하였다. 또한 별책부록으로 이클립스, Ant, Subversion, Internet Explorer Developer Toolbar, Firebug의 설치 및 사용법을 홈페이지에서 다운로드 할 수 있다.
목차
1. 테스트에 대한 재미없는 이야기
Story1. 테스트 전문가들이 항상 이야기하는 기본 내용
나필승씨 소개
테스트를 왜 하는가?
테스트의 단계는 어떻게 되는가?
기능적 테스트와 비 기능적 테스트는 또 뭐지?
V-Model. 많이 들어는 봤는데...
Story 2. 또 재미없는 테스트 이야기
정적 테스트의 종류에는 어떤 것들이 있을까?
일반적인 리뷰 프로세스를 알아보자
동적으로 하는 테스트는 이런 것들이 있다
블랙 박스 테스트와 화이트 박스 테스트의 의미
확정 테스트와 회귀 테스트는 왜 하는 거지?
테스트 케이스와 테스트 스위트의 차이는 뭘까?
Story 3. 테스트 그냥 하면 되지 뭘 분석해?
테스트 입력 값 분석하기
입력 값이 복잡할 때 제대로 분석하자
상태가 바뀔 때는 이렇게 한다
2. 단위 테스트 쉽게 해보기
Story 04. JUnit 이름은 많이 들어 봤는데...
xUnit이란?
JUnit 다운로드 및 설치
먼저 JUnit 3.x를 간단히 알아보자
JUnit 4.x는 뭐가 다른데?
스텁만 있는 것이 아니었구나
Mockito의 간단한 사용법
Mockito는 이렇게 응용하여 사용할 수 있다
Story 05. TDD가 뭐야?
TDD가 뭘까?
그럼 도대체 왜 TDD를 해야 하는 거야?
말처럼 TDD는 적용하기 쉬울까?
도대체 리팩토링이 뭐길래?
Story 06 웹 UI도 자동화 테스트가 가능하구나
웹 UI 테스트 툴도 있구나
Selenium이 뭐지?
Selenium IDE 사용법을 알아보자
Selenium IDE를 이용하여 간단한 사이트의 스크립트를 작성해보자
이번에는 약간 복잡한 사이트를 테스트 해보자
Selenium Remote Control 사용법도 알아보자
Story 07. 웹 URL 요청을 자동화해서 테스트 해보자
HttpUnit이란
HttpUnit은 어떻게 동작하나?
아주 간단한 페이지를 HttpUnit으로 테스트 해보자
우리가 테스트하려는 사이트를 HttpUnit으로 요청하자
자동 로그인 테스트를 해보자 JUnitPerf라는 것도 있다
3. 정적인 테스트하기
Story 08. 이것도 테스트구나
리뷰란?
그렇다면 개발자가 할 수 있는 리뷰는?
코드 리뷰를 자동으로 해주는 착한 툴 몇 가지
Story 09. 정적 테스트 툴 살펴보기
정적 테스트 툴을 이클립스에서 사용할 수 있다고?
FindBugs에서 제공하는 분석 결과 확인하기
PMD에서 제공하는 결과 확인하기
PMD 리포트 작성하기
FindBugs UI는 정말 사용하기 쉽다
PMD 규칙 관리하기
나만의 PMD와 FindBugs 규칙 추가하는 방법 링크
4. 통합 테스트 쉽게 해보기
Story 10. 통합 테스트도 자동화할 수 있어?
Continuous Integration
통합 빌드의 수행 절차
통합 빌드의 부품들
통합 빌드에서 유의할 점
그럼 통합 빌드 툴에는 어떤 것이 있을까?
Story 11. Hudson에 대해서 알아보자
Hudson이란?
Hudson 다운로드 및 설치
첫 빌드 프로젝트 만들어 보기
Hudson 설정 메뉴를 살펴보자
효과적으로 Hudson을 사용하기 위한 환경 확장하기
본격적인 빌드 작업 수행하기
5. 성능 테스트는 이렇게
Story 12. 성능 테스트가 뭐야?
성능 테스트를 왜 하는 거야?
트랜잭션에도 종류가 있다
TPS가 도대체 뭐지?
응답시간이 가장 중요한 거 아니야?
TPS와 응답시간은 서로 관련이 있다
Story 13. 성능 테스트 한번 해볼까?
성능 테스트의 종류에는 이런 것들이 있다
성능 테스트에서 시간은 이렇게 구분한다
어떤게 동시 사용자야?
성능 테스트 대상 식별하기
스크립트란?
성능 테스트를 할 때 고려해야 하는 사항
Story 14. JMeter가 뭘까?
무료 성능 테스트 툴에는 어떤 것이 있을까?
JMeter 다운로드 및 설치
Badboy 다운로드 및 설치
JMeter에 익숙해지기
JMeter 테스트 준비 Step 1 스크립트 레코딩하기 Part 1
JMeter 테스트 준비 Step 1 스크립트 레코딩하기 Part 2
JMeter 테스트 준비 Step 1 스크립트 레코딩하기 Part 3
JMeter 테스트 준비 Step 2 결과 검증하기
JMeter 테스트 준비 Step 3 데이터 준비하기
JMeter로 성능 테스트를 수행하자
성능 테스트를 할 때 모니터링해야 하는 것
Story 15. 결과는 어떻게 분석하라고?
응답시간 분석 및 정리하기
TPS 분석 및 정리하기
CPU 분석 및 정리하기
보고서에 반드시 들어가야 하는 기본 내용은?
6. 보안 테스트도 어려운 것만은 아니네
Story 16. 보안이 그렇게 중요한가?
보안이라고 하면 도대체 어떤걸 이야기하는 거야?
웹 애플리케이션의 취약점에는 이런 것들이 있다
웹 애플리케이션 보안 체크 리스트 Top 10
보안 테스트 툴에는 어떤 것이 있을까?
Story 17. 보안 테스트의 기초를 알아보자
보안 테스트??
보안 테스트를 하려면 데이터 암호화에 대한 지식은 필수다
Burp Suite를 이용한 요청 데이터 변환하기
WebGoat를 이용한 보안 테스트 연습하기
7. 프로젝트를 마무리하는 테스트는 이런 것이 있구나
Story 18. 시스템 오픈 여부를 결정하는 출하검사와 인수 테스트 경험에 의한 테스트 방법들
출하검사란?
결함율과 출하검사의 유의사항
그렇다면 인수 테스트는 어떻게 해야 하는 거지?
Story 19. 인수 테스트를 위한 Fit와 FitNesse FitNesse가 뭐야?
FitNesse 설치하기
FitNesse에 먼저 적응하자
첫 테스트를 수행하자
FitNesse 화면을 묶어서 Suite로 테스트하자
FitNesse의 기본 Fixture를 이해하자
FitNesse의 기본 Fixture 예제
부록
1. Test 관련 사이트 정보
2. IEEE 1028
3. 원인-결과 그래프
4. 웹 테스트를 위한 간단한 페이지 준비하기 5. Burp Suite 설치 및 사용법