본문 바로가기

추천 검색어

실시간 인기 검색어

테스트 주도 개발로 배우는

객체 지향 설계와 실천

인사이트

2026년 02월 05일 출간

국내도서 : 2013년 06월 20일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 PDF (12.33MB)   |  433 쪽
ISBN 9788966260843
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.

PDF 필기가능 (Android, iOS)
소득공제
소장
정가 : 22,000원

쿠폰적용가 19,800

10% 할인 | 5%P 적립

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

카드&결제 혜택

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
  • 리뷰 작성 시, e교환권 추가 최대 200원

작품소개

이 상품이 속한 분야

테스트 주도 개발로 배우는 『객체 지향 설계와 실천』. 소프트웨어 개발의 여러 층위에서 TDD가 어떻게 작동하는지 보여주면서 테스트로 코드를 객체 지향적으로 구성하고 객체 간 관계를 설명하는 방법을 제시함으로써 TDD를 사용하는 팀이 실제 개발 프로젝트에서 부딪힐 법한 문제를 체계적으로 풀어낸다. TDD를 효과적으로 구현하는 법, 더 깔끔하고 유지 보수하기 좋은 코드를 만드는 법 등을 다룬다.
옮긴이의 글 XII
추천의 글 XIII
지은이의 글 XIV
감사의 글 XVIII

<b>1부 서론 1</b>
1장 테스트 주도 개발의 핵심은 무엇인가? 3
1.1 학습 과정으로서의 소프트웨어 개발 3
1.2 피드백은 가장 기본적인 도구다 4
1.3 변화를 돕는 실천법 5
1.4 테스트 주도 개발 간단 정리 6
1.5 좀 더 큰 그림 8
1.6 전 구간 테스트 9
1.7 테스트의 수준 11
1.8 외부 품질과 내부 품질 12

2장 객체를 활용한 테스트 주도 개발 15
2.1 객체망 15
2.2 값과 객체 16
2.3 메시지를 따르라 17
2.4 묻지 말고 말하라 19
2.5 그래도 가끔은 물어라 20
2.6 협력 객체의 단위 테스트 21
2.7 목 객체를 활용한 TDD 지원 22

3장 도구 소개 25
3.1 이미 아는 내용이라면 넘어가도 좋다 25
3.2 간략한 JUnit 4 소개 25
3.3 햄크레스트 매처와 assertThat() 29
3.4 jMock2: 목 객체 30

<b>2부 테스트 주도 개발 과정 35</b>
4장 테스트 주도 주기 시작 37
4.1 우선 동작하는 골격을 대상으로 테스트하라 38
4.2 동작하는 골격의 외형 결정 40
4.3 피드백 소스 구축 42
4.4 불확실성은 일찍 드러내라 43

5장 테스트 주도 개발 주기의 유지 47
5.1 각 기능을 인수 테스트로 시작하라 47
5.2 회귀를 포착하는 테스트와 진행 상황을 측정하는 테스트를 분리하라 49
5.3 테스트를 가장 간단한 성공 케이스로 시작하라 49
5.4 읽고 싶어 할 테스트를 작성하라 50
5.5 테스트가 실패하는 것을 지켜보라 51
5.6 입력에서 출력 순서로 개발하라 52
5.7 메서드가 아닌 행위를 단위 테스트하라 52
5.8 테스트에 귀를 기울이라 54
5.9 주기의 미세 조정 55

6장 객체 지향 스타일 57
6.1 유지 보수성을 고려한 설계 58
6.2 내부 대 이웃 61
6.3 단일 책임 원칙 62
6.4 객체 이웃의 유형 63
6.5 전체는 부분의 합보다 단순해야 한다 65
6.6 콘텍스트 독립성 66
6.7 올바른 정보 감추기 67
6.8 우리 견해가 반영된 관점 68

7장 객체 지향 설계의 달성 69
7.1 테스트를 먼저 작성하는 것이 설계에 어떻게 도움이 되는가 69
7.2 분류보다 의사소통 70
7.3 값 타입 71
7.4 객체는 어디에서 오는가? 73
7.5 인터페이스로 관계를 식별하라 76
7.6 인터페이스도 리팩터링하라 77
7.7 객체를 구성해 시스템의 행위를 기술하라 78
7.8 고수준 프로그래밍을 위한 대비 79
7.9 그럼 클래스는? 81

8장 서드 파티 코드를 기반으로 한 개발 83
8.1 소유한 타입에 대해서만 목 객체를 적용하라 83
8.2 통합 테스트에서 애플리케이션 객체에 목 객체를 적용하라 86

<b>3부 동작하는 예제 87</b>
9장 경매 스나이퍼 개발 의뢰 89
9.1 맨 처음부터 시작하기 89
9.2 경매와의 상호 작용 92
9.3 안전하게 진행하기 94
9.4 이건 진짜가 아니야 96

10장 동작하는 골격 99
10.1 골격 사용 준비 99
10.2 최초 테스트 100
10.3 몇 가지 초기 선택 103

11장 첫 테스트 통과하기 107
11.1 테스트 도구 구축 107
11.2 테스트 실패와 통과 114
11.3 필요한 최소한의 것 122
12장 입찰 준비 125
12.1 시장 소개 125
12.2 입찰 테스트 126
12.3 AuctionMessageTranslator 133
12.4 가격 메시지 분석 139
12.5 마무리 143

13장 스나이퍼가 입찰하다 145
13.1 AuctionSniper 도입 145
13.2 입찰 전송 148
13.3 구현 정리 154
13.4 결정을 미루라 158
13.5 창발적 설계 159

14장 스나이퍼가 경매에서 낙찰하다 161
14.1 우선 실패하는 테스트를 작성한다 161
14.2 누가 입찰자에 대해 알고 있는가? 162
14.3 스나이퍼는 할 말이 더 있다 165
14.4 스나이퍼가 일부 상태를 획득하다 166
14.5 스나이퍼가 낙찰하다 169
14.6 꾸준하게 진행하기 171

15장 실제 사용자 인터페이스를 향해 173
15.1 좀 더 현실적인 구현 173
15.2 가격 세부 사항 표시 176
15.3 스나이퍼 이벤트의 단순화 184
15.4 완수 189
15.5 마지막 손질 194
15.6 고찰 197

16장 여러 품목에 대한 스나이핑 201
16.1 여러 품목에 대한 테스트 201
16.2 사용자 인터페이스를 통한 항목 추가 210
16.3 고찰 217

17장 Main 분석 219
17.1 역할 찾기 219
17.2 채팅 추출 220
17.3 연결 추출 224
17.4 SnipersTableModel 추출 225
17.5 고찰 230

18장 세부 사항 처리 235
18.1 좀 더 유용한 애플리케이션 235
18.2 충분할 때 멈추라 236
18.3 고찰 243

19장 실패 처리 247
19.1 뭔가 제대로 동작하지 않는다면? 247
19.2 실패 감지 249
19.3 실패 보여주기 251
19.4 스나이퍼 연결 끊기 252
19.5 실패 기록 254
19.6 고찰 259

<b>4부 지속 가능한 테스트 주도 개발 261</b>
20장 테스트에 귀 기울이기 263
20.1 대체할 수 없는 객체에 대해 목 객체를 적용해야 한다(마법을 쓰지 않고) 264
20.2 로깅은 기능이다 268
20.3 구상 클래스에 대한 목 객체 적용 271
20.4 값에 목 객체를 적용하지 말라 273
20.5 비대한 생성자 274
20.6 혼동되는 객체 277
20.7 너무 많은 의존성 278
20.8 너무 많은 예상 구문 279
20.9 테스트가 우리에게 말해주는 것(여러분이 귀 기울인다면) 281

21장 테스트 가독성 285
21.1 테스트 이름은 기능을 기술한다 286
21.2 정규 테스트 구조 289
21.3 테스트 코드의 능률화 291
21.4 단정과 예상 구문 294
21.5 리터럴과 변수 295
22장 복잡한 테스트 데이터 만들기 297
22.1 테스트 데이터 빌더 298
22.2 비슷한 객체 생성 300
22.3 빌더 조합 301
22.4 팩터리 메서드를 이용한 도메인 모델 강조 302
22.5 사용 시점에서 중복 없애기 303
22.6 의사소통이 우선이다 305

23장 테스트 진단 307
23.1 실패하는 설계 307
23.2 작고, 문제에 집중하고, 이름을 잘 지은 테스트 308
23.3 설명력 있는 단정 메시지 308
23.4 매처를 활용한 세부 사항 강조 309
23.5 자기 서술적인 값 309
23.6 명확하게 가공된 값 310
23.7 추적자 객체 311
23.8 예상이 충족됐음을 명시적으로 단정하라 312
23.9 진단은 일급 기능이다 312

24장 테스트 유연성 315
24.1 표현이 아닌 정보를 위한 테스트 316
24.2 정확한 단정 318
24.3 정확한 예상 구문 320
24.4 ‘실험용 쥐’ 객체 328

<b>5부 고급 주제 331</b>
25장 영속성 테스트 333
25.1 들어가며 333
25.2 영속화 상태에 영향을 주는 테스트 격리 335
25.3 테스트 트랜잭션 경계를 명시적으로 만들기 336
25.4 영속성 연산을 수행하는 객체에 대한 테스트 339
25.5 영속화 가능한 객체 테스트하기 342
25.6 하지만 데이터베이스는 느리다! 346

26장 단위 테스트와 스레드 347
26.1 기능과 동시성 정책의 분리 348
26.2 동기화에 대한 단위 테스트 353
26.3 수동적인 객체에 대한 부하 테스트 358
26.4 백그라운드 스레드를 이용한 테스트 스레드 동기화 359
26.5 단위 부하 테스트의 한계 361

27장 비동기 코드 테스트 363
27.1 샘플링 또는 대기 364
27.2 두 가지 구현 367
27.3 제어하기 어려운 테스트 372
27.4 갱신 내역 분실 373
27.5 아무런 효과가 없는 행동에 대한 테스트 375
27.6 동기화와 단정 구별 376
27.7 이벤트 소스의 외부화 376

후기 목 객체의 간략한 역사 379
부록 A jMock2 정리 노트 385
부록 B 햄크레스트 매처 작성 395

참고 문헌 398
찾아보기 402

.

<b>“TDD로 좀 더 탄탄한 객체 지향 개발을 이끄는 안내서”</b>

테스트 주도 개발은 코드를 짜기 전에 테스트를 먼저 만들라는 단순한 아이디어에서 출발하지만 개발자의 숙련된 기술과 판단이 필요하다. 이 책은 소프트웨어 개발의 여러 층위에서 TDD가 어떻게 작동하는지 보여주면서 테스트로 코드를 객체 지향적으로 구성하고 기능을 구현하며 목 객체로 객체 간 관계를 설명하는 방법을 제시함으로써 TDD를 사용하는 팀이 실제 개발 프로젝트에서 부딪힐 법한 문제를 체계적으로 풀어가는 가이드를 제안한다.

<b>이 책에서 다루는 내용:</b>
* TDD를 효과적으로 구현하는 법
* 더 깔끔하고 유지 보수하기 좋은 코드를 만드는 법
* 테스트로 지속 가능한 품질 유지하기
* 실제 개발 프로젝트에서 TDD, 목 객체, 객체 지향 설계를 함께 활용하는 법 이해하기
* 목 객체로 객체 지향 설계 가이드하기
* TDD 중 부딪히는 난관 해결하기

인물정보

저자 스티브 프리먼은 애자일 소프트웨어 개발을 전문으로 하는 독립 컨설턴트다. 영국 내 애자일 소프트웨어 개발의 선구자이자 ISP나 은행 등 기업용 애플리케이션을 구축했다. 연구소에서 일하기도 했고 대학에서 가르치기도 했으며 런던 XpDday 조직자였다. jMock과 nMock 라이브러리 개발자다.

저자(글) 냇 프라이스

저자 냇 프라이스는 소프트웨어 설계와 개발 프로세스를 전문으로 하는 독립 컨설턴트다. 임페리얼 칼리지의 리서치 펠로우이기도 하다. jMock과 nMock 라이브러리 개발자다.

역자 이대엽은 책 만드는 일을 하고 있으며 이따금 IT 관련 서적을 번역하기도 한다. 옮긴 책으로 『자바스크립트 개론』, 『모듈라 자바』, 『시작하세요! 맥 OS X 라이언』, 『도메인 주도 설계』, 『하이버네이트 완벽 가이드』, 『개념을 잡아주는 프로그래밍 정석』 등이 있다.

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 5,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다. (2024년 9월 30일부터 적용)
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

구매 후 리뷰 작성 시, e교환권 100원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 5,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다. (2024년 9월 30일부터 적용)
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    객체 지향 설계와 실천 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    객체 지향 설계와 실천 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    테스트 주도 개발로 배우는 객체 지향 설계와 실천
    저자 모두보기
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글바이액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글바이액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)