HOME > Detail View

Detail View

Effective unit testing : 개발자를 위한 단위 테스트 (Loan 6 times)

Material type
단행본
Personal Author
Koskela, Lasse 이복연, 역
Title Statement
Effective unit testing : 개발자를 위한 단위 테스트 / 라쎄 코스켈라 지음 ; 이복연 옮김
Publication, Distribution, etc
서울 :   한빛미디어,   2013  
Physical Medium
316 p. : 삽화 ; 24 cm
Varied Title
Effective unit testing : a guide for Java developers
ISBN
9788968480621
General Note
색인수록  
부록: 1. JUnit 기초, 2. JUnit 확장하기  
클린 코드와 좋은 테스트를 이끄는 설계 지침서  
Subject Added Entry-Topical Term
Java (Computer program language) Computer programs -- Testing
000 01040camcc2200325 c 4500
001 000045798393
005 20140502163504
007 ta
008 140502s2013 ulka 001c kor
020 ▼a 9788968480621 ▼g 13000
035 ▼a (KERIS)BIB000013323236
040 ▼a 247017 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 005.133 ▼2 23
085 ▼a 005.133 ▼2 DDCK
090 ▼a 005.133 ▼b J41 2013z6
100 1 ▼a Koskela, Lasse
245 1 0 ▼a Effective unit testing : ▼b 개발자를 위한 단위 테스트 / ▼d 라쎄 코스켈라 지음 ; ▼e 이복연 옮김
246 1 9 ▼a Effective unit testing : ▼b a guide for Java developers
260 ▼a 서울 : ▼b 한빛미디어, ▼c 2013
300 ▼a 316 p. : ▼b 삽화 ; ▼c 24 cm
500 ▼a 색인수록
500 ▼a 부록: 1. JUnit 기초, 2. JUnit 확장하기
500 ▼a 클린 코드와 좋은 테스트를 이끄는 설계 지침서
650 0 ▼a Java (Computer program language)
650 0 ▼a Computer programs ▼x Testing
700 1 ▼a 이복연, ▼e
900 1 0 ▼a 코스켈라, 라쎄, ▼e
945 ▼a KLPA

Holdings Information

No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Science & Engineering Library/Sci-Info(Stacks1)/ Call Number 005.133 J41 2013z6 Accession No. 121229638 Availability Available Due Date Make a Reservation Service B M

Contents information

Book Introduction

테스트 라이브러리 사용법에서 나아가 '좋은 테스트란 무엇인가', '좋은 테스트를 작성하려면 어떻게 해야 하는가'에 관한 현장의 물음에 해답을 제시한다. 테스팅 경험은 있으나 테스트의 품질을 자신할 수 없는 자바 개발자, 테스팅에 대한 개념이 아직 명확하지 않은 사람, QA 부서에서 직무 교육을 받는 테스터/개발자를 위한 도서이다.

이 책이 제시하는 핵심 내용
테스트 라이브러리 사용법에서 나아가 '좋은 테스트란 무엇인가', '좋은 테스트를 작성하려면 어떻게 해야 하는가'에 관한 현장의 물음에 해답을 제시한다.

이 책의 특징과 장점 (책 소개)

테스트가 갖춰야 할 요건에 따라 나눈 테스트 카탈로그를 제공한다. 따라서 필요할 때마다 원하는 목록을 참고하여 자신이 작성한 테스트에서 문제를 발견하고 수정해 나갈 수 있으며 더욱 응용력 높은 학습을 할 수 있다.

어떤 독자를 위한 책인가? (대상 독자)

-. 테스팅 경험은 있으나 테스트의 품질을 자신할 수 없는 자바 개발자
-. 테스팅에 대한 개념이 아직 명확하지 않은 사람
-. QA 부서에서 직무 교육을 받는 테스터/개발자


Information Provided By: : Aladin

Author Introduction

라쎄 코스켈라(지은이)

Reaktor 소속의 코치, 트레이너, 컨설턴트, 프로그래머로서 고객이 성공적인 소프트웨어 제품을 만드는 데 이바지하고 있다. 그는 기업용 애플리케이션에서부터 미들웨어 제품까지 다양한 영역의 소프트웨어 프로젝트를 경험해왔다. 공인 스크럼 트레이너(Certified Scrum Trainer )이기도 한 그는 근래에는 고객팀의 생산성을 개선하고 끊임없이 배워가는 문화를 길러주는 교육 프로그램을 제공하거나 직접 맨토링하는 데 시간을 쏟고 있다. 또한, 리더와 관리자를 위한 컨설팅 외에도 소프트웨어 개발팀과 일하며 프로그래밍하는 것 역시 좋아한다. 여가 시간에는 오픈 소스 프로젝트에 참여하거나 소프트웨어 개발 관련 저술 활동을 한다. 직접 블로그(http://lassekoskela.com/thoughts/)도 운영하며, 이번 『Effective Unit Testing』은 2007년에 출간한 『Test Driven』에 이은 두 번째 작품이다. 그는 핀란드 애자일 커뮤니티의 선구자 중 한 명으로 국제 컨퍼런스의 발표자로도 자주 얼굴을 비추고 있다.

개앞맵시(옮긴이)

고려대학교 컴퓨터학과를 졸업하고 삼성전자에서 자바 가상 머신, 바다 플랫폼, 챗온 메신저 서비스 등을 개발했다. 주 업무 외에 분산 빌드, 지속적 통합, 수명주기 관리 도구, 애자일 도입 등 동료 개발자들에게 실질적인 도움을 주는 일에 적극적이었다. 그 후 창업 전선에 뛰어들어 좌충 우돌하다가, 개발자 커뮤니티에 기여하는 더 나은 방법을 찾아 출판 시장에 뛰어들었다. 한빛미디어에서 『밑바닥부터 시작하는 딥러닝』 시리즈, 『리팩터링 2판』, 『Effective Unit Testing』을 번역했고, 인사이트에서 『이펙티브 자바 3판』과 『JUnit 인 액션 2판』을 번역했다. 개발자들과의 소통 창구로 소소하게 facebook.com/dev.loadmap 페이지를 운영 중이다.

Information Provided By: : Aladin

Table of Contents

목차
옮긴이 소개 = 4
지은이 소개 = 4
옮긴이의 말 = 5
지은이의 말 = 8
이 책에 대하여 = 10
표지 설명 = 15
PART 1 기반 다지기
 CHAPTER 1 좋은 테스트의 약속
  1.1 더 좋은 테스트를 작성하기 위한 현황 점검 = 29
  1.2 테스트의 가치 = 30
   1.2.1 생산성에 영향을 주는 요소 = 34
   1.2.2 설계 잠재력 곡선 = 36
  1.3 설계 수단으로써의 테스트 = 37
   1.3.1 테스트 주도 개발 = 37
   1.3.2 행위 주도 개발 = 39
  1.4 요약 = 41
 CHAPTER 2 좋은 테스트란?
  2.1 읽기 쉬운 코드가 유지보수도 쉽다 = 45
  2.2 구조화가 잘 되어 있다면 이해하기 쉽다 = 47
  2.3 엉뚱한 걸 검사하는 건 좋지 않다 = 50
  2.4 독립적인 테스트는 혼자서도 잘 실행된다 = 51
  2.5 믿음직한 테스트라야 기댈 수 있다 = 54
  2.6 모든 일이 그렇듯 테스트에도 도구가 쓰인다 = 56
  2.7 요약 = 57
 CHAPTER 3 테스트 더블
  3.1 테스트 더블의 위력 = 61
   3.1.1 테스트 대상 코드를 격리한다 = 62
   3.1.2 테스트 속도를 개선한다 = 64
   3.1.3 예측 불가능한 실행 요소를 제거한다 = 64
   3.1.4 특수한 상황을 시뮬레이션한다 = 65
   3.1.5 감춰진 정보를 얻어낸다 = 66
  3.2 테스트 더블의 종류 = 68
   3.2.1 테스트 스텁은 유난히 짧다 = 68
   3.2.2 가짜 객체는 뒤끝 없이 처리한다 = 70
   3.2.3 테스트 스파이는 기밀을 훔친다 = 71
   3.2.4 Mock 객체는 예기치 않은 일을 막아준다 = 74
  3.3 테스트 더블 활용 지침 = 76
   3.3.1 용도에 맞는 더블을 선택하라 = 76
   3.3.2 준비하고, 시작하고, 단언하라 = 77
   3.3.3 구현이 아니라 동작을 확인하라 = 78
   3.3.4 자신의 도구를 선택하라 = 79
   3.3.5 종속 객체를 주입하라 = 80
  3.4 요약 = 81
PART 2 테스트 냄새
 CHAPTER 4 가독성
  4.1 기본 타입 단언 = 87
   4.1.1 예시 = 87
   4.1.2 개선 방법 = 88
   4.1.3 정리 = 90
  4.2 광역 단언 = 91
   4.2.1 예시 = 91
   4.2.2 개선 방법 = 94
   4.2.3 정리 = 96
  4.3 비트 단언 = 96
   4.3.1 예시 = 97
   4.3.2 개선 방법 = 98
   4.3.3 정리 = 98
  4.4 부차적 상세정보 = 99
   4.4.1 예시 = 99
   4.4.2 개선 방법 = 101
   4.4.3 정리 = 103
  4.5 다중 인격 = 103
   4.5.1 예시 = 104
   4.5.2 개선 방법 = 104
   4.5.3 정리 = 108
  4.6 쪼개진 논리 = 108
   4.6.1 예시 = 109
   4.6.2 개선 방법 = 111
   4.6.3 정리 = 114
  4.7 매직 넘버 = 115
   4.7.1 예시 = 115
   4.7.2 개선 방법 = 116
   4.7.3 정리 = 117
  4.8 셋업 설교 = 117
   4.8.1 예시 = 118
   4.8.2 개선 방법 = 119
   4.8.3 정리 = 121
  4.9 과잉보호 테스트 = 121
   4.9.1 예시 = 122
   4.9.2 개선 방법 = 123
   4.9.3 정리 = 123
  4.10 요약 = 123
 CHAPTER 5 유지보수성
  5.1 중복 = 127
   5.1.1 예시 = 127
   5.1.2 개선 방법 = 128
   5.1.3 정리 = 131
  5.2 조건부 로직 = 131
   5.2.1 예시 = 132
   5.2.2 개선 방법 = 133
   5.2.3 정리 = 134
  5.3 양치기 테스트 = 134
   5.3.1 예시 = 135
   5.3.2 개선 방법 = 136
   5.3.3 정리 = 138
  5.4 파손된 파일 경로 = 138
   5.4.1 예시 = 139
   5.4.2 개선 방법 = 140
   5.4.3 정리 = 142
  5.5 끈질긴 임시 파일 = 143
   5.5.1 예시 = 143
   5.5.2 개선 방법 = 144
   5.5.3 정리 = 146
  5.6 잠자는 달팽이 = 147
   5.6.1 예시 = 147
   5.6.2 개선 방법 = 148
   5.6.3 정리 = 150
  5.7 픽셀 퍼펙션 = 151
   5.7.1 예시 = 151
   5.7.2 개선 방법 = 153
   5.7.3 정리 = 157
  5.8 파라미터화된 혼란 = 158
   5.8.1 예시 = 158
   5.8.2 개선 방법 = 162
   5.8.3 정리 = 165
  5.9 메서드 간 응집력 결핍 = 166
   5.9.1 예시 = 166
   5.9.2 개선 방법 = 168
   5.9.3 정리 = 171
  5.10 요약 = 172
 CHAPTER 6 신뢰성
  6.1 주석으로 변한 테스트 = 177
   6.1.1 예시 = 177
   6.1.2 개선 방법 = 178
   6.1.3 정리 = 179
  6.2 오해를 낳는 주석 = 180
   6.2.1 예시 = 180
   6.2.2 개선 방법 = 181
   6.2.3 정리 = 183
  6.3 절대 실패하지 않는 테스트 = 183
   6.3.1 예시 = 184
   6.3.2 개선 방법 = 184
   6.3.3 정리 = 185
  6.4 지키지 못할 약속 = 186
   6.4.1 예시 = 186
   6.4.2 개선 방법 = 189
   6.4.3 정리 = 190
  6.5 낮아진 기대치 = 191
   6.5.1 예시 = 191
   6.5.2 개선 방법 = 193
   6.5.3 정리 = 193
  6.6 플랫폼 편견 = 194
   6.6.1 예시 = 194
   6.6.2 개선 방법 = 195
   6.6.3 정리 = 198
  6.7 조건부 테스트 = 198
   6.7.1 예시 = 199
   6.7.2 개선 방법 = 200
   6.7.3 정리 = 201
  6.8 요약 = 201
PART 3 여흥거리
 CHAPTER 7 테스트 가능 설계
  7.1 테스트 가능 설계란? = 207
   7.1.1 모듈러 설계 = 208
   7.1.2 SOLID 설계 원칙 = 209
   7.1.3 맥락을 고려한 모듈러 설계 = 211
   7.1.4 모듈러 설계를 위한 시운전 = 211
  7.2 테스트 불가 원인 = 212
   7.2.1 클래스 생성 불가 = 212
   7.2.2 메서드 호출 불가 = 213
   7.2.3 결과 확인 불가 = 214
   7.2.4 협력 객체 대체 불가 = 214
   7.2.5 메서드 오버라이딩 불가 = 215
  7.3 테스트 가능 설계를 위한 지침 = 216
   7.3.1 복잡한 private 메서드를 피하라 = 216
   7.3.2 final 메서드를 피하라 = 216
   7.3.3 정적 메서드를 피하라 = 217
   7.3.4 new는 신중하게 사용하라 = 218
   7.3.5 생성자에서는 로직 구현을 피하라 = 219
   7.3.6 싱글톤을 피하라 = 221
   7.3.7 상속보다는 컴포지션을 사용하라 = 223
   7.3.8 외부 라이브러리를 감싸라 = 223
   7.3.9 서비스 호출을 피하라 = 224
  7.4 요약 = 226
 CHAPTER 8 제2의 JVM 언어를 활용한 테스트 작성
  8.1 JVM 언어 혼용의 조건 = 231
   8.1.1 일반적인 이점 = 231
   8.1.2 테스트 작성하기 = 234
  8.2 그루비로 단위 테스트 작성하기 = 235
   8.2.1 간소화된 테스트 셋업 = 236
   8.2.2 그루비로 작성한 JUnit 4 테스트 = 238
  8.3 BDD 도구의 뛰어난 표현력 = 240
   8.3.1 easyb로 작성한 그루비 명세 = 240
   8.3.2 테스트의 표현력을 높여주는 스폭 = 242
   8.3.3 스폭의 또 다른 무기, 테스트 더블 = 244
  8.4 요약 = 246
 CHAPTER 9 테스트 속도 개선
  9.1 속도 개선을 위해서 = 251
   9.1.1 더 빠르게! = 251
   9.1.2 상황 속으로 = 252
   9.1.3 빌드 프로파일링하기 = 252
   9.1.4 테스트 프로파일링하기 = 256
  9.2 테스트 코드 속도 높이기 = 259
   9.2.1 피곤하지 않다면 잠들지 말라 = 260
   9.2.2 덩치 큰 기반 클래스를 경계하라 = 260
   9.2.3 불필요한 셋업과 티어다운을 경계하라 = 263
   9.2.4 테스트에 초대할 손님은 까다롭게 선택하라 = 265
   9.2.5 로컬하게, 그리고 빠르게 유지하라 = 266
   9.2.6 데이터베이스의 유혹을 뿌리쳐라 = 268
   9.2.7 파일 I/O보다 느린 I/O는 없다 = 269
  9.3 빌드 속도 높이기 = 272
   9.3.1 램 디스크를 활용한 초고속 I/O = 273
   9.3.2 빌드 병렬화하기 = 274
   9.3.3 고성능 CPU에 짐 떠넘기기 = 280
   9.3.4 빌드 분산하기 = 283
  9.4 요약 = 288
Appendix(부록)
 Appendix A. JUnit 기초
  A.1 기본적인 JUnit 테스트 케이스 = 293
  A.2 JUnit 단언문 = 295
 Appendix B. JUnit 확장하기
  B.1 러너를 통해 테스트 동작 제어하기 = 301
  B.2 규칙으로 테스트 꾸미기 = 303
  B.3 기본 규칙들 = 303

New Arrivals Books in Related Fields

Ramamurthy, Bina (2021)
윤관식 (2020)