모바일 애플리케이션 테스트

Mobile application testing

모바일 애플리케이션 테스트는 핸드헬드 모바일 디바이스용으로 개발된 애플리케이션 소프트웨어의 기능,[1] 조작성 및 일관성을 테스트하는 프로세스입니다.모바일 애플리케이션 테스트는 자동화 또는 수동 [2]테스트 유형입니다.모바일 애플리케이션은 프리 인스톨 되어 있거나, 모바일 소프트웨어 배포 플랫폼에서 인스톨 할 수 있습니다.2015년 전세계 모바일 앱 수익은 총 697억 달러이며, 2020년에는 [3]1889억 달러를 차지할 것으로 예상됩니다.

블루투스, GPS, 센서, 와이파이웨어러블[4]핵심 기술이다.이에 따라 모바일 애플리케이션 테스트는 현장 테스트, 사용자 집중 및 하드웨어와 소프트웨어를 동시에 테스트해야 하는 영역에 초점을 맞춥니다.

모바일 애플리케이션 테스트의 주요 과제

  • 다운로드 가능:애플리케이션은 특정 플랫폼(일반적으로 앱스토어)에서 구할 수 있어야 합니다.
  • 모바일 플랫폼/OS의 다양성:시장에는 다양한 모바일 운영체제가 있다.주요 제품은 안드로이드, iOS, 윈도폰이다.각 운영 체제에는 고유한 제한이 있습니다.
  • 디바이스 가용성:디바이스와 운영체제 버전이 계속 증가하고 있을 때 적절한 디바이스 세트에 액세스하는 것은 항상 모바일 애플리케이션 테스트의 과제입니다.테스터가 서로 다른 장소에 분산되어 있는 경우 기기에 대한 접근은 더욱 어려워질 수 있습니다.
  • 모바일 네트워크 운영자:세계에는 [5]400개 이상의 모바일 네트워크 운영자가 있습니다. CDMA, GSM, FOMA 및 TD-SCDMA같은 덜 일반적인 네트워크 표준을 사용하는 것도 있습니다.
  • 설명:디바이스의 종류가 다양하기 때문에 테스트 스크립트(스크립트 작성)의 실행이 중요한 과제가 됩니다.디바이스는 키 입력, 입력 방식, 메뉴 구조 및 디스플레이 속성이 다르기 때문에 하나의 스크립트가 모든 디바이스에서 기능하는 것은 아닙니다.
  • 테스트 방법:모바일 애플리케이션을 테스트하는 방법에는 주로 두 가지가 있습니다.실제 디바이스에서의 테스트와 [6]에뮬레이터에서의 테스트입니다.에뮬레이터는 실제 디바이스에서 테스트해야만 검출할 수 있는 문제를 간과하는 경우가 많습니다.다만, 시판되고 있는 디바이스의 종류가 많기 때문에, 실제 디바이스의 구입에는 비용이 많이 들고,[7][8] 테스트에 사용하는 데 시간이 걸리는 경우가 있습니다.
  • 호환성:호환성을 테스트해야 합니다.다른 화면 크기나 해상도 등 다른 디바이스 속성에서도 애플리케이션이 일관되게 동작하는지 확인해야 합니다.
  • 전화를 받을있어야 합니다.앱을 실행하는 동안 호출을 받을 수 있어야 합니다.
  • 다양한 모바일 디바이스:모바일 디바이스는 화면 입력 방법(QWERTY, 터치, 일반)이 다르며 하드웨어 기능도 다릅니다.

모바일 애플리케이션 테스트 유형

  • 기능 테스트에서는, 애플리케이션이 요건에 따라서 동작하고 있는 것을 확인할 수 있습니다.이에 대해 실행되는 대부분의 테스트는 사용자 인터페이스와 콜흐름에 의해 실행됩니다.
  • 통상 네트워크 통신 사업자가 실시하는 실험실 테스트는 무선 네트워크 전체를 시뮬레이트하여 실시합니다.이 테스트는 모바일응용 프로그램이 음성 및/또는 데이터 연결을 사용하여 일부 기능을 수행할 때 결함을 찾기 위해 수행됩니다.
  • 퍼포먼스 테스트는 배터리 부족, 네트워크 커버리지 불량, 메모리 부족, 여러 사용자에 의한 애플리케이션 서버 동시 액세스 등 특정 조건 하에서 애플리케이션의 성능과 동작을 체크하기 위해 수행됩니다.애플리케이션의 퍼포먼스는, 애플리케이션의 서버측과 클라이언트측의 양쪽에서 영향을 받을 수 있습니다.성능 테스트를 수행하여 둘 다 점검합니다.
  • 메모리 리크 테스트:메모리 누수는 컴퓨터 프로그램 또는 애플리케이션이 할당된 메모리를 관리할 수 없는 경우에 발생합니다.그 결과, 애플리케이션의 퍼포먼스가 저하해, 시스템의 전체적인 속도가 저하됩니다.모바일 디바이스에는 사용 가능한 메모리의 제약이 매우 크기 때문에 메모리 누전 테스트는 애플리케이션의 적절한 작동을 위해 매우 중요합니다.
  • 인터럽트 테스트:애플리케이션이 기능하고 있는 동안, 착신 콜이나 네트워크 커버리지의 정지나 회복등의 몇개의 중단에 직면할 가능성이 있습니다.인터럽트의 종류에는 다음과 같은 것이 있습니다.
  • 착신 및 발신 SMS 및 MMS
  • 착신 및 발신 콜
  • 착신 통지
  • 배터리 분리
  • 데이터 전송을 위한 케이블 삽입 및 분리
  • 네트워크 정지 및 복구
  • 미디어 플레이어 온/오프
  • 디바이스의 전원 사이클
애플리케이션은, 서스펜드 상태가 되었다가, 그 후에 재개하는 것으로, 이러한 중단을 처리할 수 있어야 합니다.
  • 사용성 테스트는 애플리케이션이 목표를 달성하고 사용자로부터 호의적인 반응을 얻고 있는지 확인하기 위해 수행됩니다.이것은, 애플리케이션의 사용성이 상업적 성공의 열쇠이기 때문에 중요합니다(사용자의 편리성 [9]뿐).가용성 테스트의 또 다른 중요한 부분은 사용자 환경이 모든 기기에서 [10]균일하게 유지되도록 하는 것입니다.이 테스트 섹션에서는 다양한 모바일 디바이스의 주요 과제와 모바일 플랫폼/OS의 다양성에 대처하는 것을 희망하고 있습니다.이것은 디바이스 플래그멘테이션이라고도 불립니다.이러한 유형의 가용성 테스트의 중요한 부분 중 하나는 다른 [11]디바이스에서 사용자 인터페이스의 기능, 배치 또는 사이징에 중대한 오류가 없는지 확인하는 것입니다.
  • 설치 테스트:일부 모바일 애플리케이션은 장치에 미리 설치되어 있는 반면 다른 애플리케이션은 매장에서 설치해야 합니다.인스톨 테스트에서는, 인스톨 프로세스가 원활히 진행되고 있는 것을 확인할 수 있습니다.이 테스트 프로세스에서는 어플리케이션 설치, 업데이트 및 언인스톨에 대해 설명합니다.
  • 인정 테스트:컴플라이언스 증명서를 취득하려면 각 모바일 디바이스를 다른 모바일 플랫폼에 의해 설정된 가이드라인에 따라 테스트해야 합니다.
  • 보안 테스트:해킹, 인증 및 인가 정책, 데이터 보안, 세션 관리 및 기타 보안 [12]표준에 대한 취약성을 확인합니다.
  • 로케이션 테스트: 네트워크 및 로케이션에 따라 접속이 변화하지만 랩에서는 이러한 변동 조건을 흉내낼 수 없습니다.포괄적인 사용성[clarification needed] 및 기능 테스트를 수행할 수 있는 것은 국가별로 자동화되지 않은 테스터뿐입니다.
  • 오래된 소프트웨어 테스트:모든 사람이 정기적으로 운영체제를 업데이트 하는 것은 아닙니다.일부 Android 사용자는 최신 버전에 액세스하지 못할 수도 있습니다.전문적인 테스터는 오래된 소프트웨어를 테스트할 수 있습니다.
  • 부하 테스트:많은 사용자가 동시에 앱이나 게임을 다운로드, 로드 및 사용하려고 하면 로드 시간이 느려지거나 충돌이 발생하여 많은 고객이 앱, 게임 또는 웹 사이트를 포기하게 될 수 있습니다.수동으로 실시하는 국내 인체 테스트가 [13]부하를 테스트하는 가장 효과적인 방법입니다.
  • 블랙박스 테스트:어플리케이션 코드와 로직을 확인하지 않고 어플리케이션을 테스트합니다.테스터는 입력할 특정 테스트 데이터와 애플리케이션이 생성해야 하는 해당 출력을 가지고 있으며, 테스터가 예상한 것과 일치하는 데이터를 출력할 프로그램을 찾는 테스트 데이터를 입력합니다.이 테스트 방법은 유닛, 통합, 시스템수용소프트웨어 테스트의 모든 레벨에 적용할 수 있습니다.
  • 크라우드 소스 테스트:최근에는 글로벌 테스터 커뮤니티를 통해 모바일 애플리케이션을 보다 빠르고 저렴하게 테스트할 수 있게 되면서 크라우드 소스 테스트가 인기를 끌고 있습니다.디바이스와 운영체제의 다양성과 현지화의 요구로 인해 소규모 사내 테스트 팀으로는 모바일 애플리케이션을 종합적으로 테스트하기 어렵습니다.글로벌 테스터 커뮤니티에서는 다양한 디바이스와 플랫폼에 쉽게 접근할 수 있습니다.또, 글로벌하게 분산된 팀은, 복수의 장소와 다른 네트워크 조건하에서 테스트 할 수도 있습니다.마지막으로 현지화 문제는 필요한 지역에서 테스터를 고용하여 테스트할 수 있습니다.실제 기기를 사용하는 실제 사용자는 응용 프로그램을 테스트하기 때문에 실제 [14][15]환경에서 사용자가 직면한 문제를 발견할 가능성이 높습니다.

레퍼런스

  1. ^ "'What is Mobile Testing?', SmartBear Software". smartbear.com. Retrieved 2014-07-23.
  2. ^ "'Increase efficiency and productivity with Test Automation', Bitbar". bitbar.com. Retrieved 2014-08-07.
  3. ^ "Mobile app revenues 2015-2020 Statistic". Statista. Retrieved 2019-03-08.
  4. ^ "Core technology of wearable devices". DigiTimes. July 15, 2014.
  5. ^ "Testing Strategies and Tactics for Mobile Applications, Keynote White Paper" (PDF). Keynote.com. Retrieved 2012-05-02.
  6. ^ "Emulated vs. Real Device Mobile App Testing". bitbar.com. Retrieved 2016-11-08.
  7. ^ "Testing on Emulators vs Real Devices Smashing Magazine". Smashing Magazine. Retrieved 2016-11-08.
  8. ^ "The Pitfalls of Mobile Emulators Mobile1st Blog". Mobile1st.com. Retrieved 2015-09-30.
  9. ^ "StickyMinds How the Usability Matrix of Emotions Can Benefit Your Software Testing Page 1". StickyMinds. Retrieved 2015-10-29.
  10. ^ Contractor, Lena. "What is User Experience?". WhatUsersDo. Retrieved 2015-10-31.
  11. ^ "Mobile UX Issues Caused by Device Fragmentation". Testmunk Blog. Retrieved 2015-10-31.
  12. ^ "Mobile App Testing Techniques and Tools". Mindster. 2019-07-16. Archived from the original on January 2, 2021. Retrieved 2021-01-02.
  13. ^ "Mobile App Testing Services Issues Page 1". GTT. Retrieved 2016-03-22.
  14. ^ "Mobile Application Testing using Managed Crowd Sourcing". Qualitrix.com. 2017-02-06. Retrieved 2017-03-14.
  15. ^ "6 Major Pitfalls of Crowdsourced Software Testing - QualityLogic". QualityLogic. 2017-10-26. Retrieved 2018-02-14.