Show Menu
화제×

모바일 앱 테스트

단일 페이지 애플리케이션 프레임워크 기반 클라이언트측 렌더링(예: 응답)이 필요한 프로젝트에 SPA 편집기를 사용하는 것이 좋습니다. 추가 정보 .
시장에 나와 있는 다양한 디바이스와 출시되는 디바이스를 고려할 때 앱 테스트가 매우 중요해졌습니다. 이 영역은 앱스토어에서 기능과 유용성이 낮은 평가를 얻을 수 있지만 단일 결함으로 인해 앱이 제거될 수 있는 영역입니다. 테스트 계획 및 품질 보증에서는 세심한 주의가 필요합니다. 다음 링크에서는 환경 식별, 테스트 케이스 정의, 테스트 유형, 가정, 고객 참여 등과 같이 일반적으로 다루어야 하는 많은 주제를 다룹니다. 또한 테스팅 작업에 도움이 되는 툴도 살펴보았습니다. Hobbes와 같은 내부 툴은 웹 기반 UI 테스트에 도움이 될 수 있습니다. 힘든 날은 시뮬레이션된 부드로 인스턴스를 강조할 수 있습니다. 테스트 환경에 이미 Selenium과 같은 타사 도구가 있는 경험이 있는 경우 이러한 도구도 사용할 수 있습니다.
모바일 앱을 개발할 때 기존 테스트와 함께 해결해야 하는 디바이스와 관련된 새로운 문제가 많이 있습니다.
  • 기능 - 앱에서 모든 요구 사항을 충족합니까?
  • 사용성 - 고객이 앱을 손쉽게 사용하고 이해할 수 있습니까?
  • 성능 - 사용 스파이크 중 어떤 일이 발생합니까? 스와이프 및 Carousel과 같은 앱 요소가 빠른 속도로 사용되는지, 그리고 경험에서 벗어나지 않는지 여부
  • 실패 또는 인터럽트 - 앱이 실행되는 동안 수신 전화 또는 알림이 있을 경우 어떻게 됩니까? 네트워크 중단이나 전원이 꺼지면 어떻게 됩니까?
  • 설치 및 업데이트 - 설치 환경은 어떻게 됩니까? 업데이트는 어떻게 푸시됩니까?
  • 기술 - 앱에서 장치의 전원이 너무 많이 소모됩니까?
  • 현지화 - 앱의 모든 영역이 번역됩니까?
  • 인증 - 앱이 인증되었습니까? 고객은 모든 데이터 개인 정보 보호 법적 요건을 준수한다고 신뢰할 수 있습니까?
이러한 질문은 자동화된 수동 테스트 중에 답변해야 합니다.

테스트 자동화

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

수동 테스트

자동 테스트 외에도 앱을 수동으로 테스트해야 합니다. 실제 디바이스에서 앱을 실행하는 고객은 스크립트로 복제할 수 없습니다. 여기에도 다양한 옵션이 있습니다. Hockeapp과 같은 플랫폼을 사용하여 액세스 권한이 있는 사용자를 정의하고 피드백을 수집할 수 있습니다. 또는 UTest, OptimableStar 또는 Testn과 같은 서비스에 전체 프로세스를 아웃소싱할 수 있습니다. 내부 테스터 그룹이 있지만 다양한 디바이스가 없는 경우 디바이스 풀에서 수동 테스트를 수행할 수 있는 클라우드 서비스가 있습니다. 이것을 제공하는 서비스는 SauceLabs입니다. 또한 PhoneGap Enterprise에 원격으로 앱을 빌드하고 승인 테스트 또는 데모링 수준으로 로컬 장치에 설치할 수 있습니다. 최신 기능과 설명서는 PhoneGap 웹 사이트를 참조하십시오. 어떤 방식으로든 수동 테스팅이 필요합니다.
  • 테스터를 많이 공격해서
  • 대규모 장치 풀에 대해 테스트(특히 실제 장치를 사용할 수 없지만 실제 장치를 사용할 수 없는 경우 시뮬레이터/에뮬레이터),
  • 유익한 피드백을 제공합니다.
    • 충돌 보고서,
    • analytics/tracking,
    • 유용성,
    • 관심 영역,
    • 성능,
    • 데이터/전력 소비 등

도구

모바일 앱 테스트에 사용할 수 있는 다양한 툴이 있습니다. 사용할 항목 선택은 특정 상황에 따라 달라집니다.기능, 가격, 지원, 서비스 등 다음은 사용 가능한 일부 도구 및 서비스에 대한 간단한 설명입니다.
셀레늄
  • WebDriver 피드 및 다양한 브라우저 제어를 위한 테스트 스크립트에 대한 API를 포함하는 프레임워크입니다.
  • App과 함께 사용하여 실제 디바이스에서 테스트할 수 있습니다.
  • SeleniumGrid는 병렬 테스트를 위해 노드 간에 테스트를 지시합니다.
  • Selenium IDE를 사용하면 테스트 케이스 쓰기를 줄일 수 있습니다.
자세한 내용은 https://www.seleniumhq.org/을 참조하십시오 .
Testdroid
  • 지속적인 통합과 실제 디바이스 테스트를 지원하는 클라우드 기반의 테스트 서비스입니다.
  • 장치 호환성을 확인하고 로그를 분석하고 뷰를 순회하며 스크린샷을 찍고 성능을 모니터링하는 App Crawler가 포함되어 있습니다.
자세한 내용은 https://testdroid.com/을 참조하십시오 .
Appium
  • Apple은 모바일 테스트를 자동화하기 위해 널리 사용되는 크로스 플랫폼 프레임워크입니다.
  • 또한 코드 테스트 케이스를 지원하는 기록 기능이 포함된 검사자도 포함되어 있습니다.
자세한 내용은 https://appium.io/을 참조하십시오 .
SauceLabs
  • SauceLabs는 클라우드 기반의 테스트를 제공하고 지속적인 통합과 통합합니다.
  • 테스트는 클라우드 환경에서 자동으로 실행되거나 특정 디바이스 또는 플랫폼을 시작하고 수동 테스트를 수행하여 문제를 디버깅할 수 있습니다.
자세한 내용은 https://saucelabs.com/을 참조하십시오 .
AppTestNow
  • 모바일 앱을 테스트할 아웃소싱 서비스입니다.
  • 다양한 디바이스 풀을 포함하며 다양한 유형의 테스트를 제공합니다.성능, 품질, 기능, 인증, 로컬라이제이션, 데이터 소비 등
자세한 내용은 https://www.apptestnow.com을 참조하십시오 .
하키 앱
  • Hockeapp은 모바일 앱이 개인 앱 스토어로 푸시되어 테스터가 다운로드하고 시도할 수 있는 수동 테스트에 해당합니다.
자세한 내용은 https://hockeyapp.net/features/을 참조하십시오 .
젠킨스
  • 테스트 도구는 아니지만 Jenkins는 자동화된 테스트를 위한 백본을 제공하는 지속적인 통합 프레임워크입니다. 다양한 타사 플러그인을 사용하여 기능을 확장할 수 있습니다. 예를 들어 SeleniumGrid 플러그인은 Selenium 허브 및 노드를 관리하는 데 도움이 되는 UI를 제공합니다.
자세한 내용은 https://jenkins-ci.org/ 및 https://wiki.jenkins-ci.org/display/JENKINS/Plugins 참조하십시오 .