QA 엔지니어 성장기
QA 원격 디바이스 팜 STF(Smartphone Test Farm) 도입기 - STF란? 본문
디바이스팜(Device Farm)이란?
디바이스팜(Device Farm)은 Android와 iOS 단말기를 테스트 할 수 있도록 클라우드를 통해 다수의 단말기를 제공하고 디버깅 할 수 있는 오픈 소스 툴이다.
디바이스팜 도입 목적
단말기 테스트 수행시 테스트 단말기를 각 파트마다 종류 별로 하나씩 구비해 놓는 좋은 환경의 회사가 아니라면 각 파트별로 단말기를 찾아 다니는 경험은 한번씩 해봤을 것이다. 어쩌면 지금 이 글을 읽고 있는 어느 누군가 장비가 부족해 자신의 개인 소유의 단말기로 테스트를 수행하고 있는 QA분들도 있을 거라 생각 한다.
디바이스팜은 이런한 문제를 일부분 해결 할 수 있는 해결책이 될수 있다. 단말기를 원격지에서 접속하고 웹으로 해당 단말기를 제어 할 수 있는 도구가 있다면, 굳이 테스트 단말기를 찾아 다니지 않아도 웹 접속만으로 손쉽게 테스트를 수행 할 수 있고 장비의 복수 구입의 비용도 감소 시킬 수 있을 것이다.
또한, 테스트 수행 단계에서 검출된 결함에 대한 공유와 분석을 원격 접속을 통해 개발자와 원할한 협업을 할 수 있게 되면서 업무 환경 또한 개선 될 수 있을 거라 기대된다.
이 포스터에서 구성한 STF 아키텍처
이 포스터에서는 MacOS 환경에서 homebrew를 통한 openSTF 설치 과정과 로그인 기능을 위한 openLDAP 설치 및 환경 구성 대해 포스팅 할 예정이다.
STF(Smartphone Test Farm) 소개
STF(Smartphone Test Farm)는 원격지 장비에 연결된 Android 단말기를 브라우저에서 편안하게 디버깅 할 수 있는 웹 애플리케이션이다.
STF 지원 기능
참고: STF github
- OS 지원
- 버전 2.3.3(SDK level 10)에서 10(SDK level 29)까지 지원
- Wear 5.1 지원(권한 누락으로 인해 5.0은 지원하지 않음)
- Fire OS, CyanogenMod 및 기타 Android 기반 배포판 지원
- 브라우저에서 원격 장비에 연결된 Android 단말기 원격 제어
- 실시간 화면 보기
- 자신의 키보드에서 텍스트 입력 지원
- 메타 키 지원
- 복사 및 붙여넣기 지원(오래된 장치에서는 약간 까다로울 수 있지만 길게 누르고 수동으로 붙여넣기를 선택해야 할 수 있음)
- 불행히도 때때로 라틴어가 아닌 언어에서는 제대로 작동하지 않을 수 있습니다.
- 미니 터치 를 통한 터치 스크린의 멀티터치 지원 , 일반 화면에서 Alt드래그하는 동안 누르는 두 손가락 핀치/회전/줌 제스처 지원
- 드래그 앤 드롭 설치 및 .apk파일 실행
- minirev를 통한 리버스 포트 포워딩
- 동일한 네트워크에 있지 않더라도 장치에서 직접 로컬 서버에 액세스
- 모든 브라우저에서 쉽게 웹사이트 열기
- 설치된 브라우저는 실시간으로 감지되어 선택 가능한 옵션으로 표시됩니다.
- 기본 브라우저는 사용자가 선택한 경우 자동으로 감지됩니다.
- 셸 명령을 실행하고 실시간 출력 보기
- 장치 로그 표시 및 필터링
- ADB 모드 및 동일한 네트워크에 연결 adb connect되어 있는지 여부에 관계없이 컴퓨터에 연결된 것처럼 원격 장치에 연결하는 데 사용합니다 .
- adb셸 액세스를 포함하여 모든 명령을 로컬에서 실행
- Android Studio 및 기타 IDE 지원, 브라우저에서 기기 화면을 보면서 앱 디버그
- Chrome 원격 디버그 도구 지원
- 장치 파일 시스템에 액세스하는 파일 탐색기
- 장치 인벤토리 모니터링
- 어떤 장치가 연결되어 있는지, 오프라인/사용할 수 없는지(USB 연결이 약함을 나타냄), 승인되지 않았거나 분리되어 있는지 확인
- 누가 기기를 사용하고 있는지 확인
- 전화번호, IMEI, ICCID, Android 버전, 통신사, 제품 이름, 그룹 이름 및/또는 기타 여러 속성으로 쉽고 강력한 쿼리로 장치 검색
- 물리적으로 찾아야 하는 장치에 대한 식별 정보와 함께 밝은 빨간색 화면 표시
- 배터리 잔량 및 상태 추적
- 기본적인 Play 스토어 계정 관리
- 새 계정 나열, 제거 및 추가(일부 장치에서는 추가가 작동하지 않을 수 있음)
- 디스플레이 하드웨어 사양
- 예약 및 파티셔닝 시스템 사용
- 그룹 인벤토리 모니터링
- 그룹 관리
- 기기 관리
- 속성 값으로 장치 검색
- 장치 또는 일련의 필터를 충족하는 장치 선택 제거: 현재, 예약됨, 주석 달기, 제어됨
- 사용자 관리
- 이름과 이메일을 제공하여 사용자 만들기
- 속성 값으로 사용자 검색
- 필터 집합을 충족하는 사용자 또는 사용자 선택 제거: 그룹 소유자
- 이메일로 사용자 또는 선택한 사용자에게 연락
- 모든 사용자에게 적용할 수 있는 기본 그룹 할당량 설정
- 특정 사용자에게 적용 가능한 그룹 할당량 설정
- 간단한 REST API
'STF Devicefarm 구성' 카테고리의 다른 글
QA 원격 디바이스 팜 STF(Smartphone Test Farm) 도입기 2 - MacOS 환경 STF 설치 (0) | 2023.04.03 |
---|
Comments