책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 모바일 프로그래밍 > 안드로이드
· ISBN : 9788960772878
· 쪽수 : 356쪽
책 소개
목차
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
______생성자
______예제
___ServiceTestCase
______생성자
___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 프로젝트 생성
______성능 비교
______안드로이드에 적용
___로보렉트릭 소개
______로보렉트릭 설치
______새로운 자바 프로젝트 생성
______테스트 작성
___요약