Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Archives
Today
Total
관리 메뉴

QA 엔지니어 성장기

QA 원격 디바이스 팜 STF(Smartphone Test Farm) 도입기 - STF란? 본문

STF Devicefarm 구성

QA 원격 디바이스 팜 STF(Smartphone Test Farm) 도입기 - STF란?

jigo 2023. 3. 22. 21:08

디바이스팜(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되어 있는지 여부에 관계없이 컴퓨터에 연결된 것처럼 원격 장치에 연결하는 데 사용합니다 .
    • 장치 파일 시스템에 액세스하는 파일 탐색기
  • 장치 인벤토리 모니터링
    • 어떤 장치가 연결되어 있는지, 오프라인/사용할 수 없는지(USB 연결이 약함을 나타냄), 승인되지 않았거나 분리되어 있는지 확인
    • 누가 기기를 사용하고 있는지 확인
    • 전화번호, IMEI, ICCID, Android 버전, 통신사, 제품 이름, 그룹 이름 및/또는 기타 여러 속성으로 쉽고 강력한 쿼리로 장치 검색
    • 물리적으로 찾아야 하는 장치에 대한 식별 정보와 함께 밝은 빨간색 화면 표시
    • 배터리 잔량 및 상태 추적
    • 기본적인 Play 스토어 계정 관리
      • 새 계정 나열, 제거 및 추가(일부 장치에서는 추가가 작동하지 않을 수 있음)
    • 디스플레이 하드웨어 사양
  • 예약 및 파티셔닝 시스템 사용 
    • 그룹 인벤토리 모니터링
    • 그룹 관리
  • 기기 관리 
    • 속성 값으로 장치 검색
    • 장치 또는 일련의 필터를 충족하는 장치 선택 제거: 현재, 예약됨, 주석 달기, 제어됨
  • 사용자 관리 
    • 이름과 이메일을 제공하여 사용자 만들기
    • 속성 값으로 사용자 검색
    • 필터 집합을 충족하는 사용자 또는 사용자 선택 제거: 그룹 소유자
    • 이메일로 사용자 또는 선택한 사용자에게 연락
    • 모든 사용자에게 적용할 수 있는 기본 그룹 할당량 설정
    • 특정 사용자에게 적용 가능한 그룹 할당량 설정
  • 간단한 REST API
Comments