어려움을 겪고 있는 국내의 수많은 Java 개발자들에게 도움을 주기 위해 집필된 책. 쉽고 체계적인 설명과 다양한 예제를 통해 테스트 주도 개발 방법론을 활용하고 있는 국내 개발자들의 문제를 공유하고 그 해결책을 모색해 볼 수 있을 것이다.
목차
추천사 저자서문 이 책을 어떻게 읽을 것인가? 베타 리더 소개
1 테스트 주도 개발 1.1 흔하디 흔한 소프트웨어 개발 방식 1.2 테스트 주도 개발(TDD) 1.3 테스트 주도 개발의 목표 1.4 테스트 주도 개발의 기원 1.5 개발에 있어 테스트 주도 개발의 위치 1.6 테스트 주도 개발의 진행 방식 1.7 실습 먼저 시작해보기 1.8 TDD의 장점
3 TDD 좀 더 잘하기 3.1 테스트 케이스 클래스의 위치 3.2 테스트 메소드 작성 방식 3.3 테스트 케이스 작성 접근 방식 3.4 TDD의 한계 전문가 인터뷰 변신철
4 한계 돌파를 위한 노력, Mock을 이용한 TDD 4.1 Mock 객체 4.2 Mock에 대한 기본적인 분류 개념, 테스트 더블 4.3 Mock 프레임워크 4.4 Mock 프레임워크 마무리 전문가 인터뷰 황상철
5 데이터베이스 테스트: DbUnit 5.1 DbUnit의 장점 5.2 데이터셋 5.3 DbUnit 데이터셋의 종류 5.4 DbUnit의 DB 지원 기능 5.5 DbUnit과 Ant 5.6 정리 전문가 인터뷰 안영회
6 단위 테스트 지원 라이브러리: Unitils 6.1 Unitils를 사용하기 위한 환경 준비 6.2 Unitils의 단위 테스트 지원 기능들 6.3 Unitils 모듈 6.4 DbUnit과 함께 사용하는 데이터베이스 지원 모듈 6.5 DBMaintainer: DB를 자동으로 유지보수해주는 DB 유지보수 관리자 6.6 기타 지원 모듈들 전문가 인터뷰 박재성
7 개발 영역에 따른 TDD 작성 패턴 7.1 일반적인 애플리케이션 7.2 웹 애플리케이션 7.3 데이터베이스 7.4 안티패턴(anti-pattern), 전통적으로 잘못 인식되어 있는 테스트 메소드의 리팩토링 전문가 인터뷰 이일민
8 TDD에 대한 다양한 시각 8.1 TDD와 소프트웨어 디자인 8.2 TDD 유의사항 8.3 TDD와 리팩토링 8.4 TDD와 짝 프로그래밍 8.5 TDD와 심리학 8.6 TDD를 어렵게 만드는 요인 8.7 행위 주도 개발
9 자주 접하게 되는 질문들, FAQ
10 실습 예제 10.1 자동판매기 잔돈 계산 모듈 10.2 비디오 가게
11 테스트 자동화와 커버리지 11.1 테스트 케이스 수행 자동화: Ant 11.2 테스트 커버리지
부록 A 본 책보다 더 가치 있을 수도 있는 ‘부록’ A.1 놓치기엔 아까운 JUnit 4의 고급 기능들 A.2 스프링으로 JUnit 기능 확장하기 A.3 코드 리뷰 A.4 3분 안에 java DB 설치하고 확인까지 마치기 A.5 TDD에 대한 연구 보고서(테스트 주도 개발을 통한 품질 향상 실체화) A.6 TDD 학습에 도움이 되는 책과 문헌
찾아보기
서가브라우징
자바와 JUnit을 활용한 실용주의 단위 테스트 2019 / 지음: 제프 랭어, 앤디 헌트, 데이브 토마스 ; 옮김: 유동환 / 길벗
풀스택 테스트: 10가지 테스트 기술의 기본 원칙과 전략2023 / 지음: 가야트리 모한; 옮김: 최경현 / 한빛미디어
인공지능 소프트웨어 품질 보증을 위한 테스트 기법 : 예제와 튜토리얼로 익히는 4가지 AI 소프트웨어 테스트 방법 2023 / 지음:사토 나오토 [외] ; 옮김:황석형 / Jpub(제이펍)
웹 애플리케이션 해킹 : 취약점을 이용한 공격과 방어의 기술2012 / 마리오 하이더리히 ; 에두아르도 알베르토 벨라 나바 ; 가레스 헤이즈 ; 데이비드 린지 지음/손형근 ; 손유승 공역 / 비제이퍼블릭(BJ퍼블릭)
소프트웨어 품질관리 실무 가이드 = Software Quality Management Practical Guide : 프로젝트 성공을 이끄는 소프트웨어 품질관리2018 / 지음: 정보통신산업진흥원 ; 비즈피어 컨소시엄 / 프리렉
JUnit in action : 단위테스트의 모든 것2011 / 피터 타치브 ; 펠리페 레미 ; 빈센트 마솔 ; 게리 그레고리 지음 ; 이복연 옮김 / 인사이트
JUnit in action 3판 : TDD를 위한 테스트 원칙, 도구 및 활용 2024 / 지음: 커털린 투도세 ; 옮김: 이동준 / 인사이트
테스트 주도 개발 : 고품질 쾌속개발을 위한 TDD 실천법과 도구2010 / 채수원 지음 / 한빛미디어
단위 테스트: 생산성과 품질을 위한 단위 테스트 원칙과 패턴2021 / 지음: 블라디미르 코리코프 ; 옮김: 임준혁 / Manning
리팩터링: 코드 구조를 체계적으로 개선하여 효율적인 리팩터링 구현하기 2020 / 지은이: 마틴 파울러 ; 옮긴이: 개앞맵시, 남기혁 / 한빛미디어
구글은 소프트웨어를 어떻게 테스트하는가 : 구글의 테스팅 문화와 기법에 관한 인사이드 스토리2013 / 제임스 휘태커, 제이슨 아본, 제프 카롤로 지음 ; 제갈호준, 이주형 옮김 / 에이콘출판
리버싱 이 정도는 알아야지 : 만들고 분석하면서 배우는 악성코드 분석2018 / 지음: 이시우 / BJpublic(비제이퍼블릭)
리버싱 입문 : 따라 하며 자연스레 익히는 어셈블러, 스택, 메모리, 레지스터2016 / 지음: 조성문 / 프리렉
사물인터넷을 품은 아두이노2016 / 지음: 허경용 / Jpub(제이펍)
클린 소프트웨어 : 애자일 원칙과 패턴, 그리고 실천 방법2017 / 지음:로버트 C. 마틴 ; 옮김:이용원 ; .김정민 ; 정지호 / 제이펍
같이 빌린 책
자바를 다루는 기술 = (The) technique of Java programming : 실무에서 알아야 할 기술은 따로 있다2014 / 김병부 지음 / 길벗
(쉽게 따라하는) 자바 웹 개발 : 이클립스, 메이븐, 스프링, 아이바티스, 하이버네이트를 이용한 자바 프로젝트 = Java web development2012 / 백기선 지음 / 인사이트