

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# AWS Device Farm 개념
<a name="concepts"></a>

Device Farm은 Amazon Web Services(AWS)에서 호스팅하는 Android, iOS 및 웹 애플리케이션을 실제 휴대폰 및 태블릿에서 테스트하고 상호 작용할 수 있도록 하는 앱 테스트 서비스입니다.

이 단원에서는 중요한 Device Farm 개념에 대해 설명합니다.
+ [AWS Device Farm에서 디바이스 지원디바이스](devices.md)
+ [AWS Device Farm의 테스트 환경](test-environments.md)
+ [실행](test-runs.md)
+ [앱](apps.md)
+ [AWS Device Farm에 있는 보고서Reports](reports.md)
+ [세션](sessions.md)

Device Farm에서 지원되는 테스트 유형에 대한 자세한 내용은 [AWS Device Farm의 테스트 프레임워크 및 내장 테스트](test-types.md) 단원을 참조하세요.

# AWS Device Farm에서 디바이스 지원
<a name="devices"></a>

다음 단원에서는 Device Farm에 사용되는 디바이스 지원에 대한 정보를 제공합니다.

**Topics**
+ [

## 지원되는 디바이스
](#devices-supported)
+ [

## 디바이스 풀
](#devices-pools)
+ [

## 프라이빗 디바이스
](#devices-private)
+ [

## 디바이스 브랜딩
](#devices-branding)
+ [

## 디바이스 슬롯
](#device-slots)
+ [

## 사전 설치된 디바이스 앱
](#devices-apps)
+ [

## 디바이스 기능
](#devices-capabilities)

## 지원되는 디바이스
<a name="devices-supported"></a>

Device Farm은 수백 개의 고유하고 인기 있는 Android 및 iOS 디바이스와 운영 체제 조합을 지원합니다. 새 디바이스가 시장에 출시됨에 따라 사용 가능한 디바이스 목록이 늘어납니다. 디바이스의 전체 목록은 [AWS 콘솔의 대화형 디바이스 목록을 참조하세요](https://us-west-2.console.aws.amazon.com/devicefarm/home?region=us-west-2#/mobile/publicdevices).

## 디바이스 풀
<a name="devices-pools"></a>

Device Farm은 디바이스를 테스트에 사용할 수 있는 디바이스 풀로 구성합니다. 이러한 디바이스 풀에는 Android에서만 실행되거나 iOS에서만 실행되는 디바이스와 같은 관련 디바이스가 포함됩니다. Device Farm은 상위 디바이스용 풀과 같은 큐레이션된 디바이스 풀을 제공합니다. 공용 디바이스와 프라이빗 디바이스를 혼합하는 디바이스 풀을 만들 수도 있습니다.

## 프라이빗 디바이스
<a name="devices-private"></a>

프라이빗 디바이스를 사용하면 테스트 요구 사항에 맞는 정확한 하드웨어 및 소프트웨어 구성을 지정할 수 있습니다. 루팅된 Android 디바이스와 같은 특정 구성은 프라이빗 디바이스로 지원될 수 있습니다. 프라이빗 디바이스란 Device Farm이 사용자를 대신하여 Amazon 데이터 센터에서 배포하는 물리적 모바일 디바이스입니다. 프라이빗 디바이스는 자동 테스트와 수동 테스트 모두에 한해 독점적으로 사용할 수 있습니다. 구독을 종료하기로 선택하면 하드웨어가 환경에서 제거됩니다. 자세한 내용은 [프라이빗 디바이스](https://aws.amazon.com/device-farm/pricing/#privateDevices)와 [AWS Device Farm의 프라이빗 디바이스](working-with-private-devices.md) 단원을 참조하세요.

## 디바이스 브랜딩
<a name="devices-branding"></a>

Device Farm은 다양한 OEM의 실제 모바일 및 태블릿 디바이스에서 테스트를 실행합니다.

## 디바이스 슬롯
<a name="device-slots"></a>

디바이스 슬롯은 동시성에 해당합니다. 구매한 디바이스 슬롯 수에 따라 테스트 또는 원격 액세스 세션에서 실행할 수 있는 디바이스 수가 결정됩니다.

디바이스 슬롯에는 두 가지 유형이 있습니다.
+ 원격 액세스 디바이스 슬롯은 원격 액세스 세션에서 동시에 실행할 수 있는 슬롯입니다.**

  원격 액세스 디바이스 슬롯이 하나인 경우 한 번에 하나의 원격 액세스 세션만 실행할 수 있습니다. 원격 테스트 디바이스 슬롯을 추가로 구입하면 여러 세션을 동시에 실행할 수 있습니다.
+ 자동 테스트 디바이스 슬롯은 테스트를 동시에 실행할 수 있는 슬롯입니다.**

  자동 테스트 디바이스 슬롯이 하나인 경우 한 번에 한 디바이스에서만 테스트를 실행할 수 있습니다. 자동 테스트 디바이스 슬롯을 추가로 구매하면 여러 디바이스에서 동시에 여러 테스트를 실행하여 테스트 결과를 더 빨리 얻을 수 있습니다.

 디바이스 제품군에 따라(자동 테스트용 Android 또는 iOS 디바이스, 원격 액세스용 Android 또는 iOS 디바이스) 디바이스 슬롯을 구입할 수 있습니다. 자세한 내용은 [Device Farm 요금](https://aws.amazon.com/device-farm/pricing/)을 참조하세요.

## 사전 설치된 디바이스 앱
<a name="devices-apps"></a>

Device Farm의 디바이스에는 제조업체와 이동통신사에서 이미 설치한 소수의 앱이 포함되어 있습니다.

## 디바이스 기능
<a name="devices-capabilities"></a>

모든 디바이스에는 인터넷 연결이 있습니다. 이동 통신사와 연결되어 있지 않으므로 전화를 걸거나 SMS 메시지를 보낼 수 없습니다.

전면 또는 후면 카메라를 지원하는 모든 디바이스로 사진을 찍을 수 있습니다. 디바이스를 장착하는 방식 때문에 사진이 어둡고 흐릿하게 보일 수 있습니다.

Google Play Services 및 Google Chrome은 Android 디바이스에 설치됩니다.

# AWS Device Farm의 테스트 환경
<a name="test-environments"></a>

AWS Device Farm은 자동 테스트를 실행하기 위한 사용자 지정 및 표준 테스트 환경을 모두 제공합니다. 자동 테스트를 완벽하게 제어할 수 있는 사용자 지정 테스트 환경을 선택할 수 있습니다. 또는 자동 테스트 스위트의 각 테스트에 대한 세분화된 보고를 제공하는 Device Farm 기본 표준 테스트 환경을 선택할 수 있습니다.

**Topics**
+ [

## 표준 테스트 환경
](#test-environments-standard)
+ [

## 사용자 지정 테스트 환경
](#custom-test-environment)

## 표준 테스트 환경
<a name="test-environments-standard"></a>

 표준 환경에서 테스트를 실행하면 Device Farm은 테스트 스위트의 모든 사례에 대한 자세한 로그 및 보고를 제공합니다. 각 테스트의 성능 데이터, 동영상, 스크린샷 및 로그를 확인하여 앱의 문제를 정확히 찾아내고 수정할 수 있습니다.

**참고**  
Device Farm은 표준 환경에서 세분화된 보고 기능을 제공하므로 로컬에서 테스트를 실행할 때보다 테스트 실행 시간이 더 오래 걸릴 수 있습니다. 실행 시간을 단축하려면 사용자 지정 테스트 환경에서 테스트를 실행하세요.

## 사용자 지정 테스트 환경
<a name="custom-test-environment"></a>

테스트 환경을 사용자 지정할 때 Device Farm이 테스트를 수행하기 위해 실행해야 하는 명령을 지정할 수 있습니다. 이렇게 하면 Device Farm의 테스트가 로컬 시스템에서 실행되는 테스트와 유사한 방식으로 실행됩니다. 이 모드에서 테스트를 실행하면 테스트의 라이브 로그 및 비디오 스트리밍도 사용할 수 있습니다. 사용자 지정된 테스트 환경에서 테스트를 실행하면 각 테스트 사례에 대한 세분화된 보고서가 제공되지 않습니다. 자세한 내용은 [AWS Device Farm의 사용자 지정 테스트 환경](custom-test-environments.md) 단원을 참조하세요.

Device Farm 콘솔, AWS CLI또는 Device Farm API를 사용하여 테스트 실행을 만들 때 사용자 지정 테스트 환경을 사용할 수 있습니다.

자세한 정보는 [AWS CLI를 사용하여 사용자 지정 테스트 사양 업로드](https://docs.aws.amazon.com/devicefarm/latest/developerguide/how-to-create-test-run.html#how-to-create-test-run-cli-step5) 및 [Device Farm에서 테스트 실행 생성](how-to-create-test-run.md) 단원을 참조하세요.

# AWS Device Farm에서 실행
<a name="test-runs"></a>

다음 단원에는 Device Farm에서의 실행에 대한 정보가 있습니다.

Device Farm의 실행은 특정 디바이스 세트에서 실행될 특정 테스트 세트가 있는 앱의 특정 빌드입니다. 실행을 하면 결과에 대한 정보가 수록된 보고서가 생성됩니다. 실행에는 하나 이상의 작업이 있습니다.

**Topics**
+ [

## 실행 구성
](#test-runs-configuration)
+ [

## 파일 보존 실행
](#test-runs-retention)
+ [

## 디바이스 상태 실행
](#test-runs-device-state)
+ [

## 병렬 실행
](#test-runs-parallel)
+ [

## 실행 제한 시간 설정
](#test-runs-default-timeout)
+ [

## 실행 중 광고
](#test-runs-ads)
+ [

## 실행 중 미디어
](#test-runs-media)
+ [

## 실행에 사용되는 일반적인 작업
](#test-runs-tasks)

## 실행 구성
<a name="test-runs-configuration"></a>

실행의 일환으로 Device Farm이 현재 디바이스 설정을 재정의하는 데 사용할 수 있는 설정을 제공할 수 있습니다. 여기에는 위도 및 경도 좌표, 추가 데이터(.zip 파일에 포함), 보조 앱(앱을 테스트하기 전에 설치해야 하는 앱)이 포함됩니다. Android에서는 로캘 및 라디오 상태(블루투스, GPS, NFC 및 Wi-Fi)와 같은 일부 추가 설정을 변경할 수 있습니다.

## 파일 보존 실행
<a name="test-runs-retention"></a>

Device Farm은 앱과 파일을 30일 동안 저장한 다음 시스템에서 삭제합니다. 하지만 언제든 파일을 삭제할 수 있습니다.

Device Farm은 실행 결과, 로그 및 스크린샷을 400일 동안 저장한 다음 시스템에서 삭제합니다.

## 디바이스 상태 실행
<a name="test-runs-device-state"></a>

Device Farm은 다음 작업에 사용할 수 있게 하기 전에 항상 디바이스를 재부팅합니다.

## 병렬 실행
<a name="test-runs-parallel"></a>

Device Farm은 디바이스를 사용할 수 있게 되면 테스트를 병렬로 실행합니다.

## 실행 제한 시간 설정
<a name="test-runs-default-timeout"></a>

각 디바이스의 테스트 실행을 중지하기 전에 테스트 실행이 지속되는 시간을 설정할 수 있습니다. 예를 들어 디바이스 하나당 테스트에 20분이 소요되는 경우 디바이스당 30분의 제한 시간을 선택해야 합니다.

자세한 내용은 [AWS Device Farm의 테스트 실행 제한 시간 설정](how-to-set-default-timeout-for-test-runs.md) 단원을 참조하십시오.

## 실행 중 광고
<a name="test-runs-ads"></a>

Device Farm에 업로드하기 전에 앱에서 광고를 삭제하는 것이 좋습니다. 실행 중에는 광고가 표시된다고 보장할 수 없습니다.

## 실행 중 미디어
<a name="test-runs-media"></a>

앱과 함께 사용할 미디어 또는 기타 데이터를 제공할 수 있습니다. 추가 데이터는 크기가 4GB를 넘지 않는 .zip 파일로 제공해야 합니다.

## 실행에 사용되는 일반적인 작업
<a name="test-runs-tasks"></a>

자세한 정보는 [Device Farm에서 테스트 실행 생성](how-to-create-test-run.md) 및 [AWS Device Farm에서 테스트 실행테스트 실행](runs.md) 단원을 참조하세요.

# AWS Device Farm에 있는 앱
<a name="apps"></a>

다음 섹션에는 Device Farm의 앱 동작에 대한 정보가 있습니다.

**Topics**
+ [

## 계측 앱
](#test-runs-instrumenting)
+ [

## 실행 중인 앱 재서명
](#test-runs-app-resigning)
+ [

## 실행 시 난독화된 앱
](#test-runs-obfuscated-apps)

## 계측 앱
<a name="test-runs-instrumenting"></a>

앱을 계측하거나 Device Farm에 앱의 소스 코드를 제공할 필요가 없습니다. Android 앱은 수정하지 않고 제출할 수 있습니다. iOS 앱은 시뮬레이터 대신 **iOS 디바이스** 타겟으로 빌드해야 합니다.

## 실행 중인 앱 재서명
<a name="test-runs-app-resigning"></a>

iOS 앱의 경우 프로비저닝 프로필에 Device Farm UUID를 추가할 필요가 없습니다. Device Farm은 내장된 프로비저닝 프로필을 와일드카드 프로필로 대체한 다음 앱을 재서명합니다. 보조 데이터를 제공하면 Device Farm이 보조 데이터를 설치하기 전에 Device Farm이 이를 앱 패키지에 추가하여 보조 데이터가 앱의 샌드박스에 존재하도록 합니다. 앱에 재서명하면 앱 그룹, 연결된 도메인, 게임 센터, HealthKit, HomeKit, 무선 액세서리 구성, 인앱 구매, 앱 간 오디오, Apple Pay, 푸시 알림, VPN 구성 및 제어와 같은 권한이 제거됩니다.

Android 앱의 경우 Device Farm은 앱을 재서명합니다. 이로 인해 Google 지도 Android API와 같이 앱 서명에 의존하는 모든 기능이 작동하지 않거나 DexGuard와 같은 제품에서 불법 복제 방지 또는 변조 방지 감지가 트리거될 수 있습니다.

## 실행 시 난독화된 앱
<a name="test-runs-obfuscated-apps"></a>

Android 앱의 경우, 앱이 난독화되어 있더라도 ProGuard를 사용하면 Device Farm으로 테스트할 수 있습니다. 하지만 불법 복제 방지 조치와 함께 DexGuard를 사용하는 경우 Device Farm은 앱에 재서명하여 테스트를 실행할 수 없습니다.

# AWS Device Farm에 있는 보고서
<a name="reports"></a>

다음 단원에서는 Device Farm 테스트 보고서에 대한 정보를 제공합니다.

**Topics**
+ [

## 보고서 보존
](#reports-retention)
+ [

## 보고서 구성 요소
](#reports-components)
+ [

## 보고서의 로그
](#reports-logs)
+ [

## 보고서의 일반적인 작업
](#reports-tasks)

## 보고서 보존
<a name="reports-retention"></a>

Device Farm은 보고서를 400일 동안 저장합니다. 이러한 보고서에는 메타데이터, 로그, 스크린샷 및 성능 데이터가 포함됩니다.

## 보고서 구성 요소
<a name="reports-components"></a>

Device Farm의 보고서에는 통과 및 실패 정보, 충돌 보고서, 테스트 및 디바이스 로그, 스크린샷, 성능 데이터가 포함됩니다.

보고서에는 상세한 디바이스별 데이터와 높은 수준의 결과(예: 특정 문제의 발생 횟수)가 포함됩니다.

## 보고서의 로그
<a name="reports-logs"></a>

보고서에는 Android 테스트의 전체 logcat 캡처와 iOS 테스트의 전체 Device Console 로그가 포함됩니다.

## 보고서의 일반적인 작업
<a name="reports-tasks"></a>

자세한 내용은 [Device Farm에서 테스트 보고서 보기](how-to-use-reports.md) 단원을 참조하세요.

# AWS Device Farm에 사용되는 세션
<a name="sessions"></a>

Device Farm을 사용하여 원격 액세스 세션을 통해 Android 및 iOS 앱에 대한 대화형 테스트를 수행할 수 있습니다. 여기에는 웹 브라우저에서의 수동 상호 작용과 원격 디바이스에 대해 로컬 클라이언트에서 Appium 테스트를 실행하는 작업이 모두 포함됩니다. 개발자는 특정 디바이스에서 앱 또는 Appium 테스트와 관련된 문제를 재현하여 문제를 격리하고 해결할 수 있습니다.

**Topics**
+ [

## 원격 액세스가 지원되는 디바이스
](#session-devices-supported)
+ [

## 세션 파일 보존
](#session-files-retention)
+ [

## 계측 앱
](#session-instrumenting)
+ [

## 세션 내 앱 재서명
](#session-resigning-apps)
+ [

## 세션 내 난독화된 앱
](#session-obfuscated-apps)

## 원격 액세스가 지원되는 디바이스
<a name="session-devices-supported"></a>

Device Farm은 고유하고 널리 사용되는 여러 Android 및 iOS 디바이스를 지원합니다. 새 디바이스가 시장에 출시됨에 따라 사용 가능한 디바이스 목록이 늘어납니다. Device Farm 콘솔에는 원격 액세스가 가능한 Android 및 iOS 디바이스의 현재 목록이 표시됩니다. 자세한 내용은 [AWS Device Farm에서 디바이스 지원디바이스](devices.md) 단원을 참조하세요.

## 세션 파일 보존
<a name="session-files-retention"></a>

Device Farm은 앱과 파일을 30일 동안 저장한 다음 시스템에서 삭제합니다. 하지만 언제든 파일을 삭제할 수 있습니다.

Device Farm은 세션 로그와 캡처한 비디오를 400일 동안 저장한 다음 시스템에서 삭제합니다.

## 계측 앱
<a name="session-instrumenting"></a>

앱을 계측하거나 Device Farm에 앱의 소스 코드를 제공할 필요가 없습니다. Android 및 iOS 앱은 수정하지 않고 제출할 수 있습니다.

## 세션 내 앱 재서명
<a name="session-resigning-apps"></a>

Device Farm은 Android와 iOS 앱을 재서명합니다. 이로 인해 앱 서명에 의존하는 기능이 작동하지 않을 수 있습니다. 예를 들어 Android용 Google Maps API는 앱의 서명에 따라 달라집니다. 앱 재서명은 Android 디바이스용 DexGuard와 같은 제품에서 불법 복제 방지 또는 변조 방지 탐지를 트리거할 수도 있습니다.

## 세션 내 난독화된 앱
<a name="session-obfuscated-apps"></a>

Android 앱의 경우, 앱이 난독화되어 있더라도 ProGuard를 사용하면 Device Farm으로 테스트할 수 있습니다. 하지만 불법 복제 방지 조치와 함께 DexGuard를 사용하는 경우 Device Farm은 앱에 다시 서명할 수 없습니다.