본문내용 바로가기
MD의선택 무료배송 이벤트 사은품 소득공제

자바와 JUnit을 활용한 실용주의 단위 테스트 클린 코드의 핵심, 단위 테스트로 소프트웨어 품질을 향상시킨다! | 가치 있는 단위 테스트를 만들자!

제프 랭어 , 앤디 헌트 , 데이브 토마스 지음 | 유동환 옮김 | 길벗 | 2019년 06월 30일 출간
클로버 리뷰쓰기
  • 정가 : 26,000원
    판매가 : 23,400 [10%↓ 2,600원 할인]
  • 통합포인트 :
    [기본적립] 1,300원 적립 [5% 적립] [추가적립] 5만원 이상 구매 시 2천원 추가적립 안내 [회원혜택] 실버등급 이상, 3만원 이상 구매 시 2~4% 추가적립 안내
  • 추가혜택 : 포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 배송일정 : 서울특별시 종로구 세종대로 기준 지역변경
    당일배송 지금 주문하면 오늘(31일,토) 도착 예정 배송일정 안내
  • 바로드림 : 인터넷으로 주문하고 매장에서 직접 수령 안내 바로드림 혜택
    휴일에는 바로드림 픽업으로 더 빨리 받아 보세요. 바로드림 혜택받고 이용하기

이 책의 이벤트 해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.

  • 취업/수험서, 컴퓨터/IT 분야 도서 3만원 이상 구매 시 샤코..
    2020.10.14 ~ 2020.11.30
  • 길벗 스마트 보드 선택(행사도서구매시)
    2020.07.13 ~ 2020.10.31
  • 개발자로 입문하기: 일단 이것부터 읽어보자!
    2019.05.31 ~ 2020.12.31
  • 길벗 IT도서를 한눈에 살펴보세요!
    2017.11.23 ~ 2019.12.31
  • 책을 통해 성장해나가는 개발자를 응원합니다.
    2017.06.22 ~ 2025.07.31
  • MANNING, O'REILLY, PACKT, WILE..
    2016.03.07 ~ 2021.12.31
상품상세정보
ISBN 9791160508383(1160508380)
쪽수 328쪽
크기 152 * 226 * 17 mm /487g 판형알림
원서명/저자명 Pragmatic Unit Testing in Java 8 with Junit/Langr, Jeff

책소개

이 책이 속한 분야

『실용주의 프로그래머』의 앤디 헌트와 데이브 토마스가 알려주는
실용주의 단위 테스트!

클린 코드의 핵심인 단위 테스트, 어디서 어떻게 시작해야 할까? 책에서는 단위 테스트의 개념과 작성 이유부터 테스트 가이드라인, 목 객체 사용법, 자동화된 단위 테스트, 리팩토링까지 단위 테스트의 핵심 내용을 설명한다. 또한, 자바와 JUnit으로 단위 테스트를 단계별로 실습할 수 있게 구성했다. 단위 테스트가 처음이거나, 단위 테스트를 좀 더 깊게 이해하고 싶은 분들에게 추천한다.

상세이미지

자바와 JUnit을 활용한 실용주의 단위 테스트 도서 상세이미지

목차

1부 단위 테스트의 기초

1장 첫 번째 JUnit 테스트 만들기
1.1 단위 테스트를 작성하는 이유
1.2 JUnit의 기본: 첫 번째 테스트 통과
__1.2.1 프로젝트 설정
__1.2.2 JUnit 테스트 좀 더 이해
__1.2.3 JUnit 실행
1.3 테스트 준비, 실행, 단언
1.4 테스트가 정말로 뭔가를 테스트하는가?
1.5 마치며

2장 JUnit 진짜로 써 보기
2.1 테스트 대상 이해: Profile 클래스
2.2 어떤 테스트를 작성할 수 있는지 결정
2.3 단일 경로 커버
2.4 두 번째 테스트 만들기
2.5 @Before 메서드로 테스트 초기화
2.6 이제 어떤가?
2.7 마치며

3장 JUnit 단언 깊게 파기
3.1 JUnit 단언
__3.1.1 assertTrue
__3.1.2 assertThat은 명확한 값을 비교
__3.1.3 중요한 햄크레스트 매처 살펴보기
__3.1.4 부동소수점 수를 두 개 비교
__3.1.5 단언 설명
3.2 예외를 기대하는 세 가지 방법
__3.2.1 단순한 방식: 애너테이션 사용
__3.2.2 옛 방식: try/catch와 fail
__3.2.3 새로운 방식: ExpectedException 규칙
__3.2.4 예외 무시
3.3 마치며

4장 테스트 조직
4.1 AAA로 테스트 일관성 유지
4.2 동작 테스트 vs 메서드 테스트
4.3 테스트와 프로덕션 코드의 관계
__4.3.1 테스트와 프로덕션 코드 분리
__4.3.2 내부 데이터 노출 vs 내부 동작 노출
4.4 집중적인 단일 목적 테스트의 가치
4.5 문서로서의 테스트
__4.5.1 일관성 있는 이름으로 테스트 문서화
__4.5.2 테스트를 의미 있게 만들기
4.6 @Before와 @After (공통 초기화와 정리) 더 알기
__4.6.1 BeforeClass와 AfterClass 애너테이션
4.7 녹색이 좋다: 테스트를 의미 있게 유지
__4.7.1 테스트를 빠르게
__4.7.2 테스트 제외
4.8 마치며

2부 빠른 암기법 습득

5장 좋은 테스트의 FIRST 속성
5.1 FIRST: 좋은 테스트 조건
5.2 [F]IRST: 빠르다
5.3 F[I]RST: 고립시킨다
5.4 FI[R]ST: 좋은 테스트는 반복 가능해야 한다
5.5 FIR[S]T: 스스로 검증 가능하다
5.6 FIRS[T]: 적시에 사용한다
5.7 마치며

6장 Right-BICEP: 무엇을 테스트할 것인가?
6.1 [Right]-BICEP: 결과가 올바른가?
6.2 Right-[B]ICEP: 경계 조건은 맞는가?
6.3 경계 조건에서는 CORRECT를 기억하라
6.4 Right-B[I]CEP: 역 관계를 검사할 수 있는가?
6.5 Right-BI[C]EP: 다른 수단을 활용하여 교차 검사할 수 있는가?
6.6 Right-BIC[E]P: 오류 조건을 강제로 일어나게 할 수 있는가?
6.7 Right-BICE[P]: 성능 조건은 기준에 부합하는가?
6.8 마치며

7장 경계 조건: CORRECT 기억법
7.1 [C]ORRECT: [C]onformance(준수)
7.2 C[O]RRECT: [O]rdering(순서)
7.3 CO[R]RECT: [R]ange(범위)
__7.3.1 불변성을 검사하는 사용자 정의 매처 생성
__7.3.2 불변 메서드를 내장하여 범위 테스트
7.4 COR[R]ECT: [R]eference(참조)
7.5 CORR[E]CT: [E]xistence(존재)
7.6 CORRE[C]T: [C]ardinality(기수)
7.7 CORREC[T]: [T]ime(시간)
7.8 마치며

3부 더 큰 설계 그림

8장 깔끔한 코드로 리팩토링하기
8.1 작은 리팩토링
__8.1.1 리팩토링의 기회
__8.1.2 메서드 추출: 두 번째로 중요한 리팩토링 친구
8.2 메서드를 위한 더 좋은 집 찾기
8.3 자동 및 수동 리팩토링
8.4 과한 리팩토링?
__8.4.1 보상: 명확하고 테스트 가능한 단위들
__8.4.2 성능 염려: 그러지 않아도 된다
8.5 마치며

9장 더 큰 설계 문제
9.1 Profile 클래스와 SRP
9.2 새로운 클래스 추출
9.3 명령-질의 분리
9.4 단위 테스트의 유지 보수 비용
__9.4.1 자신을 보호하는 방법
__9.4.2 깨진 테스트 고치기
9.5 다른 설계에 관한 생각들
9.6 마치며

10장 목 객체 사용
10.1 테스트 도전 과제
10.2 번거로운 동작을 스텁으로 대체
10.3 테스트를 지원하기 위한 설계 변경
10.4 스텁에 지능 더하기: 인자 검증
10.5 목 도구를 사용하여 테스트 단순화
10.6 마지막 하나의 단순화: 주입 도구 소개
10.7 목을 올바르게 사용할 때 중요한 것
10.8 마치며

11장 테스트 리팩토링
11.1 이해 검색
11.2 테스트 냄새: 불필요한 테스트 코드
11.3 테스트 냄새: 추상화 누락
11.4 테스트 냄새: 부적절한 정보
11.5 테스트 냄새: 부푼 생성
11.6 테스트 냄새: 다수의 단언
11.7 테스트 냄새: 테스트와 무관한 세부 사항들
11.8 테스트 냄새: 잘못된 조직
11.9 테스트 냄새: 암시적 의미
11.10 새로운 테스트 추가
11.11 마치며

4부 더 큰 단위 테스트 그림

12장 테스트 주도 개발
12.1 TDD의 주된 이익
12.2 단순하게 시작
12.3 또 다른 증분 추가
12.4 테스트 정리
12.5 또 다른 작은 증분
12.6 다수의 응답 지원: 작은 설계 우회로
12.7 인터페이스 확장
12.8 마지막 테스트들
12.9 문서로서의 테스트
12.10 TDD의 리듬
12.11 마치며

13장 까다로운 테스트
13.1 멀티스레드 코드 테스트
__13.1.1 단순하고 똑똑하게 유지
__13.1.2 모든 매칭 찾기
__13.1.3 애플리케이션 로직 추출
__13.1.4 스레드 로직의 테스트 지원을 위해 재설계
__13.1.5 스레드 로직을 위한 테스트 작성
13.2 데이터베이스 테스트
__13.2.1 고마워, Controller
__13.2.2 데이터 문제
__13.2.3 클린 룸 데이터베이스 테스트
__13.2.4 controller를 목 처리
13.3 마치며

14장 프로젝트에서 테스트
14.1 빠른 도입
14.2 팀과 같은 편 되기
__14.2.1 단위 테스트 표준 만들기
__14.2.2 리뷰로 표준 준수 높이기
__14.2.3 짝 프로그래밍을 이용한 리뷰
14.3 지속적 통합으로 수렴
14.4 코드 커버리지
__14.4.1 커버리지는 어느 정도여야 하는가?
__14.4.2 100% 커버리지는 진짜 좋은가?
__14.4.3 코드 커버리지의 가치
14.5 마치며

부록 A 인텔리제이 IDEA와 넷빈즈에서 JUnit 설정
A.1 인텔리제이 IDEA
A.2 넷빈즈

책 속으로

데이브 토마스와 나(앤디 헌트)는 『실용주의 프로그래머』와 『프로그래밍 루비』의 첫 판을 쓰고 나서 얼마 후에 현대 소프트웨어 개발자의 가장 기본적인 요구로 관심을 돌렸습니다.
이러한 생각은 『실용주의 프로그래머를 위한 시작 도구』에 이르렀습니다. 이 도서 세 권에는 팀에서 가장 근본적으로 필요한 요소들을 담았으며, 버전 관리, 단위 테스트 및 자동화된 빌드와 테스트를 다룹니다. 이 도서들은 우리가 ‘The Pragmatic Bookshelf(실용주의 책장)’를 설립한 후 출판한 첫 번째 시리즈입니다.
제프 랭어는 우리의 책을... 더보기

출판사 서평

클린 코드의 핵심,
단위 테스트로 소프트웨어 품질을 향상시키자!

단위 테스트는 코드의 특정 모듈이 의도한대로 정확히 작동하는지 검증하는 절차다. 이를 통해 코드를 변경했을 때 문제가 생기더라도 단시간에 이를 파악하고 바로 잡을 수 있다. 즉, 단위 테스트는 소프트웨어의 품질을 보증하고 생산성을 향상시키는 것이 목표다. 그렇다면 단위 테스트는 어떻게 작성해야 할까? 책에서는 단위 테스트 작성 이유부터 테스트 가이드라인, 목 객체 사용법, 자동화된 단위 테스트, 리팩토링까지 단위 테스트의 핵심 내용을 설명한다. 또한, 단위 테스... 더보기

Klover 리뷰 (0)

북로그 리뷰 (0) 쓰러가기

도서 구매 후 리뷰를 작성하시면
결제 90일 이내 300원, 발송 후 5일 이내 400원, 이 상품의 첫 리뷰 500원의 포인트를 드립니다.

포인트는 작성 후 다음 날 적립되며, 도서 발송 전 작성 시에는 발송 후 익일에 적립됩니다.
북로그 리뷰는 본인인증을 거친 회원만 작성 가능합니다.
(※ 외서/eBook/음반/DVD/GIFT 및 잡지 상품 제외) 안내
  • 해당도서의 리뷰가 없습니다.

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매도서의 문장수집을 기록하면 통합포인트 적립 안내

교환/반품/품절안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품/품절안내
반품/교환방법 마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환신청 ,
[1:1상담>반품/교환/환불] 또는 고객센터 (1544-1900)

※ 오픈마켓, 해외배송주문, 기프트 주문시 [1:1상담>반품/교환/환불]
    또는 고객센터 (1544-1900)
반품/교환가능 기간 변심반품의 경우 수령 후 7일 이내,
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에
    해당되는 경우
(1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시 ‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①서양도서-판매정가의 12%, ②일본도서-판매정가의 7%를 적용)
상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는
이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
    소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
    소비자 보호에 관한 법률에 따라 처리함

이 책의 원서

안내

바로가기

  • 우측 확장형 배너 2
  • 우측 확장형 배너 2

최근 본 상품