모바일 앱 테스트

노트

단일 페이지 애플리케이션 프레임워크 기반 클라이언트측 렌더링(예: 응답)이 필요한 프로젝트에는 SPA 편집기를 사용하는 것이 좋습니다. 추가 정보.

시장에 나와 있는 다양한 디바이스와 출시되는 디바이스를 고려할 때 앱 테스트는 매우 중요합니다. 이 영역은 기능 및 사용성이 앱 스토어에서 낮은 평가를 얻을 수 있지만 단일 결함으로 인해 앱이 제거될 수 있는 영역입니다. 테스트 계획 및 품질 보증에 세심한 주의가 필요하다. 다음 링크는 환경을 식별하고 테스트 케이스, 테스트 유형, 가정, 고객 참여 등과 같이 일반적으로 해결해야 하는 많은 주제를 다룹니다. 또한 테스팅 작업에 도움이 되는 툴도 살펴보았습니다. Hobes와 같은 내부 도구는 웹 기반 UI 테스트에 도움이 될 수 있습니다. 거친 데이는 시뮬레이트된 장비로 인스턴스를 스트레스할 수 있다. 테스트 환경에 이미 Selenium과 같은 타사 도구에 대한 경험이 있는 경우 이러한 도구 또한 사용할 수 있습니다.

모바일 앱을 개발할 때 기존 테스트와 함께 해결해야 하는 디바이스에만 관련된 새로운 문제가 많이 있습니다.

  • 기능 - 앱에서 모든 요구 사항을 충족합니까?
  • 사용성 - 고객이 앱을 손쉽게 사용하고 이해할 수 있습니까?
  • 성능 - 사용량 증가 시 어떻게 됩니까? 스와이프 및 Carousel과 같은 앱 요소가 신속하고 간편하게 경험을 제거합니까?
  • 실패 또는 인터럽트 - 앱이 실행되는 동안 수신 호출 또는 알림이 있을 경우 어떻게 됩니까? 네트워크 중단이나 전원이 꺼지면 어떻게 됩니까?
  • 설치 및 업데이트 - 설치 환경은 어떻게 됩니까? 업데이트는 어떻게 푸시됩니까?
  • 기술 - 앱에서 장치의 전원이 너무 많이 사용됩니까?
  • 현지화 - 앱의 모든 영역이 번역됩니까?
  • 인증 - 앱이 인증되었습니까? 고객은 모든 데이터 개인 정보 보호 법적 요건을 준수한다고 신뢰할 수 있습니까?

이러한 질문은 자동화된 수동 테스트 동안 답변해야 합니다.

자동화된 테스트

다양한 화면 크기, 메모리 제한, 입력 방법 및 운영 체제에 맞게 자동 테스트를 수행해야 합니다. 테스트 케이스의 대부분을 포함할 뿐만 아니라 새로운 기능 또는 디바이스를 소개하면 회귀 테스트를 가속화할 수 있습니다. 가장 좋은 방법은 작업 중복을 줄이거나 제한하는 것입니다. 모든 플랫폼에 테스트 작업을 적용할 수 있도록 툴 또는 프레임워크를 사용하십시오. 다음 차트는 웹 기반 UI 테스트와 모바일 앱 테스트를 위한 테스트 환경의 간소화된 구조를 보여줍니다. 차트의 왼쪽에는 브라우저가 있는 일련의 Selenium 노드가 표시됩니다. SeleniumGrid는 이러한 노드 중 하나에 일반적인 웹 기반 UI 테스트를 팜아웃할 수 있습니다. 또한 Selenium 허브는 크로스 플랫폼 앱 테스트를 위해 App Ium에 연결할 수 있습니다. 표시되는 시뮬레이터만 표시되지만 Android용 adb 및 iOS 장치용 Xcode 유틸리티를 통합할 수 있습니다. 이 문서의 후반부에 있는 링크를 통해 언급된 도구에 대한 특정 세부 정보를 찾을 수 있습니다.

chlimage_1

수동 테스트

자동화된 테스트 외에도 앱을 수동으로 테스트해야 합니다. 실제 디바이스에서 앱을 실행하는 고객은 스크립트로 복제할 수 없습니다. 여기에도 여러 가지 옵션이 있습니다. 하키 앱과 같은 플랫폼을 사용하여 액세스 권한이 있는 사용자를 정의하고 피드백을 수집할 수 있습니다. 또는 UTest, KnownStar 또는 Testing과 같은 서비스에 전체 프로세스를 아웃소싱할 수 있습니다. 내부 테스터 그룹이 있지만 다양한 디바이스가 없는 경우 디바이스 풀에서 수동 테스트를 수행할 수 있는 클라우드 서비스가 있습니다. 이런 서비스를 제공하는 서비스는 SauceLabs입니다. 또한 PhoneGap Enterprise에 원격으로 앱을 빌드하고 수락 테스트 또는 인구 통계 자료로 로컬 장치에 설치할 수도 있습니다. 최신 기능과 설명서는 PhoneGap 웹 사이트를 참조하십시오. 접근 방식은 무엇이든지 간에 수동 테스트가 필요합니다.

  • 테스터들의 큰 표적을 잡았고

  • 대규모 장치 풀을 테스트하십시오(특히 실제 장치를 사용할 수 없지만 실제 장치를 사용할 수 없는 경우 시뮬레이터/에뮬레이터).

  • 유익한 피드백을 제공합니다.

    • 충돌 보고서,
    • analytics/tracking,
    • 유용성
    • 관심 영역,
    • 성능,
    • 데이터/전력 소비 등

도구

모바일 앱을 테스트하는 데 사용할 수 있는 다양한 도구가 있습니다. 사용할 항목 선택은 특정 상황에 따라 달라집니다.기능, 가격, 지원, 서비스 범위 등 다음은 사용 가능한 일부 도구 및 서비스에 대한 간단한 설명입니다.

셀레늄

  • WebDriver를 피드하고 다양한 브라우저를 제어하는 테스트 스크립트에 대한 API를 포함하는 프레임워크입니다.
  • 실제 디바이스에서 테스트하기 위해 App Ium과 함께 사용할 수 있습니다.
  • SeleniumGrid는 병렬 테스트를 위해 노드 전체에 테스트를 지시합니다.
  • Selenium IDE를 사용하면 테스트 케이스 쓰기를 줄일 수 있습니다.

자세한 내용은 https://www.seleniumhq.org/을 참조하십시오.

Testdroid

  • 지속적인 통합 연결 및 실제 디바이스 테스트를 지원하는 클라우드 기반의 테스트 서비스
  • 장치 호환성을 확인하고 로그를 분석하고 뷰를 순회하며 스크린샷을 찍고 성능을 모니터링하는 App Crawler가 포함되어 있습니다.

자세한 내용은 https://testdroid.com/을 참조하십시오.

Appium

  • App Ium은 모바일 테스트를 자동화하기 위해 널리 사용되는 크로스 플랫폼 프레임워크입니다.
  • 또한 코드 테스트 케이스를 지원하는 기록 기능이 포함된 검사자도 포함되어 있습니다.

자세한 내용은 https://appium.io/을 참조하십시오.

SauceLabs

  • SauceLabs는 클라우드 기반의 테스트를 제공하고 지속적인 통합과 통합합니다.
  • 테스트는 클라우드 환경에서 자동으로 실행되거나 특정 디바이스 또는 플랫폼을 시작하고 수동 테스트를 수행하여 문제를 디버깅할 수 있습니다.

자세한 내용은 https://saucelabs.com/을 참조하십시오.

AppTestNow

  • 모바일 앱을 테스트할 아웃소싱 서비스입니다.
  • 대규모 디바이스 풀을 포함하고 다양한 유형의 테스트를 제공합니다.성능, 품질, 기능, 인증, 로컬라이제이션, 데이터 소비 등

자세한 내용은 https://www.apptestnow.com을 참조하십시오.

하키 앱

  • 하키앱은 모바일 앱이 개인 앱 스토어로 푸시되어 테스터가 다운로드하고 시도할 수 있는 수동 테스트에 해당됩니다.

자세한 내용은 https://hockeyapp.net/features/을 참조하십시오.

젠킨스

  • 테스트 도구는 아니지만 Jenkins는 자동화된 테스트의 백본을 제공하는 지속적인 통합 프레임워크입니다. 다양한 타사 플러그인을 사용하여 기능을 확장할 수 있습니다. 한 가지 예로 SeleniumGrid 플러그인은 Selenium 허브 및 노드를 관리하는 데 도움이 되는 UI를 제공합니다.

자세한 내용은 https://jenkins-ci.org/https://wiki.jenkins-ci.org/display/JENKINS/Plugins을 참조하십시오.

이 페이지에서는