간편결제, 신용카드 청구할인
삼성카드 6% (25,380원)
(삼성카드 6% 청구할인)
인터파크 롯데카드 5% (25,650원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (18,900원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (21,600원)
(최대할인 4만원 / 2만원 이상 결제)
Close

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

소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 12
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

30,000원

  • 27,000 (10%할인)

    1,500P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 출고완료 후 14일 이내 마이페이지에서 적립받기한 경우만 적립됩니다.
  • 추가혜택
    배송정보
    주문수량
    감소 증가
    • 이벤트/기획전

    • 연관도서(53)

    • 사은품(5)

    출판사 서평

    요약

    처음 요구사항 정의부터 완전히 작동하는 상태까지 테스트 주도 개발 방법론으로 iOS 앱을 한 단계, 한 단계씩 만드는 과정을 설명하면서 테스트 주도 개발에 대한 기본적인 이해도를 높여준다. 앱을 완성하는 단계를 마친 이후 개발을 하고 있는 팀의 고민인 테스트가 없는 기존 프로젝트에 테스트 주도 개발 방법론을 적용하는 방법과 테스트 주도 방법론에 맞게 설계하는 방법, 테스트를 자동으로 만드는 방법 등을 설명한다.

    이 책에서 다루는 내용

    iOS 환경에서 단위 테스트의 목적, 장점, 비용 이해
    테스트 주도 개발(TDD)의 원리를 이해하고, 앱 설계에서 리팩토링까지의 영역에 TDD 적용
    가용성과 가독성이 좋으며 반복 가능한 iOS 단위 테스트 작성
    OCUnit을 사용한 TDD용 엑스코드 프로젝트 설정
    도메인 분석을 이용해 클래스와 앱에 필요한 상호작용 식별, 설계
    iOS 단위 테스트에 사용할 서드파티 도구 고려
    테스트 주도로 네트워크 관련 코드 개발
    사용자와 상호작용하는 뷰 컨트롤러 코드의 테스트 자동화
    구현이 아닌 인터페이스에 설계
    보통 백그라운드로 실행되는 병행 코드 테스트
    기존 앱에 TDD 적용
    행동 주도 개발(BDD) 준비

    목차

    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장 테스트 주도 개발의 미래
    입력과 출력 범위 표현
    동작 주도 개발
    자동 테스트 케이스 생성
    테스트 자동 통과 코드 생성
    요약

    찾아보기

    본문중에서

    다른 사람들 앞에서 오브젝티브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)을 찾아 주저 없이 이야기 전해주길 바란다.
    (/ 저자 서문 중에서)

    최근 가장 주목받고 있는 개발방법론인 테스트 주도 개발(TDD)은 그 관심 정도에 비해 한국에서 실제로 진행 중인 프로젝트 수는 더 적은 듯하다. 예측하건대 이는 실제로 적용하기 힘든 프로젝트 일정, 매니지먼트 팀의 단위 테스트에 대한 이해도 부족, 개발 팀 구성원의 이해도의 차이와 단위 테스트가 없던 기존 프로젝트 탓일 것이다.

    대개 테스트 주도 개발이라 하면 단순히 코드에 단위 테스트를 많이 붙이는 것이라고만 생각한다. 하지만 막상 단위 테스트를 작성하려 하면 각 기능별로 단위 테스트를 작성하기가 그렇게 쉽지는 않다. 이를 잘 적용하기 위해서는 기능을 좀더 작게 만들고 클래스도 한 역할만 하게 설계하는 등 객체 지향 설계의 원칙을 잘 따라야 한다. 따라서 이를 잘 따른다면 명확히 필요한 기능 단위로 코드를 작성하기 때문에 당장 필요하지 않은 기능을 배제한 간결한 시스템을 만들 수 있다. 또한 기능 단위 테스트의 존재로 인해 이후 추가적인 기능 개발을 하면서 기존 구현코드를 변경할 필요가 있을 때 기존 기능이 망가지는 두려움을 줄여주는 부수적인 효과도 있다. 즉 테스트 주도 개발은 단위 테스트의 개수, 적용 범위를 확보하는 표면적인 효과보다는 단위 테스트로 인해 생기는 긍정적인 효과가 더 큰 개발방법론이다.

    이 책의 저자인 그레이엄 리는 처음 요구사항 정의부터 완전히 작동하는 상태까지 테스트 주도 개발 방법론으로 iOS 앱을 한 단계, 한 단계씩 만드는 과정을 설명하면서 테스트 주도 개발에 대한 기본적인 이해를 높여주고 적용하는 방법에 대해 체득하게 해준다. 그러고 난 후 많은 개발자의 고민인 테스트가 없는 기존 프로젝트에서 테스트 주도 개발 방법론을 적용하는 방법을 설명한다. 마지막으로 테스트 주도 방법론에 맞게 설계하는 방법, 테스트를 자동으로 만드는 방법 등을 설명하면서 이 책을 마무리한다.

    그러면 이 책에 나오는 한마디로 글을 마친다. "우선 테스트하라."
    (/ 옮긴이의 말 중에서)

    저자소개

    그레이엄 리(Graham Lee) [저] 신작알림 SMS신청 작가DB보기
    생년월일 -
    출생지 -
    출간도서 0종
    판매수 0권

    스스로 만든 코드를 상당히 자신감 있게 생각하는 스마트폰 보안 연구자다. OCUnit과 단위 테스트는 GNUStep 기반의 서버 응용프로그램 테스트를 이끌던 6년 전쯤 처음 접했다. iOS 작업이 주요한 일이 되기 전 그레이엄은 맥 OS X, 넥스트스텝(NeXTSTEP)을 비롯한 다수의 변종 유닉스 관련 응용프로그램을 만들었다.
    이 책은 그레이엄이 자신 외의 사람에게 컴퓨팅을 설명하는 방법을 찾으면서 스스로 컴퓨팅을 많이 배우려는 계획에서 출발한 그의 두 번째 책이다. 이 계획에는 전 세계의 학회에서 자주 발표하기, 고향 옥스포드 근처에서 열리는 개발자 모임 참가, 스윈

    펼쳐보기
    생년월일 -
    출생지 -
    출간도서 0종
    판매수 0권

    서강대학교 컴퓨터공학과에서 학사와 석사를 마쳤으며 전문연구요원으로 아이큐브를 거쳐 현재 벤처기업 아이디인큐에서 오픈서베이라는 서비스를 개발하고 있다. 아이큐브 재직 당시 HUMAX Remote, WOON, 현재 출시되지 않은 국내외 회사의 RCU App iOS 앱과 국외향 디지털 방송용 안드로이드 앱을 다수 제작했다.

    생년월일 -
    출생지 -
    출간도서 0종
    판매수 0권

    서울대학교 컴퓨터공학과에서 학/석사를 졸업한 후, 삼성전사 메모리사업부에서 근무하며 낸드 플래시 저장장치 제어에 필요한 리눅스 디바이스 드라이버와 자체 내장 펌웨어에 대한 소프트웨어 개발을 했다. 그 이후 창업에 관심이 생겨 스타트업 아이디인큐(현 오픈서베이)에 합류했고 오픈서베이라는 모바일 설문 조사 서비스를 개발했다. 현재는 ADTech 관련 스타트업에 합류해서 서비스를 개발하고 있다. 현재 기존 레거시 시스템으로부터 성공적인 재구조화, ADTech 요구사항을 만족시키기 위해 Reactive System 도입을 시도하며 서비스의 성공을 위해 매진 중이다

    펼쳐보기

    이 상품의 시리즈

    에이콘 모바일 프로그래밍 시리즈(총 65권 / 현재구매 가능도서 54권)

    펼쳐보기

    이 책과 내용이 비슷한 책 ? 내용 유사도란? 이 도서가 가진 내용을 분석하여 기준 도서와 얼마나 많이 유사한 콘텐츠를 많이 가지고 있는가에 대한 비율입니다.

      리뷰

      0.0 (총 0건)

      구매 후 리뷰 작성 시, 북피니언 지수 최대 600점

      리뷰쓰기

      기대평

      작성시 유의사항

      평점
      0/200자
      등록하기

      기대평

      0.0

      교환/환불

      교환/환불 방법

      ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

      교환/환불 가능 기간

      고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

      교환/환불 비용

      고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

      교환/환불 불가사유

      반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
      배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

      소비자 피해보상

      소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
      교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

      기타

      도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

      배송안내

      • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

      • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

      • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

      • 배송비

      도서(중고도서 포함) 구매

      2,000원 (1만원이상 구매 시 무료배송)

      음반/DVD/잡지/만화 구매

      2,000원 (2만원이상 구매 시 무료배송)

      도서와 음반/DVD/잡지/만화/
      중고직배송상품을 함께 구매

      2,000원 (1만원이상 구매 시 무료배송)

      업체직접배송상품 구매

      업체별 상이한 배송비 적용