책 소개
파이썬을 이용한 테스트 주도 개발
이 책은 웹 애플리케이션의 개발 과정 전반을 다룬다. 또한 애플리케이션을 구축하기에 앞서 어떻게 테스트 코드를 작성하고 실행해야 할지를 알려주고, 테스트 코드를 통과하기 위한 최소 기능을 구현하는 방법을 소개한다. 여러분은 이 책을 통해 파이썬 기반의 실습으로 테스트 주도 개발(Test-Driven Development, TDD)이 가진 유용성에 대해 배울 수 있다. 최종적으로는 안정적으로 동작하는 간결한 코드를 작성할 수 있게 될 것이다.
최신 웹 개발 기술뿐만 아니라, Django, 셀레늄(Selenium), git, jQuery, 모크(Mock)에 대한 기본 기술도 배울 수 있다. 여러분이 가진 파이썬 능력을 한 단계 더 높은 수준으로 끌어올리기 원한다면, 이 책이 TDD를 이용한 심플한 설계 방법을 안내해줄 것이며, 이를 위한 자신감도 불어넣어줄 것이다.
이 책에서 다루는 내용
- 단위 테스트 코드 주기 및 리팩터링(Refactoring)을 포함한 TDD 처리 흐름 전반에 대한 학습
- 클래스와 함수를 위한 단위 테스트 및 브라우저상의 사용자 상호작용을 위한 기능 테스트 적용 방법
- 모크(Mock) 객체를 언제 어떻게 사용해야 하는지에 대한 학습과, 통합 및 격리 테스트의 장단점 비교
- 스테이징 서버에서의 테스트 및 배포 자동화 방법
- 사이트에 적용된 외부 플러그인 테스트 방법
- 지속적 통합(Continuous Integration, CI)을 이용한 테스트 자동화 방법
독자 대상
초중급
소스 코드 다운로드
http://bjpublic.webhard.co.kr/ (아이디: webhard, 패스워드: webhard)
이 책의 구성
1부(1장~6장): 기초편
TDD를 이용해서 간단한 웹 애플리케이션을 구축한다. 셀레늄을 기반으로 기능 테스트를 작성하고, 철저한 단위 테스트를 기반으로 하는 Django(모델, 뷰, 템플릿) 기초에 대해 배운다.
2부(7장~14장): 웹 개발 핵심편
웹 개발의 필수 기술에 대해 다루고, 테스트가 어떻게 웹 개발에 도움이 되는지 학습한다. 특히 정적 파일, 배포, 폼 데이터 검증, 데이터베이스 마이그레이션, 자바스크립트 테스트를 중점적으로 다룬다.
3부(15장~20장): 고급편
모킹(Mocking), 외부 인증 시스템 통합, AJAX, 테스트 픽스처(fixtures), TDD 상호작용, 지속적 통합(CI) 등에 대해 다룬다.
출판사 리뷰
이 책의 저자는 해킹을 통해 배운 것부터 소프트웨어 엔지니어로 근무하면서 체험한 실질적인 기술까지, 많은 사람과 공유하기 위한 목적으로 이 책을 집필했다. 테스트를 중심으로 다루고 있지만 테스트 외에도 다양한 기술을 접할 수 있다.
이 책의 목적
이 책의 목적은 보다 나은 웹 애플리케이션과 행복한 개발자를 만들기 위한 웹 개발 방법론을 전달하는 것이다. 인터넷 검색을 통해 쉽게 찾을 수 있는 파이썬 구문이나 웹 개발 방법 등은 이 책에서 다루지 않는다. 대신에 우리의 공통 목표인 “안정적으로 동작하는 깔끔한 코드 작성”을 위한 TDD 사용법에 대해 다룬다.
Django, 셀레늄, jQuery, 모크 등의 툴을 사용한 실제 웹 애플리케이션을 개발해가면서 실용적인 예제 코드들을 다루도록 한다. 이 툴들에 대한 사전지식은 전혀 필요 없다. 이 책을 다 읽어갈 쯤에는 TDD뿐만 아니라 이 툴들에 대한 기본적인 지식도 습득할 수 있을 것이다.
전제조건 및 가정
이 책은 초보자를 대상으로 하고 있지만 프로그래밍 경험이 어느 정도 필요하다. 이 책은 파이썬에 대한 기초적인 지식이 있는 독자를 대상으로 하고 있다. 파이썬에 대한 기초지식이 없다면, 초보자용 파이썬 튜토리얼이나 서적을 먼저 참고하는 것이 좋다. 프로그래밍 경험은 있지만 파이썬이 처음이라면 괜찮다. 파이썬은 이해하기 쉬운 언어이기 때문에 쉽게 따라갈 수 있을 것이다.
이 책에선 파이썬3를 사용한다. 이 책을 쓴 시점(2013~2014년)은, 파이썬3가 출시된 지 몇 해가 지난 시점이다. 파이썬3는 파이썬이 한창 유명해지기 시작한 때에 출시된 버전이다. 이 책의 코드는 맥(Mac), 윈도우, 리눅스 등에서 작업이 가능하다.
추천사
“이 책은 파이썬과 테스트라는 모험의 세계로 우리들을 인도한다. 이 책을 읽으면 즐거울 뿐만 아니라 핵심 정보로 가득 차 있는 것을 발견할 수 있을 것이다. 여러분이 파이썬을 이용한 테스트에 관심이 있거나 Django를 배우고 있는 사람 또는 셀레늄을 사용하기 원하는 사람이라면, 적극적으로 이 책을 추천한다. 테스트는 개발자 정신의 본질이다. 해리는 실 세계에서의 테스트 적용 방법에 대해 연구하고 있으며, 이는 늘 우리의 관심을 사로잡고 있다.”
- 마이클 포드(Michael Foord), 파이썬 핵심 개발자 & 단위 테스트 유지 관리 담당
“이 책은 TDD에 대한 소개 그 이상의 가치가 있다. 완벽한 단계적 실습을 통해 TDD 전반은 물론 파이썬을 이용한 최신 웹 애플리케이션 개발 방법까지 익힐 수 있다.”
- 케네스 레이츠(Kenneth Reitz), PythonSoftware 재단 연구원
“해리의 책은 Django를 배울 때 꼭 있었으면 했던 책이다. 이 책은 Django 및 다양한 테스트 실습을 위한 훌륭한 안내서로, 쉽고 즐겁게 따라 할 수 있는 내용의 책이다.”
- 다니엘과 오드리(Daniel and Audrey Roy GreenFeld), 『Two scoops of Django』의 저자