모바일 앱 테스트

NOTE

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

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

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

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

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

자동화된 테스트

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

chlimage_1

수동 테스트

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

  • 테스터들의 큰 표적을 공격해서

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

  • 유익한 피드백 제공:

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

도구

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

셀레늄

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

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

Testdroid

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

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

아피움

  • 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을 참조하십시오.

이 페이지에서는