Top

Android Application Testing Guide 한국어판 [안드로이드 애플리케이션 테스팅 가이드]

  • 원서명Android Application Testing Guide (ISBN 9781849513500)
  • 지은이디에고 토레스 밀라노
  • 옮긴이현수명
  • ISBN : 9788960772878
  • 30,000원
  • 2012년 03월 30일 펴냄
  • 페이퍼백 | 356쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 모바일 프로그래밍, 소프트웨어 테스팅

책 소개

안드로이드 애플리케이션 개발자를 위한 친절한 테스팅 가이드

테스트를 작성하면서 안드로이드 애플리케이션을 개발할 수 있는 실용적인 방법을 소개한다. 테스트 주도 개발 방식으로 안드로이드 애플리케이션을 만들어 보고 안드로이드 테스트 프레임워크를 활용해서 UI 테스트는 물론 성능 테스트까지 다양한 상황에 대한 테스트를 실용적인 예제로 설명한다. 빌드 자동화와 테스트 자동화를 통해 지속적인 통합을 적용해보고 코드 커버리지까지 측정해본다. 이 책을 통해 테스트 코드를 작성하면서 얻게 되는 효율성을 충분히 느낄 수 있을 것이다.


[ 소개 ]

안드로이드 구조를 분석하는 데 아무리 오랜 시간을 들이고 프로그램을 작성할 때 많은 주의를 기울인다 해도 실수와 버그는 발생하게 마련이다. 이 책은 여러분이 안드로이드 프로젝트를 개발할 때 접할 수 있는 오류를 줄여주고 개발 생산성도 향상시켜 줄 것이다. 또한 손쉽게 문제를 회피하는 방법을 보여줌으로써 좀 더 빨리 테스팅 단계로 넘어갈 수 있도록 도와줄 것이다.

『Android Application Testing Guide 한국어판』은 안드로이드 애플리케이션 개발 시 유용하게 쓸 수 있는 각종 실용 기술, 프레임워크, 도구를 망라해 소개하는 유일한 책이다. 애플리케이션 테스트를 어떻게 작성하는지 단계별로 설명하고 품질을 제어하는 다양한 방법도 함께 다룬다.


[ 이 책에서 다루는 내용 ]

■ 안드로이드 애플리케이션을 효율적으로 개발하기 위한 테스팅 기술 적용과 도구 활용
■ 단위 테스트와 기능 테스트의 차이점을 알아보고 안드로이드 프로젝트에 적용
■ 테스팅 기술을 경험해보기 위한 샘플 안드로이드 테스트 프로젝트 생성
■ 테스트 주도 개발과 행위 주도 개발 등의 개발 방법론
■ 안드로이드 애플리케이션을 구성하는 액티비티, 컨텐트 제공자, 서비스 등의 컴포넌트 테스트
■ 최상의 애플리케이션 품질 관리를 위한 지속적인 통합 기술 적용
■ 성능 테스트 결과 분석을 통한 애플리케이션 성능 개선
■ 안드로이드 소스를 빌드해서 EMMA 코드 커버리지를 측정한 뒤 여러분의 코드가 얼마나 테스트되고 있는지 분석해보고 로보티움과 로보렉트릭으로 테스트 작성


[ 이 책의 대상 독자 ]

안드로이드 개발자로서 안드로이드 애플리케이션을 테스트하고 싶거나 애플리케이션 개발 과정의 최적화를 원하는가? 그렇다면 바로 당신을 위한 책이다. 애플리케이션 테스팅에 관한 사전지식은 없어도 괜찮다.


[ 이 책의 구성 ]

1장. ‘테스트’에서는 테스트의 여러 종류와 테스트가 일반적인 소프트웨어 개발 프로젝트, 특히 안드로이드에 어떻게 적용되는지 설명한다.

2장. ‘안드로이드 테스트’에서는 안드로이드 플랫폼상의 테스트와 단위 테스트, JUnit을 살펴보고 안드로이드 테스트 프로젝트의 생성과 실행을 살펴본다.
3장. ‘안드로이드 SDK의 기본 구성요소’에서는 테스트를 작성하는 데 필요한 기본 구성요소를 자세히 살펴보고 단언문, TouchUtils, 사용자 인터페이스 테스트, 목 객체, 측정, 테스트 케이스 클래스 계층구조 등을 살펴본다.

4장. ‘테스트 주도 개발’에서는 테스트 주도 개발의 원칙을 예제 코드 위주로 살펴보고 일반적인 프로젝트에 적용해본 다음 안드로이드 플랫폼으로 개념을 확장해본다.

5장. ‘안드로이드 테스트 환경’에서는 테스트를 실행할 수 있는 다양한 환경을 살펴본다. 안드로이드 가상 장치(AVD, Android Virtual Devices)를 생성해보고 환경설정을 통해 다양한 조건으로 애플리케이션을 테스트해본다. 마지막으로 테스트에 사용하는 이벤트를 생성하는 방법인 멍키(monkey)에 대해서도 살펴본다.

6장. ‘행위 주도 개발’에서는 행위 주도 개발을 소개하고 테스트를 공통된 용어로 표현함으로써 비즈니스 인력들도 소프트웨어 개발 과정에 참여할 수 있는 개념을 소개한다.

7장. ‘테스트 레시피’에서는 지금까지 설명했던 원칙과 기법을 적용하면서 만날 수 있는 갖가지 상황을 실제 예제를 통해 설명한다. 쿡북(cookbook) 스타일로 예제가 구성돼있으므로 필요한 부분만 찾아서 사용할 수 있을 것이다. 안드로이드 단위 테스트, 액티비티, 애플리케이션, 데이터베이스, 콘텐트 제공자, 로컬과 원격 서비스, UI, 예외, 파서, 메모리 누수 등의 주제를 다룬다.

8장. ‘지속적인 통합’에서는 소프트웨어 공학의 애자일 기법 중 하나인 변경을 계속 적용해서 통합시간을 줄이고 테스트를 더 자주 실행해 소프트웨어의 질을 높이고 개발시간을 줄일 수 있는 방법을 소개한다.

9장. ‘성능 테스팅과 프로파일링’에서는 전통적인 로깅 메소드에서부터 프로파일링 도구로 안드로이드 성능 측정 테스트를 작성하는 부분까지 살펴보고 성능 측정과 프로파일에 대해 살펴본다.

10장. ‘테스트 전략’에서는 안드로이드 소스를 빌드하는 방법과 엠마(EMMA)를 이용한 코드 커버리지 측정, 로보티움(Robotium), 호스트에서 테스트하는 방법, 로보렉트릭(Robolectric) 등을 살펴본다.

저자/역자 소개

[ 저자 서문 ]

많은 시간을 들여 안드로이드 구조를 분석하고 프로그램을 작성할 때 많은 주의를 기울인다 해도 실수와 버그는 발생하게 마련이다. 이 책은 여러분이 안드로이드 프로젝트를 작성할 때 접할 수 있는 오류를 줄여주고 개발 생산성도 향상시켜 줄 것이다. 또한 문제를 어렵지 않게 회피함으로써 좀 더 빨리 테스팅 단계로 넘어갈 수 있도록 도와줄 것이다.

『Android Application Testing Guide 한국어판』은 안드로이드 애플리케이션 개발시 유용하게 쓸 수 있는 각종 실용 기술, 프레임워크, 도구를 망라해 소개하는 유일한 책이다. 애플리케이션 테스트를 어떻게 작성하는지 단계별로 설명하고 품질을 제어하는 다양한 방법도 함께 다룬다.

애플리케이션 테스팅 기법을 실제 프로젝트에 적용해본 저자의 경험과 통찰은 여러분이 전문적인 안드로이드 애플리케이션 작성하는 데 큰 도움을 줄 것이다.

이 책은 소프트웨어 개발 과정에서 버그를 빨리 찾을 수 있는 애자일 기법 중 하나인 ‘테스트 주도 개발’을 소개하면서 시작한다. 그리고 샘플 프로젝트에 적용하는 기본적인 단위 테스트부터 복잡한 성능 테스트에 이르기까지 안드로이드 테스팅의 다양한 테스트 기법을 요리책처럼 레시피 방식으로 자세히 설명한다.

다양한 소프트웨어 개발 프로젝트를 경험했으며 이러한 경험과 지식을 바탕으로 이 책을 집필했다. 따라서 안드로이드 테스팅의 세계를 탐험하려는 개발자는 이 책을 통해 유용한 통찰을 얻을 수 있을 것이다.


[ 저자 소개 ]

디에고 토레스 밀라노 (Diego Torres Milano)
안드로이드가 세상에 나오기 시작한 2007년 말부터 안드로이드 플랫폼을 분석했으며 주로 사용자 인터페이스 분야에서 단위 테스트, 인수 테스트, 테스트 주도 개발을 플랫폼에 적용할 수 있는 방법을 연구해왔다.
이 책은 저자의 블로그(http://dtmilano.blogspot.com) 글과 다양한 학회에 강사로 활동한 그의 경험을 모아 엮은 책이다. 저자는 네덜란드의 암스테르담 모바일 데브 캠프 2008, 도쿄에서 열린 일본 리눅스 심포지엄 2009, 드로이드컨(Droidcon) 런던 2009, 런던 스킬스매터(Skillsmatter) 2009와 같은 여러 컨퍼런스에서 강사로 활동하고 유럽의 다양한 회사에서 안드로이드 교육을 진행했다.
그 전에는 여러 오픈 소스 프로젝트의 파운더(founder)이자 개발자로 참여했으며 주로 CULT Universal Linux Thin 프로젝트(cult-thinclient.sf.net)와 매우 유명한 PXES Universal Linux Thin Client 프로젝트(나중에 2X 소프트웨어(www.2x.com)가 인수)에 참가했다. PXES는 리눅스 기반 운영체제로 전 세계 수백에서 수천 명이 사용하는 가벼운 클라이언트에 특화된 운영체제다. 이 프로젝트는 2005년 소스포지(SourceForge)에서 방문자수 3,500만과 40만 건의 다운로드 등 큰 인기를 끌었으며 두 가지 큰 성과를 보였다. 유럽의 큰 회사들이 향상된 보안과 효율성을 인정했으며, 최소한의 하드웨어로 모든 사람에게 컴퓨터를 제공할 수 있는 강력한 점 때문에 미국, 아프리카, 아시아의 조직•기관•학교들도 이 프로젝트를 선택했던 것이다.
Autoglade, Gnome-tla, JGlade와 같은 오픈 소스 프로젝트에도 참여했으며 레드햇, 페도라, 우분투 등 다양한 리눅스 버전에도 기여해왔다.
또한 리눅스 월드Linux World, LinuxTag, GUADEC ES, 부에노스 아이레스 대학교 등에서 강의를 진행해왔다.
15년 동안 오픈 소스 프로젝트에 참여하면서 소프트웨어를 개발해왔고 전세계 각종 기업의 자문가로 활동했다.
저자와는 이메일 dtmilano@gmail.com로 연락할 수 있다.


[ 옮긴이의 말 ]

좋은 코드란 무엇일까요? 간결하고 명확해서 읽기 쉽고 중복이 없어서 수정하기도 쉬운 코드일 것입니다. 하지만 이보다 더 좋은 코드는 코드의 동작과 상태를 검증하는 테스트가 함께 있는 코드입니다.

소프트웨어는 한 번 작성하고 나면 끝이 아닙니다. 버그는 항상 발생하고 요구사항도 계속 변하게 마련이니 유지보수와 새로운 기능 추가는 피할 수 없죠. 결국 코드를 계속 수정할 수밖에 없습니다. 이 때 코드가 스파게티처럼 뒤엉켜 있으면 코드 수정은 고되고 피곤한 작업이 될 것이며 코드 하나를 수정할 때마다 버그가 만들어지는 상황이 올지도 모릅니다. 이래서는 행복하게 개발할 수 없습니다.

코드 수정이 스트레스로 다가오지 않는다면 개발자는 조금 더 행복하게 개발할 수 있지 않을까요? 지금 수정하고 있는 코드에 대해 든든한 누군가가 옳고 그름 여부를 검증해주고, 기존의 동작을 깨지 않는지도 꼼꼼하게 확인해준다면 한결 편하게 개발할 수 있지 않을까요?

행복한 개발을 위해서는 테스트 코드가 필요합니다. 테스트 코드를 작성하면서 개발하면 코드 수정에 대한 스트레스가 줄어듭니다. 유지보수와 기능추가를 한결 빠르고 안정적으로 편하게 할 수 있죠. 지금 수정하는 코드가 잘 동작하는지 그리고 기존의 기능에 영향을 주지는 않는지 생각지도 못할 만큼 빨리 확인할 수 있습니다. 리팩토링을 할 때도 역시 테스트가 힘을 발휘합니다. 테스트 없이 리팩토링을 한다면 맞게 하고 있는 건지 아닌지를 검증할 방법이 없지 않을까요? 코드 한 줄 리팩토링할 때마다 손으로 동작을 검증할 수는 없는 일입니다. 그렇다고 머리로만 검증하면 분명히 생각하지 못한 버그가 생겨나고요. 결국 테스트 코드 없이는 정확한 리팩토링이 힘들 것입니다. 또 테스트를 작성하면서 개발하다 보면 문제를 작은 보폭으로 나눠서 조금씩 해결하게 될 것이고 자연스럽게 좋은 디자인을 고민하게 될 것입니다.

물론 이를 위해서는 험난한 개발과정 중에 테스트 코드가 계속해서 살아남도록 관심을 갖고 물도 주며 사랑해주는 일이 추가로 필요하긴 합니다. 하지만 두고두고 살아남아서 코드를 든든히 지켜준다는 점을 생각해보면 분명히 가치가 있는 일입니다. 테스트가 탄탄할수록 우리는 코드를 가지고 마음껏 뛰어 놀 수 있으니까요.

테스트를 작성하겠다고 마음먹었다면 이제 어떻게 해야 할까요? 테스트에 대한 기본지식과 실무에 적용해볼 수 있는 구체적인 방법을 알아야 합니다. 기본지식은 각종 테스트 전문 서적을 통해 습득한다 치더라도 실무에 적용할 수 있는 구체적인 방법은 대부분 알기가 어렵습니다. 자기가 일하고 있는 분야에 대해서 경험해보고 삽질을 해봐야지만 얻을 수 있는 암묵지를 찾기가 어렵기 때문입니다. 특히 안드로이드 분야의 테스팅 기법은 더욱 그렇습니다.

이 책은 안드로이드 애플리케이션을 개발할 때 테스트를 적용할 수 있는 실용적인 노하우를 공개한 책입니다. 테스트 주도 개발 방식으로 안드로이드 애플리케이션을 하나 만들어 보고 안드로이드에서 제공하는 테스트 프레임워크를 사용해서 UI 테스트는 물론 성능 테스트까지 다양한 상황에 대한 테스트를 실용적인 예제로 설명합니다. 여기에 지속적인 통합을 위한 자동 빌드와 테스트 자동화를 적용하고 코드 커버리지까지 측정해봅니다.

안드로이드 애플리케이션을 개발하고 있지만 테스트에 익숙하지 않은 분들에게 이 책을 추천합니다. 지속적인 통합에 테스트가 스며들어 만들어내는 효율성도 이 책을 통해 경험해볼 수 있을 것입니다. 게다가 테스트에 대한 지식과 경험을 한번 익혀둔다면 개발자의 내공으로 자리잡아 두고두고 활용할 수 있으리라 생각합니다.

무엇인가를 배우고 익히려면 자주 연습하는 수밖에 없습니다. 소프트웨어 개발자가 무언가를 익히려면 결국 실제 업무에 적용해보는 방법이 가장 빠른 길이라 생각합니다. 그래야만 자주 연습하고 몸으로 익힐 수 있기 때문입니다. 혼자서 안드로이드 애플리케이션을 개발하는 개인개발자라면 테스트가 든든한 지원군이 되어줄 것입니다. 테스트 작성은 쉽지 않은 일이지만 이 책을 통해 테스트를 작성하면서 개발하는 대한민국 안드로이드 애플리케이션 개발자들이 많아진다면 좋겠습니다. 또한 개발자들의 지식 함양에 조금이라도 도움이 된다면 더 바랄게 없겠네요.

이 책과 더불어 테스트에 대한 깊은 지식을 이야기하는 『테스트 주도 개발: 고품질 쾌속개발을 위한 TDD 실천법과 도구』(한빛미디어, 2010)과 『테스트 주도 개발』(인사이트, 2004), 『xUnit 테스트 패턴: 68가지 단위 테스트 패턴을 통한 테스트 코드 리팩토링 기법』(에이콘출판사, 2010) 등 테스트 관련 전문 서적을 읽어보길 강력히 추천합니다.


[ 옮긴이 소개 ]

현수명
장인 개발자를 꿈꾸는 견습 개발자. 함께 배우고 토론하며 지식 공유하기를 좋아한다. 신나고 즐겁게 개발하기 위해 노력 중이며 습득한 지식은 블로그(soomong.net)를 통해 공유하고 있다. 현재 삼성전자에서 모바일 서비스를 개발하고 있다.

목차

목차
  • 1장 테스트
    • 간략한 역사
    • 소프트웨어 버그
      • 프로젝트에 심각한 영향을 미치는 버그
    • 왜, 무엇을, 어떻게, 언제, 테스트해야 하는가
      • 테스트 해야 하는 것
        • 액티비티 생명주기 이벤트
        • 데이터베이스와 파일시스템 연산
        • 디바이스의 물리적 특성
    • 테스트 종류
      • 단위 테스트
        • 테스트 픽스처
        • setUp() 메소드
        • tearDown() 메소드
        • 사전조건 테스트
        • 실제 테스트
      • 통합 테스트
      • 기능 또는 인수 테스트
        • 테스트 케이스 시나리오
      • 성능 테스트
      • 시스템 테스트
    • 안드로이드 테스팅 프레임워크
      • 측정
      • 테스트 타겟
    • 요약
  • 2장 안드로이드 테스트
    • JUnit
    • 안드로이드 메인 프로젝트 생성
    • 안드로이드 테스트 프로젝트 생성
    • 패키지 탐색기
    • 테스트 케이스 생성
      • 특별한 메소드
      • 테스트 애노테이션
    • 테스트 실행
      • 이클립스로 모든 테스트 실행
      • 이클립스로 하나의 테스트 케이스 실행
      • 에뮬레이터에서¬ 실행
      • 커맨드라인에서¬ 테스트 실행
        • 모든 테스트 실행
        • 특정 테스트 케이스만 실행
        • 이름으로 특정 테스트 실행
        • 종류별로 특정 테스트 실행
        • 성능 테스트 실행
        • 시운전
    • 테스트 디버깅
    • 그 외 커맨드라인 옵션
    • 요약
  • 3장 안드로이드 SDK의 기본 구성요소
    • 데모 애플리케이션
    • 단언문 상세
      • 사용자 정의 메시지
      • Static Import
    • 뷰 단언문
    • 추가적인 단언문
    • TouchUtils 클래스
    • 목 객체
      • MockContext
      • IsolatedContext 클래스
      • 파일과 데이터베이스 연산의 대안
      • MockContentResolver 클래스
    • TestCase 부모클래스
      • 인자 없는 생성자
      • 이름 지정 생성자
      • setName() 메소드
    • AndroidTestCase 부모클래스
      • assertActivityRequiresPermission() 메소드
        • 설명
        • 예제
      • assertReadingContentUriRequiresPermission() 메소드
        • 설명
        • 예제
      • assertWritingContentUriRequiresPermission() 메소드
        • 설명
        • 예제
    • Instrumentation
      • ActivityMonitor 내부 클래스
        • 예제
    • InstrumentationTestCase 클래스
      • launchActivity와 launchActivityWithIntent 메소드
      • sendKeys와 sendRepeatedKeys 메소드
      • runTestOnUiThread 도우미 메소드
    • ActivityTestCase 클래스
      • scrubClass 메소드
    • ActivityInstrumentationTestCase2 클래스
      • 생성자
      • setUp 메소드
      • tearDown 메소드
      • testPreconditions 메소드
    • ProviderTestCase2<T> 클래스
      • 생성자
      • 예제
    • ServiceTestCase<T>
      • 생성자
    • TestSuiteBuilder.FailedToCreateTests 클래스
    • 테스트 프로젝트에서¬ 외부 라이브러리 사용
    • 요약
  • 4장 테스트 주도 개발
    • TDD 시작
      • 테스트 작성
      • 모든 테스트 실행
      • 코드 리팩토링
      • TDD의 장점
      • 요구사항 이해
    • 샘플 프로젝트 생성: 온도 변환기
      • 요구사항 목록
      • 사용자 인터페이스 컨셉 디자인
        • 프로젝트 생성
    • TemperatureConverterActivityTests 프로젝트 생성
      • 픽스처 생성
      • 사전 조건 테스트
      • 사용자 인터페이스 생성
      • 사용자 인터페이스의 존재 여부 테스트
      • 정의된 ID 얻기
      • 요구사항을 테스트로 변환
        • 비어있는 입력 창
        • 뷰 속성
      • 화면 레이아웃
    • 기능 추가
      • 온도 변환
      • EditNumber 클래스
      • TemperatureConverter 단위 테스트
      • EditNumber 테스트
      • TemperatureChangeWatcher 클래스
      • 더 많은 TemperatureConverter 테스트
      • InputFilter 테스트
    • 완성된 애플리케이션
    • 요약
  • 5장 안드로이드 테스팅 환경
    • 안드로이드 가상 장치 생성
    • 커맨드라인에서¬ AVD 실행
      • UI 없는 에뮬레이터
      • 키가드 비활성Ȭ
      • 정리
      • 에뮬레이터 종료
    • 에뮬레이터 추가 설정
      • 네트워크 상황 시뮬레이션
      • 추가적인 qemu 옵션
    • monkey 실행
      • 클라이언트-서¬버 monkey
    • Monkeyrunner를 통한 테스트 스크립트화
      • 스크린샷 테스트
      • 녹화하고 다시 재생
    • 요약
  • 6장 행위 주도 개발
    • 간략한 역사
    • Given, When, Then
    • 피트네스
      • 커맨드라인에서¬ 피트네스 실행
      • TemperatureConverterTests 서¬브위키 생성
        • 서¬브위키에 자식 페이지 추가
        • 인수 테스트 픽스처 추가
        • 테스트 클래스 지원부 추가
    • GivWenZen
      • 테스트 시나리오 생성
    • 요약
  • 7장 테스트 레시피
    • 안드로이드 단위 테스트
    • 액티비티와 애플리케이션 테스팅
      • 애플리케이션과 환경설정
        • RenamingMockContext 클래스
        • TemperatureConverterApplicationTests 클래스
      • 액티비티 테스팅
    • 파일, 데이터베이스, 콘텐트 제공자 테스팅
      • BrowserProvider 테스트
    • 예외 테스팅
    • 로컬과 원격 서¬비스 테스팅
    • 목 객체의 광범위한 사용
      • 라이브러리 import
      • testTextChanged 테스트
      • 햄크레스트 소개
        • 햄크레스트 매처
        • hasToString 매처
    • 격리시킨 뷰 테스팅
    • 파서¬ 테스트
      • 안드로이드 애셋
      • 파서¬ 액티비티
      • 파서¬ 테스트
    • 메모리 누수 테스팅
    • 요약
  • 8장 지속적인 통합
    • 앤트를 이용한 안드로이드 애플리케이션 수동 빌드
    • 깃: 빠른 버전 관리 시스템
      • 로컬 깃 저장소 생성
    • 허드슨을 이용한 지속적인 통합
      • 허드슨 설치와 설정
      • 업무 생성
      • 안드로이드 테스트 결과 확인
    • 요약
  • 9장 성능 테스팅과 프로파일링
    • Ye Olde Logge 메소드
    • 안드로이드 SDK의 성능 테스트
      • 성능 테스트 실행
        • LaunchPerformanceBase instrumentation 생성
        • TemperatureConverterActivityLaunchPerformance 클래스 생성
      • 테스트 실행
    • Traceview와 dmtracedump 플랫폼 도구 사용
    • 소규모 성능 평가
      • 캘리퍼 소규모 성능 평가
        • TemperatureConverterBenchmark 프로젝트 생성
        • 캘리퍼 실행
    • 요약
  • 10장 테스트 전략
    • 안드로이드 소스 빌드
      • 코드 커버리지
        • 엠마 기능
      • 시스템 요구사항
      • 안드로이드 소스 코드 내려 받기
        • 리포 설치
        • 저장소 복사본 생성
        • 빌드 과정
    • TemperatureConverter 코드 커버리지
      • 코드 커버리지 분석 보고서¬ 생성
      • 인스턴스 상태 복구 커버
      • 예외 커버
      • 접근 제한 우회
      • 옵션 메뉴 커버
    • 문서¬화되지 않은 앤트 커버리지 타겟
    • 로보티움 소개
      • 로보티움 내려 받기
      • 프로젝트 설정
      • 테스트 케이스 생성
        • testFahrenheitToCelsiusConversion() 테스트
        • testOnCreateOptionsMenu() 다시보기
    • 호스트의 JVM 기반 테스팅
      • TemperatureConverterJVMTest 프로젝트 생성
      • 성능 비교
      • 안드로이드에 적용
    • 로보렉트릭 소개
      • 로보렉트릭 설치
      • 새로운 자바 프로젝트 생성
      • 테스트 작성

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

 1쇄 오류/오탈자 

[ p95 아래에서 2행 ]
ProviderTestCase2 → ProviderTestCase

[ p182 프로그램 9.6 중 아래에서 8행 ]
http://behaviour-driven.org → http://dannorth.net/introducing-bdd/

[ p290 2행 ]
확장한 측정기는 사용하지 못하게 돼있다. → 확장하지 않은 측정기는 사용하지 못하게 돼있다.