옮긴이 머리말 = xi 베타리더 후기 = xii 추천사 = xiv 시작하며 = xvii 감사의 글 = xix 이 책에 대하여 = xxii 표지에 대하여 = xxvi CHAPTER 1 효율적이고 체계적인 소프트웨어 테스트 = 1 1.1 테스트를 하는 개발자와 하지 않는 개발자 = 2 1.2 개발자를 위한 효율적인 소프트웨어 테스트 = 14 1.3 소프트웨어 테스트 원칙(테스트는 왜 이렇게 어려운가) = 19 1.4 테스트 피라미드와 집중해야 할 부분 = 22 1.5 연습문제 = 32 1.6 요약 = 35 CHAPTER 2 명세 기반 테스트 = 37 2.1 요구사항이 모든 걸 말한다 = 38 2.2 간략히 살펴보는 명세 기반 테스트 = 55 2.3 명세 테스트로 버그 찾기 = 57 2.4 현업에서의 명세 테스트 = 67 2.5 연습문제 = 73 2.6 요약 = 76 CHAPTER 3 구조적 테스트와 코드 커버리지 = 77 3.1 코드 커버리지, 올바른 방법 = 78 3.2 구조적 테스트 간략히 살펴보기 = 82 3.3 코드 커버리지 기준 = 83 3.4 복잡한 조건과 MC/DC 커버리지 기준 = 86 3.5 반복문과 유사 구조 처리하기 = 90 3.6 기준 포함과 선택 = 91 3.7 명세 기반 테스트와 구조적 테스트 : 실제 사례 = 92 3.8 경계 테스트와 구조적 테스트 = 98 3.9 구조적 테스트만 적용하는 것은 충분하지 않다 = 99 3.10 현업에서의 구조적 테스트 = 101 3.11 돌연변이 테스트 = 108 3.12 연습문제 = 111 3.13 요약 = 115 CHAPTER 4 계약 설계 = 117 4.1 사전 조건과 사후 조건 = 118 4.2 불변식 = 123 4.3 계약 변경과 리스코프 치환 법칙 = 127 4.4 계약에 의한 설계가 테스트와 어떤 관련이 있는가? = 131 4.5 현업에서의 계약에 의한 설계 = 132 4.6 연습문제 = 138 4.7 요약 = 140 CHAPTER 5 속성 기반 테스트 = 141 5.1 예제 1 합격 등급 프로그램 = 142 5.2 예제 2 unique 메서드 테스트 = 146 5.3 예제 3 indexOf 메서드 테스트 = 149 5.4 예제 4 Basket 클래스 테스트 = 157 5.5 예제 5 복잡한 도메인 객체 생성 = 165 5.6 현업에서의 속성 기반 테스트 = 167 5.7 연습문제 = 169 5.8 요약 = 170 CHAPTER 6 테스트 더블과 모의 객체 = 171 6.1 더미, 페이크, 스텁, 모의 객체, 스파이 = 174 6.2 모의 객체 프레임워크에 대한 소개 = 175 6.3 현업에서의 모의 객체 = 193 6.4 연습문제 = 207 6.5 요약 = 208 CHAPTER 7 테스트 가능성을 위한 설계 = 211 7.1 도메인 코드에서 인프라 코드를 분리하기 = 212 7.2 의존성 주입과 제어 가능성 = 222 7.3 클래스 및 메서드를 관찰 가능하게 하기 = 225 7.4 의존성 전달 방법 : 클래스 생성자와 메서드 매개변수 = 232 7.5 현업에서의 테스트 가능성 설계 = 235 7.6 연습문제 = 239 7.7 요약 = 241 CHAPTER 8 테스트 주도 개발 = 243 8.1 첫 번째 TDD 세션 = 244 8.2 처음 맛본 TDD에 대한 고찰 = 254 8.3 현업에서의 TDD = 255 8.4 연습문제 = 260 8.5 요약 = 262 CHAPTER 9 대규모 테스트 작성 = 263 9.1 대규모 테스트 사용 시기 = 264 9.2 데이터베이스와 SQL 테스트 = 280 9.3 시스템 테스트 = 293 9.4 대규모 테스트에 대한 마지막 논의 = 312 9.5 연습문제 = 315 9.6 요약 = 316 CHAPTER 10 테스트 코드 품질 = 317 10.1 테스트 코드의 유지 보수성을 위한 원칙 = 318 10.2 테스트 냄새 = 328 10.3 연습문제 = 335 10.4 요약 = 338 CHAPTER 11 마무리 = 339 11.1 비록 모델이 선형으로 보이더라도 반복이 핵심이다 = 339 11.2 버그 없는 소프트웨어 개발 : 진실 혹은 거짓? = 340 11.3 최종 사용자를 참여시키자 = 341 11.4 단위 테스트는 실제로 어렵다 = 341 11.5 모니터링에 투자하자 = 343 11.6 더 읽을거리 = 343 연습문제 정답 = 345 참고문헌 = 354 찾아보기 = 362