원표제: Effective unit testing : a guide for Java developers 한국어판 Index: p. 310-316 부록: A. JUnit 기초 ; B. JUNit 확장하기
연계정보
외부기관 원문
목차보기
PART 1 기반 다지기 CHAPTER 1 좋은 테스트의 약속 _1.1 더 좋은 테스트를 작성하기 위한 현황 점검 _1.2 테스트의 가치 __1.2.1 생산성에 영향을 주는 요소 __1.2.2 설계 잠재력 곡선 _1.3 설계 수단으로써의 테스트 __1.3.1 테스트 주도 개발 __1.3.2 행위 주도 개발 _1.4 요약
CHAPTER 2 좋은 테스트란? _2.1 읽기 쉬운 코드가 유지보수도 쉽다 _2.2 구조화가 잘 되어 있다면 이해하기 쉽다 _2.3 엉뚱한 걸 검사하는 건 좋지 않다 _2.4 독립적인 테스트는 혼자서도 잘 실행된다 _2.5 믿음직한 테스트라야 기댈 수 있다 _2.6 모든 일이 그렇듯 테스트에도 도구가 쓰인다 _2.7 요약
CHAPTER 3 테스트 더블 _3.1 테스트 더블의 위력 __3.1.1 테스트 대상 코드를 격리한다 __3.1.2 테스트 속도를 개선한다 __3.1.3 예측 불가능한 실행 요소를 제거한다 __3.1.4 특수한 상황을 시뮬레이션한다 __3.1.5 감춰진 정보를 얻어낸다 _3.2 테스트 더블의 종류 __3.2.1 테스트 스텁은 유난히 짧다 __3.2.2 가짜 객체는 뒤끝 없이 처리한다 __3.2.3 테스트 스파이는 기밀을 훔친다 __3.2.4 Mock 객체는 예기치 않은 일을 막아준다 _3.3 테스트 더블 활용 지침 __3.3.1 용도에 맞는 더블을 선택하라 __3.3.2 준비하고, 시작하고, 단언하라 __3.3.3 구현이 아니라 동작을 확인하라 __3.3.4 자신의 도구를 선택하라 __3.3.5 종속 객체를 주입하라 _3.4 요약
PART 2 테스트 냄새 CHAPTER 4 가독성 _4.1 기본 타입 단언 _4.2 광역 단언 _4.3 비트 단언 _4.4 부차적 상세정보 _4.5 다중 인격 _4.6 쪼개진 논리 _4.7 매직 넘버 _4.8 셋업 설교 _4.9 과잉보호 테스트 _4.10 요약
CHAPTER 5 유지보수성 _5.1 중복 _5.2 조건부 로직 _5.3 양치기 테스트 _5.4 파손된 파일 경로 _5.5 끈질긴 임시 파일 _5.6 잠자는 달팽이 _5.7 픽셀 퍼펙션 _5.8 파라미터화된 혼란 _5.9 메서드 간 응집력 결핍 _5.10 요약
CHAPTER 6 신뢰성 _6.1 주석으로 변한 테스트 _6.2 오해를 낳는 주석 _6.3 절대 실패하지 않는 테스트 _6.4 지키지 못할 약속 _6.5 낮아진 기대치 _6.6 플랫폼 편견 _6.7 조건부 테스트 _6.8 요약
CHAPTER 7 테스트 가능 설계 _7.1 테스트 가능 설계란? __7.1.1 모듈러 설계 __7.1.2 SOLID 설계 원칙 __7.1.3 맥락을 고려한 모듈러 설계 __7.1.4 모듈러 설계를 위한 시운전 _7.2 테스트 불가 원인 __7.2.1 클래스 생성 불가 __7.2.2 메서드 호출 불가 __7.2.3 결과 확인 불가 __7.2.4 협력 객체 대체 불가 __7.2.5 메서드 오버라이딩 불가 _7.3 테스트 가능 설계를 위한 지침 __7.3.1 복잡한 private 메서드를 피하라 __7.3.2 final 메서드를 피하라 __7.3.3 정적 메서드를 피하라 __7.3.4 new는 신중하게 사용하라 __7.3.5 생성자에서는 로직 구현을 피하라 __7.3.6 싱글톤을 피하라 __7.3.7 상속보다는 컴포지션을 사용하라 __7.3.8 외부 라이브러리를 감싸라 __7.3.9 서비스 호출을 피하라 _7.4 요약
CHAPTER 8 제2의 JVM 언어를 활용한 테스트 작성 _8.1 JVM 언어 혼용의 조건 __8.1.1 일반적인 이점 __8.1.2 테스트 작성하기 __8.2 그루비로 단위 테스트 작성하기 __8.2.1 간소화된 테스트 셋업 __8.2.2 그루비로 작성한 JUnit 4 테스트 __8.3 BDD 도구의 뛰어난 표현력 __8.3.1 easyb로 작성한 그루비 명세 __8.3.2 테스트의 표현력을 높여주는 스폭 __8.3.3 스폭의 또 다른 무기, 테스트 더블 _8.4 요약
CHAPTER 9 테스트 속도 개선 _9.1 속도 개선을 위해서 __9.1.1 더 빠르게! __9.1.2 상황 속으로 __9.1.3 빌드 프로파일링하기 _9.1.4 테스트 프로파일링하기 _9.2 테스트 코드 속도 높이기 __9.2.1 피곤하지 않다면 잠들지 말라 __9.2.2 덩치 큰 기반 클래스를 경계하라 __9.2.3 불필요한 셋업과 티어다운을 경계하라 __9.2.4 테스트에 초대할 손님은 까다롭게 선택하라 __9.2.5 로컬하게, 그리고 빠르게 유지하라 __9.2.6 데이터베이스의 유혹을 뿌리쳐라 __9.2.7 파일 I/O보다 느린 I/O는 없다 _9.3 빌드 속도 높이기 __9.3.1 램 디스크를 활용한 초고속 I/O __9.3.2 빌드 병렬화하기 __9.3.3 고성능 CPU에 짐 떠넘기기 __9.3.4 빌드 분산하기 _9.4 요약
Appendix 부록 Appendix A JUnit 기초 _A.1 기본적인 JUnit 테스트 케이스 _A.2 JUnit 단언문
Appendix B JUnit 확장하기 _B.1 러너를 통해 테스트 동작 제어하기 _B.2 규칙으로 테스트 꾸미기 _B.3 기본 규칙들
이용현황보기
Effective unit testing : 개발자를 위한 단위 테스트 : 클린 코드와 좋은 테스트를 이끄는 설계 지침서 이용현황 표 - 등록번호, 청구기호, 권별정보, 자료실, 이용여부로 구성 되어있습니다.
등록번호
청구기호
권별정보
자료실
이용여부
0001893489
005.133 -14-13
서울관 서고(열람신청 후 1층 대출대)
이용가능
0001893490
005.133 -14-13
서울관 서고(열람신청 후 1층 대출대)
이용가능
출판사 책소개
이 책이 제시하는 핵심 내용 테스트 라이브러리 사용법에서 나아가 '좋은 테스트란 무엇인가', '좋은 테스트를 작성하려면 어떻게 해야 하는가'에 관한 현장의 물음에 해답을 제시한다.
이 책의 특징과 장점 (책 소개)
테스트가 갖춰야 할 요건에 따라 나눈 테스트 카탈로그를 제공한다. 따라서 필요할 때마다 원하는 목록을 참고하여 자신이 작성한 테스트에서 문제를 발견하고 수정해 나갈 수 있으며 더욱 응용력 높은 학습을 할 수 있다.
어떤 독자를 위한 책인가? (대상 독자)
-. 테스팅 경험은 있으나 테스트의 품질을 자신할 수 없는 자바 개발자 -. 테스팅에 대한 개념이 아직 명확하지 않은 사람 -. QA 부서에서 직무 교육을 받는 테스터/개발자