logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

테스트 주도 iOS 애플리케이션 개발

테스트 주도 iOS 애플리케이션 개발

그레이엄 리 (지은이), 김진혁, 배장호 (옮긴이)
  |  
에이콘출판
2013-11-20
  |  
30,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
yes24 로딩중
교보문고 로딩중
영풍문고 로딩중
인터파크 로딩중
11st 로딩중
G마켓 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
로딩중

e-Book

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

테스트 주도 iOS 애플리케이션 개발

책 정보

· 제목 : 테스트 주도 iOS 애플리케이션 개발 
· 분류 : 국내도서 > 컴퓨터/모바일 > 모바일 프로그래밍 > 아이폰/아이패드
· ISBN : 9788960774919
· 쪽수 : 332쪽

책 소개

에이콘 모바일 프로그래밍 시리즈 58권. 처음 요구사항 정의부터 완전히 작동하는 상태까지 테스트 주도 개발 방법론으로 iOS 앱을 한 단계, 한 단계씩 만드는 과정을 설명하면서 테스트 주도 개발에 대한 기본적인 이해도를 높여준다.

목차

1장 소프트웨어 테스트와 단위 테스트
___소프트웨어 테스트의 목적
___소프트웨어 테스트 대상
___소프트웨어 테스트 시기
___테스트의 실제 사례
___단위 테스트가 적합한 곳
___단위 테스트가 iOS 개발자에게 의미하는 점

2장 테스트 주도 개발용 기법
___첫 테스트
___적색, 녹색, 리팩토링
___테스트 주도 앱 설계
___리팩토링
___YAGNI
___코드 작성 전, 작성 중, 작성 후 테스트

3장 단위 테스트의 작성 방법
___요구사항
___알려진 입력값으로 코드 실행
___기대되는 결과
___결과 검증
___좀 더 보기 쉬운 테스트
___다중 테스트 구성
___리팩토링
___요약

4장 테스트용 도구
___엑스코드를 이용한 OCUnit
___OCUnit의 대안
___지속적인 통합
___요약

5장 iOS 앱용 테스트 주도 개발
___제품 목표
___유스 케이스
___공략 계획
___시작

6장 데이터 모델
___주제
___질문
___사람
___다른 클래스에 질문 연결
___응답

7장 애플리케이션 로직
___공격 계획
___Question 생성
___JSON으로부터 질문 생성

8장 네트워킹 코드
___NSURLConnection 클래스 설계
___StackOverflowCommunicator 구현
___요약

9장 뷰 컨트롤러
___클래스 구성
___뷰 컨트롤러 클래스
___TopicTableDataSource와 TopicTableDelegate
___뷰 컨트롤러에게 새로운 뷰 컨트롤러 생성 요청
___질문 목록 데이터 소스
___다음 단계

10장 애플리케이션 완성
___애플리케이션의 작업흐름도 완성
___사용자 아바타 표시
___정리
___제출

11장 테스트 주도 개발에 적합한 설계
___구현이 아닌 인터페이스에 적합한 설계
___TDA
___작고 집중된 클래스와 메소드
___캡슐화
___재사용보다 더 나은 사용
___병행 코드 테스트
___너무 영리한 것
___넓고 얕은 상속 계층 구조 선호
___요약

12장 기존 프로젝트에 테스트 주도 개발 적용
___첫 테스트가 가장 중요하다
___테스트를 지원하는 리팩토링
___리팩토링을 지원하는 테스트
___필요할 때만 테스트 생성

13장 테스트 주도 개발의 미래
___입력과 출력 범위 표현
___동작 주도 개발
___자동 테스트 케이스 생성
___테스트 자동 통과 코드 생성
___요약

찾아보기

저자소개

그레이엄 리 (지은이)    정보 더보기
스스로 만든 코드를 상당히 자신감 있게 생각하는 스마트폰 보안 연구자다. OCUnit과 단위 테스트는 GNUStep 기반의 서버 응용프로그램 테스트를 이끌던 6년 전쯤 처음 접했다. iOS 작업이 주요한 일이 되기 전 그레이엄은 맥 OS X, 넥스트스텝(NeXTSTEP)을 비롯한 다수의 변종 유닉스 관련 응용프로그램을 만들었다. 이 책은 그레이엄이 자신 외의 사람에게 컴퓨팅을 설명하는 방법을 찾으면서 스스로 컴퓨팅을 많이 배우려는 계획에서 출발한 그의 두 번째 책이다. 이 계획에는 전 세계의 학회에서 자주 발표하기, 고향 옥스포드 근처에서 열리는 개발자 모임 참가, 스윈던(Swindon)의 컴퓨팅 박물관에서 자원 봉사활동 등이 포함돼 있다.
펼치기
김진혁 (옮긴이)    정보 더보기
서울대학교 컴퓨터공학과에서 학/석사를 졸업한 후, 삼성전사 메모리사업부에서 근무하며 낸드 플래시 저장장치 제어에 필요한 리눅스 디바이스 드라이버와 자체 내장 펌웨어에 대한 소프트웨어 개발을 했다. 그 이후 창업에 관심이 생겨 스타트업 아이디인큐(현 오픈서베이)에 합류했고 오픈서베이라는 모바일 설문 조사 서비스를 개발했다. 현재는 ADTech 관련 스타트업에 합류해서 서비스를 개발하고 있다. 현재 기존 레거시 시스템으로부터 성공적인 재구조화, ADTech 요구사항을 만족시키기 위해 Reactive System 도입을 시도하며 서비스의 성공을 위해 매진 중이다. 도메인에서 발생하는 기능적/비기능적 요구사항을 정의하고 이를 만족시키기 위한 시스템 구성에 대한 설계에 관심이 많다. 또한 스타트업의 경험으로 인해 성공적인 팀을 위한 인사, 문화, 조직 구성, 리더십에도 깊은 관심을 가지고 있다. 번역서로는 에이콘출판사에서 펴낸 『새로 보는 프로그래밍 언어』(2008), 『테스트 주도 iOS 애플리케이션 개발』(2013)가 있다.
펼치기
배장호 (옮긴이)    정보 더보기
서강대학교 컴퓨터공학과에서 학사와 석사를 마쳤으며 전문연구요원으로 아이큐브를 거쳐 현재 벤처기업 아이디인큐에서 오픈서베이라는 서비스를 개발하고 있다. 아이큐브 재직 당시 HUMAX Remote, WOON, 현재 출시되지 않은 국내외 회사의 RCU App iOS 앱과 국외향 디지털 방송용 안드로이드 앱을 다수 제작했다.
펼치기

책속에서

★ 저자 서문 ★

다른 사람들 앞에서 오브젝티브C의 테스트 주도 개발(TDD, test driven development)을 말하게 된 건 그야말로 우연이었다. 한 학회에서 친구가 TDD를 주제로 발표하기로 했고, 나는 TDD 외의 주제를 발표하기로 했다. 그런데 학회가 있는 주말에 친구의 아내가 쌍둥이를 출산하기로 예정일을 잡아서(나는 그 분야엔 문외한이라, 어떻게 그리 됐는진 모르지만 다들 그렇게 하나 보다) TDD를 발표하지 못하게 됐고, (결국 이 책의 산파역할을 한) 척(Chuck)은 내게 자신이 발표하기로 한 TDD도 발표하는 건 어떻겠냐고 물었다. 이렇게 해서 이 책을 쓰는 1년간의 여정이 시작됐다.

보통 현실은 우리 생각만큼 잘 정돈돼 있지 않다. 사실 나는 수년간 단위 테스트(Unit Test)를 접한 경험이 있다. 전문적인 소프트웨어 개발자가 되기 전에 GNUstep(리눅스와 그 밖의 운영체제에 사용하는 코코아 라이브러리의 무료 소프트웨어 버전)에 기반한 제품을 만드는 회사의 테스터였다. 그때 알기로 단위 테스트는 소프트웨어 제품의 작은 부분이 제대로 동작하는지 확인하는 것이었다. 그래서 소프트웨어의 큰 부분에 통합됐을 때 큰 부분도 잘 작동할지를 알려고 썼던 방법 중 하나였다.

나는 다양한 플랫폼에서 사용 가능한 보안 제품의 맥 이식(porting) 팀에서 소프트웨어 개발자로 일하면서 관련 지식을 처음 접했다(간단히 말하면, 몇 년 전 리스프(LISP) 프로그램 하나를 작성하는 6주짜리 일을 돈을 받고 한 적이 있었다. 때로는 그리 자랑스럽지 않는 일을 하며 살기도 한다). 이 일을 하면서 나는 <프로그래머가 알아야 할 97가지(97 Things Every Programmer Should Know)>의 저자이자 객체지향 프로그래밍 학회의 회원인 케블린 헤니(Kevlin Henny)가 운영하는 TDD 교육과정을 들었다. 이때 코드 작성과 수정을 더욱 자신있게 하는 것이 테스트 주도 기반 개발의 핵심임을 깨달았다. 나는 실수를 하면서 배우고 TDD를 일상적으로 사용하며 어떤 방법이 스스로에게 적합했는지를 알아낼 수 있을 만큼 TDD를 잘 이해하게 됐다. 그로부터 몇 년 후 자기 대신 발표해달라는 척의 요청을 수락할 만큼의 위치에 올랐다.

부디 이 책이 단위 테스트와 테스트 주도 개발로 첫 발걸음부터, 여러분의 일상적인 작업 방식으로 몸에 익을 때까지 내내 도움이 되기를 바란다. 그리고 내가 걸린 5년여의 시간보다 더 짧은 기간 안에 TDD에 익숙해지게 도움을 줄 수 있다면 좋겠다. 지금까지 출간된 책들은 대부분 프레임워크를 작성하고 테스트 과정을 설계하면서 단위 테스트를 다뤘다. 그 책들도 모두 훌륭한 책이지만 코코아터치 개발자에게 특별한 뭔가를 알려주지는 않았다. 이 책에서는 오브젝티브C 언어를 이용한 예제를 보여주고 엑스코드와 관련된 개발 도구를 이용한다. 또한 코코아 용어로 설명함으로써 iOS 개발자에게 테스트 주도 개발의 원칙이 더 친숙하고 유의미한 것이 되도록 노력했다.

기능에 따라 단위 테스트에 사용할 수 있는 개발 도구와 프레임워크는 매우 많다. 비록 이 책에서 이 도구들의 차이점에 대해서 자세히 다루지는 않지만, 적용 가능성 때문에 애플이 엑스코드와 OCUnit 프레임워크에서 제공하는 기능에만 집중하기로 했다. 즉 단위 테스트나 TDD를 시도하는 데 관심이 있는 사람은 누구나 이 책의 지식과 표준 개발 도구와 결정권을 쉽게 활용할 수 있다. 좀 부족하다거나 불만스럽다고 느낀다면 여러분이 스스로 대안을 찾거나 직접 만들어 볼 수도 있을 것이다. 실제로 테스트해야 한다는 것만 꼭 기억하자.

테스트에 미친 개발자가 되려고 노력하는 긴 시간 동안 얻은 교훈 중 하나는, 궁금증을 다른 현역 개발자들에게 거침없이 물어보는 것이었다. 그것이 더 나은 소프트웨어 개발자가 되는 가장 좋은 방법이다. 그 밖에 책을 읽고 찾아냈거나 일반적인 TDD 관련 의견이 있다면 트위터 계정(@iamleeg)을 찾아 주저 없이 이야기 전해주길 바란다.


추천도서

이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책