Skip to main content
QUICK REVIEW

[논문 리뷰] On the Energy Footprint of Mobile Testing Frameworks

Luís Cruz, Rui Abreu|arXiv (Cornell University)|2019. 10. 19.
Green IT and Sustainability참고 문헌 36인용 수 7
한 줄 요약

이 논문은 테스트 중에 여덟 가지 모바일 UI 자동화 프레임워크의 에너지 소비 오버헤드를 평가하여, 일부 프레임워크가 에너지 사용을 최대 2200% 증가시킬 수 있음을 밝혀냈다. 에너지 효율성이 가장 높은 프레임워크는 Espresso이며, 콘텐츠 기반 UI 컴포넌트 검색 방식(예: 콘텐츠 기반으로 찾기)을 사용하는 방법은 최대 600% 높은 에너지 비용을 유발한다. 본 연구는 개발자가 에너지 인식 테스팅 프레임워크를 선택하고 인스트루멘테이션 오버헤드를 최소화할 수 있도록 도와주는 决책수무 및 최적 실천 방법을 제공한다.

ABSTRACT

High energy consumption is a challenging issue that an ever increasing number of mobile applications face today. However, energy consumption is being tested in an ad hoc way, despite being an important non-functional requirement of an application. Such limitation becomes particularly disconcerting during software testing: on the one hand, developers do not really know how to measure energy; on the other hand, there is no knowledge as to what is the energy overhead imposed by the testing framework. In this paper, as we evaluate eight popular mobile UI automation frameworks, we have discovered that there are automation frameworks that increase energy consumption up to roughly 2200%. While limited in the interactions one can do, Espresso is the most energy efficient framework. However, depending on the needs of the tester, Appium, Monkeyrunner, or UIAutomator are good alternatives. In practice, results show that deciding which is the most suitable framework is vital. We provide a decision tree to help developers make an educated decision on which framework suits best their testing needs.

연구 동기 및 목표

  • UI 자동화 프레임워크가 모바일 앱의 에너지 효율성 측정 결과에 영향을 미치는 심각한 에너지 오버헤드를 유발하는지 조사하기 위해.
  • 일반적인 사용자 상호작용 하에서 인기 있는 모바일 테스팅 프레임워크의 에너지 발자국을 비교하기 위해.
  • 특히 UI 컴포넌트 검색 방법에 관해 에너지 효율적인 자동화 테스트 스크립트를 작성하는 데 있어 최적 실천 방법을 규명하기 위해.
  • 프로젝트 제약 조건을 바탕으로 가장 에너지 효율적인 테스팅 프레임워크를 선택하는 데 도움이 되는 决책수무 프레임워크를 제공하기 위해.

제안 방법

  • 저자는 여덟 가지 인기 있는 모바일 UI 자동화 프레임워크를 평가했다: Espresso, Appium, UIAutomator, Monkeyrunner, AndroidViewClient, Calabash, 그리고 다른 두 개의 프레임워크.
  • 에너지 소비는 일반적인 UI 상호작용(터치, 긴 터치, 드래그 앤 드롭, 스와이프, 핀치 및 확장, 뒤로 버튼, 텍스트 입력, 다양한 Find 작업) 수행 중 전력계를 사용하여 측정되었다.
  • 각 프레임워크의 내부 로직이 유발하는 오버헤드를 분리하여, 동일한 상호작용에 대해 프레임워크 간 에너지 소비를 비교하였다.
  • UI 컴포넌트 검색 방법(아이디 기반으로 찾기, 설명 기반으로 찾기, 콘텐츠 기반으로 찾기)의 에너지 비용을 평가하였으며, 특히 콘텐츠 기반 검색이 성능에 미치는 영향을 중점적으로 분석하였다.
  • 에너지 효율성, 기능 지원, 프로젝트 특화 제약 조건을 바탕으로 결책수무 트리(의사결정 트리)를 구축하여 프레임워크 선택을 안내하였다.
  • 실험 결과를 바탕으로 최적 실천 방법을 도출하였으며, 특히 콘텐츠 기반 검색을 피하고 컴포넌트 참조를 캐시하는 것이 바람직하다고 권장하였다.

실험 결과

연구 질문

  • RQ1RQ1: UI 자동화 프레임워크가 유발하는 에너지 소비 오버헤드가 모바일 애플리케이션의 에너지 효율성 측정 결과에 영향을 미치는가?
  • RQ2RQ2: 에너지 소비를 프로파일링하기에 가장 적합한 프레임워크는 무엇인가?
  • RQ3RQ3: 에너지 효율 테스트를 위한 자동화 스크립트 작성 시 최적 실천 방법은 무엇인가?

주요 결과

  • Espresso는 가장 낮은 에너지 발자국을 보였으며, 터치당 에너지 소비가 0.09J에 불과하여 평가된 프레임워크 중에서 가장 에너지 효율성이 높았다.
  • 드래그 앤 드롭 상호작용에서 일부 프레임워크의 에너지 오버헤드가 최대 2200%에 이를 정도로 높아, 에너지 측정 결과에 심각한 왜곡을 초래했다.
  • Espresso에서 콘텐츠 기반으로 UI 컴포넌트를 검색하는 방식은 아이디 기반으로 찾는 것보다 최대 600% 높은 에너지 소비를 유발했으며, 에너지 비용은 1.4J에서 9.4J로 증가했다.
  • Appium, Monkeyrunner, UIAutomator는 Espresso의 제한 사항(예: 소스 코드 접근 필요, WebView 호환성 문제)으로 인해 사용이 어려운 프로젝트에서는 강력한 대안으로 간주된다.
  • AndroidViewClient와 Calabash는 높은 에너지 오버헤드로 인해 에너지 효율성 테스트에 부적합한 것으로 밝혀졌다.
  • UI 컴포넌트 검색 결과를 캐시하고, 콘텐츠 기반으로 찾는 것보다 아이디 기반 또는 설명 기반으로 찾는 방식을 우선시하면 테스트 스크립트의 에너지 소비를 크게 줄일 수 있다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.