카테고리 없음

초보자도 할 수 있는 AWSDeviceFarm 사용법

호뎡(hodyeong) 2025. 6. 20. 09:47

 

지난 번 디바이스팜 관련 게시글을 보고 제 지인이 질문을 해왔는데요,

제 지인은 현직 개발자인데 AWS 클라우드 서비스 구독을 하고 있어서 제 게시글을 흥미롭게 보았다고 하더라구요

뭐 워낙 여러가지 주제로 이야기를 나눠보았지만,

대략적인 질문을 요약하자면 “원격이니까 성능이나 사용 편의성에 문제는 없나?” 와 "비쌀 거 같다" 라고 물어보더라구요

비용은 저도 궁금해서 찾아봤는데요, Device Farm은 분당 과금 방식이라고 합니다.

AWS는 워낙 서비스 종류가 다양해서 실제 사용자도 어떤 게 있는지 잘 모르는 경우도 많은데요,

제 지인도 그렇고 많은 사람들이 AWS Farm의 실제 구동 화면이 노출되지 않아서 개발자 관점에서 진행하는 단위테스트도 실행할 수 있는지 의문을 가지기도 하더라구요.

그래서 실제 사용 사례나 구동 화면에 대해 좀 더 자세히 알아보았습니다..!

https://dev.classmethod.jp/articles/optimizing-the-worlds-top-apps-how-meta-tests-using-aws-device-farm-fwm204-kr/

 

[세션레포트] Optimizing the world's top apps: How Meta tests using AWS Device Farm #AWSreInvent #FWM204 | DevelopersIO

AWS re:Invent 2024 "세계 최고의 앱 최적화: AWS Device Farm을 사용한 메타 테스트 방법" 세션 레포트입니다.

dev.classmethod.jp

 

Meta(구 Facebook)

글로벌 소셜미디어 기업 Meta 다들 아시요?

AWS re:Invent 2024에서 공개된 사실에 의하면 메타에서도 모바일 앱과 SDK 의 품질 이슈를 해결하기 위해 AWS Device Farm을 적극 활용하고 있다고 합니다!

Meta가 DeviceFarm을 적극 활용한 예시는 아래와 같은데요,

Meta는 최소 50개의 평가판(테스트 인스턴스)을 실행해서 각 환경별 차이를 비교하는 시험과 더불어,

루트 디바이스 기능을 활용해 강제 앱 종료을 일으키기도 하고,

디스크 상태 스냅샷 및 복원 등으로 드라마틱한 테스트 환경을 구성하여 테스트를 진행했다고 합니다 ㄷㄷ

CPU 주파수 변화의 영향을 통제하기 위해 테스트 전후로 CPU 상태를 확인하고, 값이 다르면 테스트 결과를 무효화하는 등, 하드웨어 변수까지 철저히 관리하는 모습도 보여주었죠!

Meta는 Device Farm을 적극 활용한 덕분에 모바일 앱 테스트 프로세스를 간소화하고, 문제를 더 빠르게 식별·수정하며, 업데이트를 더 자주 릴리스할 수 있게 되었다고 합니다 :)

확실히 Device Farm은 테스트 측면에서의 성능은 최장점에 위치해있는 것 같네요.

그렇다면, 사용 난이도는 어떨까요?

연동해야 될 프로그램도 좀 있고 그닥 쉬워보이지는 않네요...

하지만 AWS가 Device Farm에 대해 정리해둔 내용이 많이 있는 것 같아요!

실제 aws 개발자 가이드를 참고한 사용 매뉴얼을 한번 작성해보았습니다..!


<1단계 : 사전 준비>

Device Farm에 접속할 AWS 계정을 준비해둡니다. 나중을 위해 Device Farm에 접근 가능한 IAM 사용자 권한도 준비해 놓으면 좋습니다!

<2단계 : 앱 파일 준비>

테스트할 앱 파일을 준비합니다. Android: .apk 파일 iOS: .ipa 파일 (실제 디바이스용 빌드)

(선택) Device Farm이 지원하는 테스트 프레임워크로 작성한 테스트 패키지를 준비하거나, 내장 테스트(예: Fuzz)만 사용할 수도 있습니다

<3단계 : Device Farm 콘솔 접속 및 프로젝트 생성>

AWS 콘솔에서 Device Farm 서비스로 이동합니다

왼쪽 메뉴에서 Mobile Device Testing → Projects를 선택합니다

Create project를 클릭하고, 프로젝트 이름을 입력한 뒤 생성합니다

<4단계 : 앱 파일 업로드>

Run type에서 앱 유형을 선택합니다. Android 앱(.apk) 또는 iOS 앱(.ipa)

Choose File 에서 앱 파일을 업로드합니다. 샘플 앱을 선택하거나, 직접 준비한 앱 파일을 업로드할 수 있습니다 iOS의 경우 반드시 실제 디바이스용 .ipa 파일이어야 합니다

<5단계 : 테스트 구성>

Select test framework에서 테스트 방식을 선택합니다

내장 테스트(Built-in: Fuzz) 사용 시, 기본값을 그대로 두고 진행할 수 있습니다

자체 테스트 패키지가 있다면, 해당 프레임워크를 선택 후 테스트 파일을 업로드합니다

<6단계 : 테스트 디바이스 선택>

Select devices에서 테스트할 기기 풀(Device Pool)을 선택합니다. 기본 제공되는 Top Devices를 사용할 수 있습니다

<7단게 : 테스트 실행 및 모니터링>

모든 설정이 끝나면 Create run을 클릭해 테스트를 시작합니다

대기 중인 기기가 확보되면, 테스트가 자동으로 시작됩니다

콘솔 내에서 각 기기의 테스트 진행 상황을 실시간으로 확인할 수 있습니다

수행 결과 예시(출처 아래)

위처럼 디바이스가 웹 플랫폼 상에서 실행되어 버튼도 눌어보고 여러 가지 로직의 사용 테스트를 수행할 수 있게 되네요!

AWS Device Farm도 버전 업그레이드에 따라 화면이 사진과 조금씩 달라질 수 있다는 점 참고 바랍니다!

추가로 create run 실행 후 결과 요약, 경고/실패 테스트 목록, 각 기기별 상세 결과, 스크린샷, 로그, 성능 리포트 등을 확인할 수 있다고 해요

아래 영상에서도 관련 내용 확인하실 수 있습니다!

https://www.youtube.com/watch?app=desktop&v=iv6wwtOsT_M