모바일 테스트-퀵 가이드
실제 튜토리얼을 시작하기 전에 재미를 보겠습니다. 다음 목록을 살펴보십시오. 오늘날의 바쁘고 바쁜 생활 방식에서 변함없이 직면해야하는 이러한 필수적인 집안일에 쉽게 공감할 수 있습니다.
전기세를 지불하고 싶습니다.
관리자와 연락하고 보고서를 긴급하게 제출해야합니다.
아이를 위해 새 옷을 사고 싶은데 가게에 갈 시간이 없어요.
아 ... 오후 10 시야. 비행 시간이 늦습니다. 내 택시는 어디에 있습니까?
나는이 도시에 처음으로 있었다. 어느 호텔을 예약해야합니까?
이제 스스로 대답하십시오. 이러한 활동을 순식간에 수행하려면 무엇이 필요합니까? 대답은-
- 스마트 폰,
- 인터넷 연결 및
- 작업을 수행하는 모바일 앱.
이를 통해 오늘날의 모바일 앱의 중요성을 깨닫게됩니다. 스마트 폰을 통해 모든 것이 스마트하게 이루어집니다. 매일 우리는 삶을 편하게 해줄 새로운 앱이나 도구에 대해 알게됩니다.
한 가지 잘 알려진 사례가 있습니다. Gowalla. 수백만 명의 사람들이 2007 년에 시작되어 5 년 후 폐쇄 된이 위치 기반 소셜 네트워크를 즐겼습니다. 여러 문제로 인해 Gowalla가 대중의 호소력을 얻지 못했습니다. 떠오른 주된 이유 중 하나는 "체크인이 사용자 친화적이지 않았습니다"였습니다.
성공적인 모바일 앱을 얻으려면 멋진 모바일 앱을 개발하는 것이 유일한 요구 사항이 아님을 이해해야합니다. 사용자의 호감도를 얻기 위해서는 모바일 앱을 철저히 테스트해야합니다. 결국 사용자 경험은 모든 소프트웨어를 성공적으로 만듭니다.
모바일 테스트로 이동하기 전에 모바일 플랫폼의 기본 사항을 이해하는 것이 좋습니다. 주로 모바일 운영 체제, 장치 유형 및 모바일 앱 유형이 포함됩니다. 이들 각각에 대한 충분한 지식이 있으면 장기적으로 강력한 테스트 계획을 수행하는 데 도움이됩니다.
모바일 운영 체제
다음 표는 시장에서 사용 가능한 인기있는 모바일 운영 체제의 개요를 제공합니다.
운영 체제 | 개발사 | 인기도 (낮음, 중간, 높음) | 사용 가능한 최신 버전 |
---|---|---|---|
Android | Google Inc | 높은 | Lollipop, Android 5.0-5.1 |
iOS | 애플 Inc | 높은 | iOS 8.X |
Blackberry | Blackberry Ltd | 낮은 | 블랙 베리 10.2.1 |
Windows | 마이크로 소프트 Inc | 매질 | Windows 10 Mobile |
Symbian | 심비안 재단 | 낮은 | 단종 |
몇 가지 일반적인 설문 조사를 기반으로 시장에서 다른 운영 체제의 사용이 아래와 같이 설명 될 수 있습니다.
모바일 장치는 일반적으로 휴대용 컴퓨터입니다. 물리적 크기, 하드웨어 및 소프트웨어 기능, 의미 등의 특성에 따라 많은 변형이 있습니다.
다음 표를 살펴보십시오. 태블릿, 전자 책 리더, 스마트 폰의 특성에 따라 차별화됩니다.
장치 | 정제 | 전자 책 독자 | 스마트 폰 |
---|---|---|---|
그것은 무엇입니까 | 태블릿은 휴대용 컴퓨터 장치입니다. 기존 컴퓨터와 달리 키보드 나 마우스가 없지만 전체 화면이 터치에 민감합니다. | 전자 책 리더 (e-reader라고도 함)는 주로 전자 책 (디지털, 다운로드 가능한 책)을 읽기 위해 설계된다는 점을 제외하면 태블릿 컴퓨터와 유사합니다. | 스마트 폰은 전화 서비스를 제공하는 것 외에도 다양한 애플리케이션을 실행할 수 있도록 설계된 강력한 휴대폰입니다. |
사용 | 기존 컴퓨터 나 데스크톱으로 할 수있는 거의 모든 작업입니다. | 전자 책 읽기 | 웹 브라우징, 비디오 시청, 전자 책 읽기 및 게임 |
예 | 삼성 태블릿 | Amazon Kindle, Barnes 및 Noble Nook. | Sony 스마트 폰, 삼성 스마트 폰, Apple iPhone. |
테스트 계획을 수행하는 동안 고려해야 할 중요한 요소는 모바일 애플리케이션 유형을 확인하는 것입니다. 주로 모바일 웹, 네이티브 앱 및 하이브리드 앱의 세 가지 유형의 모바일 애플리케이션을 접하게됩니다. 분류는 개발 노력과 앱 재배포 전략을 기반으로합니다. 그들 각각을 자세히 이해합시다.
모바일 웹
웹 애플리케이션은 실제 애플리케이션이 아닙니다. 실제로 웹 브라우저를 사용하여 스마트 폰에서 열리는 웹 사이트입니다. 모바일 웹 사이트는 모든 기본 유형의 응용 프로그램에 대해 가장 광범위한 대상을 가지고 있습니다.
Example− 튜토리얼 포인트
Benefits −
쉬운 접근.
쉬운 개발-반응 형 디자인을 개발하고 작은 화면 / 하드웨어에 제대로 표시되도록 콘텐츠를 재구성하면 모든 데스크톱 웹 사이트가 모바일 친화적으로 만들어집니다.
간편한 업데이트-한 위치에서 업데이트 만하면 모든 사용자가 자동으로 최신 버전의 사이트에 액세스 할 수 있습니다.
네이티브 또는 하이브리드 앱에 비해 설치가 필요하지 않습니다.
Downside −
모바일 웹 사이트에서는 일부 기능을 사용할 수 없습니다. 예를 들어 웹 사이트에서는 파일 시스템 및 로컬 리소스에 대한 액세스를 사용할 수 없습니다.
많은 기존 웹 사이트는 오프라인 기능을 지원하지 않습니다.
사용자는 홈 화면에 앱 아이콘이 지속적으로 표시되지 않습니다. 웹 사이트는 웹 브라우저에서만 열어야합니다.
네이티브 및 하이브리드 앱은 App Store와 Google Play에 표시되지만 웹 앱은 표시되지 않습니다. 따라서 재배포는 그렇게 합리적이지 않습니다.
네이티브 앱
네이티브 앱은 하나의 플랫폼을 위해 특별히 개발되었습니다. 애플리케이션 스토어 (예 : Google Play Store 또는 Apple의 App Store)를 통해 설치할 수 있습니다.
Example − Whatsapp, Facebook.
Benefits −
네이티브 앱은 기기에 있으며 기기 홈 화면의 아이콘을 통해 액세스 할 수 있습니다.
카메라, GPS, 가속도계, 나침반, 연락처 목록 등을 사용할 수 있으므로 모든 장치 기능을 최대한 활용할 수 있습니다. 또한 제스처 (표준 운영 체제 제스처 또는 신규 및 앱 정의 제스처)를 통합 할 수 있습니다.
기본 앱은 기기의 알림 시스템을 사용할 수 있으며 오프라인으로 작업 할 수 있습니다.
게시자는 푸시 알림을 사용하여 새로운 콘텐츠가 게시 될 때마다 또는주의가 필요할 때 사용자에게 경고 할 수 있습니다.
네이티브 앱은 각 운영 체제의 UI 디자인을 유지하므로 최상의 사용자 경험을 제공합니다. 예를 들어 네이티브 앱은 Android의 경우 왼쪽 정렬 헤더와 iOS의 중앙 정렬 헤더를 가질 수 있습니다.
재배포는 앱 스토어에서 찾을 수 있기 때문에 쉽습니다.
Downside −
앱 빌드 비용이 높음 : 한 플랫폼 용으로 개발 된 네이티브 앱은 다른 플랫폼에서 실행되지 않습니다. Android 용으로 제작 된 앱은 iOS에서 실행되지 않습니다. iOS 용으로 완전히 다른 앱을 빌드해야합니다. 이러한 이유로 여러 버전의 앱을 유지해야합니다.
네이티브 앱을 게시 할 수 있지만 모바일은 더 많은 트래픽을 가져 오므로 모바일 웹 사이트를 잘 유지 관리하는 것이 좋습니다. 따라서 유지 보수가 더 높습니다.
하이브리드 앱
하이브리드 앱은 기존 웹 사이트의 콘텐츠를 앱 형식으로 노출하는 방법입니다. 웹 앱과 네이티브 앱의 혼합으로 잘 설명 될 수 있습니다.
Example − Instagram, Wikipedia.
Benefits −
하이브리드 앱을 개발하는 것은 네이티브 앱을 개발하는 것보다 저렴합니다. 크로스 플랫폼 용으로 구축 할 수 있습니다. 즉, 앱 개발 비용을 절감 할 수 있습니다.
유지 관리 할 버전이 많지 않기 때문에 유지 관리가 간단합니다.
장치에서 사용할 수있는 몇 가지 기능을 활용할 수 있습니다.
App Store에서 찾을 수 있으므로 배포가 쉽습니다.
앱에만 내장 된 브라우저가 있습니다.
Downside −
그래픽은 기본 앱에 비해 운영 체제에 덜 익숙합니다.
하이브리드 앱은 네이티브 앱보다 느립니다.
장치 테스트
이러한 유형의 테스트는 일반적으로 모바일 장치의 품질을 보장하기 위해 수행됩니다. 테스트에는 모바일 용 하드웨어 및 소프트웨어 테스트가 포함됩니다. 여기서는 일반적으로 모바일 장치에서 수행되는 다양한 유형의 테스트에 대해 설명합니다.
단위 테스트
단위 테스트는 일반적으로 개발자가 모바일 장치 개발의 일부를 테스트하는 테스트 단계입니다. 여기에는 하드웨어 테스트, 소프트웨어 테스트 및 기계 테스트가 포함될 수 있습니다.
공장 테스트
공장 테스트는 모바일 장치에서 일종의 온 전성 검사입니다. 제조 또는 조립으로 인한 불량이 없는지 자동으로 확인합니다. 주로 다음 테스트가 포함됩니다.
- 모바일 애플리케이션 테스트
- 하드웨어 테스트
- 배터리 (충전) 테스트
- 신호 수신
- 네트워크 테스트
- 프로토콜 테스트
- 모바일 게임 테스트
- 모바일 소프트웨어 호환성 테스트
인증 테스트
인증 테스트는 모바일 장치가 시장에 출시되기 전에 확인하는 것입니다.
응용 프로그램 테스트
모바일 애플리케이션 테스트는 핸드 헬드 모바일 장치 용으로 개발 된 소프트웨어의 기능, 유용성 및 일관성을 테스트하는 프로세스입니다. 모바일 장치에서 수행 할 수있는 다양한 유형의 테스트가 있습니다. 예를 들면
- 기능 테스트
- 실험실 테스트
- 성능 시험
- 메모리 누수 테스트
- 인터럽트 테스트
- 사용성 테스트
- 설치 테스트
- 인증 테스트
- 보안 테스트
키 포인트
장치 테스트는 일반적으로 모바일 장치 자체를 확인하기 위해 수행되는 반면 모바일 응용 프로그램 테스트에는 선택한 장치에서 실행될 응용 프로그램의 테스트가 포함됩니다.
장치 테스트라고하면 하드웨어 테스트가 그 일부가됩니다. 모바일 애플리케이션 테스트의 경우, 즉 테스트중인 애플리케이션에 하드웨어 통합이 필요한 경우 하드웨어 테스트가 포함됩니다.
모바일 장치 테스트와 모바일 애플리케이션 테스트를위한 자동화가 가능합니다.
한 가지는 모바일 테스트의 경우 자명합니다. 모바일 테스트를 수행하려면 모바일 장치가 필요합니다. 이것은 우리 제품이 주어진 모바일 세트에서 어떻게 작동하고 보이는지에 액세스하는 것입니다.
항공권 예약 시스템 용 애플리케이션을 개발 중이라고 가정 해 보겠습니다. 제품이 완전히 개발되면 모바일 테스트의 일환으로 Android 휴대폰, iOS, Blackberry 휴대폰 및 기타 다양한 유형의 태블릿 및 iPad와 같이 주로 사용되는 모든 장치에서 애플리케이션이 예상대로 작동하는지 확인해야합니다.
이러한 종류의 확인을 수행하려면 이러한 각 장치를 획득 한 다음 응용 프로그램이 예상대로 작동하는지 확인할 수 있습니다. 그렇습니다. 제품 소유자로서 많은 수의 모바일 장치를 확보하고 테스트를 수행하는 데이 비용이 매우 비싸다는 것을 알 수 있습니다. 그렇다면 현명한 대안이 있습니까?
이 문제에 대한 해결책은 모바일 시뮬레이터와 모바일 에뮬레이터를 사용하는 것입니다. 이들은 주로 스마트 폰의 중요한 기능에 대한 시뮬레이션을 제공하도록 설계된 소프트웨어 프로그램입니다. 그것들은 본질적으로 매우 유사하므로 때때로 서로 바꿔서 사용됩니다.
에뮬레이터 / 시뮬레이터에서 테스트하는 것이 실제 장치에서 테스트하는 것과 어떻게 다른지 비교해 보겠습니다.
실제 장치 | 에뮬레이터 / 시뮬레이터 | |
---|---|---|
가격 | 실제 장치를 얻으려면 많은 비용이 듭니다. | 거의 무료이며 다운로드하여 설치하기 만하면됩니다. |
처리 속도 | 처리 속도가 더 빠릅니다. 그러나 네트워크 대기 시간은 정상일 수 있습니다. | 실제 장치에 비해 느립니다. 로컬 네트워크 또는 클라우드에 연결된 실제 장치보다 지연 시간이 짧습니다. |
디버깅 | 디버깅은 그렇게 쉽지 않습니다. | 응용 프로그램의 단계별 디버깅을 제공합니다. 또한 스크린 샷을 캡처하는 효율적인 방법을 제공합니다. |
웹 앱 테스트 | 웹 응용 프로그램은 일반적인 방법으로 테스트 할 수 있습니다. | 웹 애플리케이션 테스트가 훨씬 쉽습니다. |
신뢰할 수 있음 | 실제 장치에서 테스트하면 항상 정확한 결과를 제공한다는 큰 장점이 있습니다. | 모든 유형의 사용자 상호 작용을 시뮬레이션 할 수는 없습니다. 따라서 때로는 잘못된 결과를 초래할 수 있습니다. 따라서 신뢰성 측면에서 낮은 점수를 받았습니다. |
시뮬레이터 / 에뮬레이터는 다음 기능을 모방 할 수 없습니다.
- 모바일 장치 배터리
- 모바일 장치의 카메라
- 수신 전화 및 SMS와 같은 중단을 모방하기가 어렵습니다.
- 모바일 장치 메모리 사용에 대한 그다지 현실적인 시뮬레이션은 아닙니다.
이제 모바일 시뮬레이터와 모바일 에뮬레이터에 대해 더 많이 이해하겠습니다. 둘 사이에는 구체적인 차이점이 있습니다. 다음 표에는 시뮬레이터와 에뮬레이터의 주요 차이점이 나열되어 있습니다.
에뮬레이터 | 모의 실험 장치 | |
---|---|---|
모방 한 것 | 모바일 장치 소프트웨어 모바일 장치 하드웨어 모바일 운영 체제 |
장치의 내부 동작. 하드웨어를 모방하지 않습니다. |
그것을 얻는 방법 | 일반적으로 장치 제조업체에서 제공합니다. | 일반적으로 장치 제조업체 또는 다른 회사에서 제공합니다. |
내부 구조 | 기계 수준의 어셈블리 언어로 작성되었습니다. | 고급 언어로 작성되었습니다. |
디버깅 | 디버깅에 더 적합합니다. | 디버깅 목적에는 적합하지 않습니다. |
공연 | 에뮬레이터는 정말 느립니다. 실제 하드웨어를 에뮬레이션하면 일반적으로 소프트웨어가 원래보다 느리게 실행됩니다. | 에뮬레이터보다 빠릅니다. |
예 | Google의 Android SDK | Apple의 iOS 시뮬레이터 |
그렇다면 모바일 테스트를위한 최선의 선택은 무엇일까요? 모범 사례는 실제 개발이 진행되는 동안 에뮬레이터 또는 시뮬레이터를 사용해야 함을 나타냅니다. 제품을 완성하기 전에 선택한 실제 장치에 대한 온 전성 검사가 있어야합니다. 예를 들어 Android 스마트 폰 사용자가 엄청나게 많기 때문에 최신 Android 기기에 대한 온 전성 검사를하는 것이 현명한 선택이며 시뮬레이터를 통해 회귀를 수행 할 수 있습니다.
모바일 애플리케이션 테스트에 대한 간단한 정의는 다음과 같습니다.Mobile application testing 프로세스입니다 application software핸드 헬드 모바일 장치 용으로 개발 된 제품은 기능, 유용성 및 일관성을 테스트합니다. 모바일 애플리케이션 테스트는 자동화 또는 수동 테스트 유형일 수 있습니다. "
Note − 더 나은 이해를 위해 온라인 항공권 예약 시스템 용 모바일 애플리케이션을 테스트하고 있다고 가정합니다.
기능 테스트
기능 테스트는 정의 된 요구 사항에 따라 작동하는지 확인하기 위해 모든 애플리케이션에 대한 가장 기본적인 테스트입니다. 다른 사용자 인터페이스 기반 애플리케이션과 마찬가지로 모바일 애플리케이션은 사용자 시나리오에서 많은 인간 상호 작용이 필요합니다.
예제 테스트 시나리오-
선택한 날짜에만 선택한 출발지에 대한 항공편 가용성이 표시되는지 확인합니다.
과거 날짜가 검색 결과에 포함되지 않았는지 확인하십시오.
호환성 테스트
호환성 테스트는 모바일 애플리케이션 테스트와 관련하여 가장 높은 스택을 가지고 있습니다. 일반적으로 모바일 앱 호환성 테스트의 목적은 앱의 주요 기능이 특정 기기에서 예상대로 작동하는지 확인하는 것입니다. 호환성 자체는 몇 분 밖에 걸리지 않으며 미리 계획 할 수 있습니다.
어떤 모바일 장치 호환성 테스트를 수행해야하는지 결정하는 것은 쉬운 작업이 아닙니다 (사용 가능한 모든 장치로 테스트하는 것은 불가능하기 때문입니다). 따라서 가능한 모든 조합으로 테스트 매트릭스를 준비하고 클라이언트가 우선 순위를 지정하십시오.
예제 테스트 시나리오-
- Android 장치에서 항공편 검색이 성공적으로 수행되었는지 확인하십시오.
- Apple iPad에 대한 항공편 검색이 성공적으로 수행되었는지 확인하십시오.
현지화 테스트
오늘날 대부분의 앱은 글로벌 사용을 위해 설계되었으며 언어, 시간대 등과 같은 지역 추적을 관리하는 것이 매우 중요합니다. 누군가 시간대를 변경할 때 앱의 기능을 검증하는 것이 중요합니다. 때로는 서양 디자인이 동부 국가의 청중과 작동하지 않거나 그 반대의 경우도있을 수 있다는 점을 고려해야합니다.
예제 테스트 시나리오-
다른 언어 (또는 영어가 아닌 언어)로 모바일 앱을 사용할 때 UI 또는 데이터 잘림 문제가 없는지 확인합니다.
모바일 애플리케이션에 대해 시간대 변경이 정상적으로 처리되는지 확인하십시오.
실험실 테스트
일반적으로 네트워크 사업자가 수행하는 실험실 테스트는 전체 무선 네트워크를 시뮬레이션하여 수행됩니다. 이 테스트는 모바일 애플리케이션이 음성 및 / 또는 데이터 연결을 사용하여 일부 기능을 수행 할 때 결함을 확인하기 위해 수행됩니다.
예제 테스트 시나리오-
고객이 지원 직원과 음성 채팅을하는 동안 결함이 없는지 확인합니다.
성능 시험
모바일 성능 테스트는 클라이언트 애플리케이션 성능, 서버 성능 및 네트워크 성능을 다룹니다. 성능 테스트 시나리오가 이러한 모든 영역을 포함하는지 확인하는 것이 중요합니다. 성능 테스트 도구를 사용하면 미리 정의 된로드 및 트랜잭션 혼합을 고려할 때 기존 네트워크, 서버 및 서버 측 애플리케이션 병목 현상을 식별하는 것이 어렵지 않습니다.
예제 테스트 시나리오-
항공편 이용 가능 확인이 합리적인 시간 만 걸리는지 확인하십시오.
항공편 이용 가능 여부를 확인하는 동안 모바일이 정상적으로 작동하고 멈추지 않는지 확인하십시오.
스트레스 테스트
스트레스 테스트는 기능 및 사용자 인터페이스 테스트 중에 눈에 띄지 않을 수있는 예외, 중단 및 교착 상태를 찾는 데 필수적입니다. 다음은 스트레스 테스트를위한 몇 가지 기준 목록입니다.
중단 점에 도달하기 위해 가능한 한 많은 데이터로 애플리케이션을로드합니다.
동일한 작업을 반복해서 수행하십시오.
매우 빠르게 또는 매우 느리게 다양한 속도로 반복 작업을 수행합니다.
장치와 상호 작용하고 유휴 상태로 두거나 슬라이드 쇼와 같이 시간이 오래 걸리는 자동 작업을 수행하는 등 응용 프로그램을 오랫동안 실행 상태로 둡니다.
화면 탭과 키 입력을 애플리케이션에 무작위로 보냅니다.
장치에서 여러 응용 프로그램을 실행하여 응용 프로그램과 다른 장치 응용 프로그램 사이를 자주 전환 할 수 있습니다.
예제 테스트 시나리오-
- 1000 명의 사용자가 국내선을 검색하기 위해 모바일 앱에 액세스하고 있는지 확인하십시오.
- 1000 명의 사용자가 국내선을 검색하기 위해 모바일 앱에 액세스하고 있는지 확인하십시오.
보안 테스트
해킹, 인증 및 권한 부여 정책, 데이터 보안, 세션 관리 및 기타 보안 표준에 대한 취약성은 모바일 앱 보안 테스트의 일부로 확인되어야합니다. 응용 프로그램은 네트워크를 통해 사용자를 인증 할 때 사용자 이름과 암호를 암호화해야합니다.
보안 관련 시나리오를 테스트하는 한 가지 방법은 OWASP Zed Attack Proxy와 같은 프록시 서버를 통해 모바일 데이터를 라우팅하고 취약점을 찾는 것입니다.
예제 테스트 시나리오-
응용 프로그램이 두 개의 다른 모바일 장치에서 동일한 사용자 자격 증명으로 작동하지 않는지 확인합니다.
세션이 15 분 이상 비활성 상태로 유지되면 세션이 자동으로 만료되는지 확인합니다.
메모리 누수 테스트
모바일 장치는 다른 컴퓨터에 비해 메모리가 매우 제한적이며 모바일 운영 체제에는 과도한 메모리를 사용하고 사용자 경험을 저하시키는 응용 프로그램을 종료하는 기본 동작이 있습니다.
메모리 테스트는 모바일 애플리케이션에서 각 애플리케이션이 사용자 여정 전반에 걸쳐 최적화 된 메모리 사용량을 유지하는지 확인하는 데 매우 중요합니다. 시스템 아키텍처가 에뮬레이터와 실제 장치가 다르기 때문에 실제 대상 장치에서 메모리 테스트를 수행하는 것이 좋습니다.
예제 테스트 시나리오-
비행 가능 여부를 10 번 확인하고 각 확인에 대해 증가하는 메모리 사용량을 기록해 둡니다.
애플리케이션을 10 분 동안 실행하고 메모리 사용량이 안정적인지 관찰하십시오.
전력 소비 테스트
다양한 모바일 장치에 사용되는 배터리 유형에는 여러 가지가 있습니다 (예 : 니켈 카드뮴 / 리튬 이온 / 니켈 금속 하이브리드). 전력 소비 테스트에 중점을 두는 동안 각 활동 수준에서 배터리 상태를 측정해야합니다. 개별 애플리케이션의 전력 소비를 더 잘 이해할 수 있습니다.
전력 소비 테스트는 수동으로 수행 할 수 있습니다. 또한 Trepn Profiler, Power Tutor 및 Nokia Energy Profiler와 같은 시장에서 사용할 수있는 몇 가지 무료 도구가 있습니다. 스마트 폰 또는 태블릿에서 실시간 전력 소비량을 표시 할 수있는 애플리케이션입니다.
예제 테스트 시나리오-
모바일 앱을 사용하여 항공편 이용 가능 여부를 검색하고 전력 소비가 최소화되었는지 확인하십시오.
모바일 앱을 이상적인 상태로 유지하십시오. 앱에 대한 활동이 없을 때 전력 소비가 없는지 확인하십시오.
인터럽트 테스트
애플리케이션이 작동하는 동안 수신 전화 또는 네트워크 커버리지 중단 및 복구와 같은 여러 가지 중단에 직면 할 수 있습니다. 이것은 다시 구별 될 수 있습니다-
- 수신 및 발신 SMS 및 MMS
- 수신 및 발신 전화
- 수신 알림
- 배터리 제거
- 데이터 전송을위한 케이블 삽입 및 제거
예제 테스트 시나리오-
수신 전화를받은 후 항공편 가용성 확인이 일시 중지되고 다시 재개되는지 확인합니다.
사용자가 앱을 사용하는 동안 통화를 거부하고 이후 동일한 앱을 다시 시작할 수 있는지 확인합니다.
사용성 테스트
사용성 테스트는 대상 고객에 대해 다음 세 가지 기준에 따라 응용 프로그램을 평가합니다.
Efficiency − 특정 사용자가 특정 환경에서 특정 목표를 달성 할 수있는 정확성과 완전성.
Effectiveness − 달성 된 목표의 정확성 및 완전성과 관련하여 소비 된 자원.
Satisfaction − 사용자 및 사용에 영향을받는 다른 사람들에 대한 작업 시스템의 편안함과 수용 가능성.
응용 프로그램 설계의 초기 단계부터 사용성 테스트를하는 것이 매우 중요하며 응용 프로그램이 완료되었을 때만 수행해서는 안됩니다. 사용성 테스트에는 사용자의 많은 참여가 필요하며 출력은 프로젝트의 후반 단계에서 변경하기가 매우 어려운 애플리케이션 디자인에 영향을 줄 수 있습니다.
예제 테스트 시나리오-
- 항공편 가용성 확인은 홈페이지에 있어야합니다.
- 스폰서 광고를 콘텐츠 중간에 표시해서는 안됩니다.
설치 테스트
설치 테스트는 사용자가 어려움을 겪지 않고 설치 프로세스가 원활하게 진행되는지 확인합니다.
예제 테스트 시나리오-
- 설치 프로세스가 원활하고 오래 걸리지 않는지 확인하십시오.
- 엔터프라이즈 앱 스토어를 통해 설치가 성공했는지 확인하십시오.
제거 테스트
제거 테스트의 기본 사항은 "제거는 단 한 번에 앱과 관련된 데이터를 제거해야합니다"로 한 줄로 요약 할 수 있습니다.
예제 테스트 시나리오-
제거 후 모든 응용 프로그램 관련 파일이 성공적으로 제거되었는지 확인합니다.
미디어 파일 (Whatsapp 또는 Facebook 등)을 저장하는 앱인 경우 앱을 제거한 후에도 파일을 보관하십시오.
업데이트 테스트
모바일 앱 업데이트에 대해 매우주의해야합니다. 사람들은 업데이트 후 응용 프로그램이 만족스럽게 작동하지 않는다고 자주 불평합니다. 따라서 업데이트 테스트에서 앱이 이전에 작동했던 것처럼 작동하는지 확인하는 것이 매우 중요합니다. 요컨대, 그것은 아무것도 깨서는 안됩니다. 모바일 애플리케이션 업데이트는 두 가지 방법으로 수행 할 수 있습니다.Automatic update 과 Manual update.
예제 테스트 시나리오-
- 자동 업데이트 후 응용 프로그램이 성공적으로 작동하는지 확인합니다.
- 업데이트 진행률이 제대로 표시되는지 확인합니다.
인증 테스트
규정 준수 인증서를 얻으려면 각 모바일 장치를 서로 다른 모바일 플랫폼에서 설정 한 지침에 따라 테스트해야합니다.
예제 테스트 시나리오-
iPhone에 설치할 때 응용 프로그램이 iOS 휴대폰의 정책을 준수하는지 확인합니다.
애플리케이션이 Android에 설치 될 때 Android 휴대폰의 정책을 준수하는지 확인합니다.
모바일 애플리케이션을 사용하고 있는데 흥미롭게도 다음과 같은 상황이 발생한다고 가정 해 보겠습니다.
- 버튼 정렬이 없습니다.
- 텍스트가 잘립니다.
- 캘린더 제어가 잘리고 있습니다.
실제로 이것은 모든 사용자에게 불쾌한 경험입니다. 사용자에게 우수한 경험을 제공하기 위해 모바일 UI 테스트를 적극 권장합니다.
테스트 계획에서 가장 먼저 살펴볼 영역은 사용자 인터페이스입니다. 애플리케이션이 다음과 같은 특정 기대치를 충족하는지 확인하는 것은 테스터로서의 귀하의 임무입니다.
- 장치의 전체적인 색 구성표 / 테마
- 아이콘 스타일 및 색상
- 페이지가로드 될 때 진행률 표시기
- 메뉴 및 호출 방법 및 포함 된 일반적인 항목
- 이 장치에서 응용 프로그램의 전반적인 응답
모바일 UI 테스트의 기본 사항에 대해 자세히 알아 보겠습니다.
화면 방향 / 해상도
웹 콘텐츠는 다양한 장치와 네트워크 조건에서 멋지게 보이고 느껴 져야합니다. 일반적으로 페이지를 사용할 수 있는지 확인할 수 있도록 일반적으로 사용되는 화면 해상도에서 웹 페이지를 테스트하는 것이 좋습니다.
다중 열 레이아웃이있는 경우 열이 올바르게 정렬되고 방문자의 해상도가 낮을 때도 여전히 볼 수 있는지 확인할 수도 있습니다. 표준 화면 해상도를 아는 것도 중요합니다.
- 640 × 480
- 800 × 600
- 1024 × 768
- 1280 × 800
- 1366 년 × 768
- 1400 년 × 900
- 1680 년 × 1050 년
사용 가능한 도구
모바일 UI 테스트를 더 부드럽고 간단하게 만들 수있는 도구가 시장에 많이 나와 있습니다. 예를 들면-
- Google 크롬 확장
- Screenfly
- 브라우저 스택
이러한 도구와 그 유용성에 대해 조금 더 이해합시다.
Google 크롬 확장
Google 크롬 웹 브라우저에서 사용할 수있는 무료 기능입니다. Google 크롬 확장 프로그램을 사용하여 모바일 웹을 테스트하는 방법에 대한 단계별 설명을 제공했습니다.
Step 1 − "Google Chrome 웹 브라우저"에서 테스트중인 웹 사이트를 엽니 다.
Step 2− F12를 누릅니다. 다음 스크린 샷과 같이 개발자 도구 창이 열립니다.
Step 3− 아이콘과 같은 모바일 장치를 클릭합니다. 다음 스크린 샷을 참조하십시오.
Step 4− 웹 사이트를 테스트 할 모바일 장치를 선택합니다. UI 확인을 수행하기 위해 사용 가능한 다른 장치를 선택할 수 있습니다.
Screenfly
Screenfly는 무료이며 사용하기 쉬운 도구입니다. 이것을 사용하려면 웹 브라우저 에서 Quirktools 를 입력하기 만하면 됩니다. 다음 화면이 표시됩니다.
테스트중인 웹 사이트를 입력하고 Go. 웹 사이트를 보려는 모바일 장치를 선택하십시오.
BrowserStack
모바일 UI 테스트를 수행하기위한 또 다른 훌륭한 도구입니다. 그것은 멋진 결과를 제공합니다. 유료 도구이지만 유효한 이메일 주소로 BrowserStack 에 등록하면 무료 추적을 이용할 수 있습니다 .
터치 스크린
멀티 터치 vs. 싱글 터치 스크린
기기 및 애플리케이션이 iPhone의 핀치 투 줌 효과와 같은 멀티 터치 기능을 지원하는 경우, 특히 소프트 키보드로 입력하는 동안 동시에 여러 곳에서 화면을 터치하는 것과 관련된 많은 테스트 사례를 포함해야합니다.
긴 터치 vs. 짧은 터치
터치 스크린 장치에서 두 번 클릭하는 개념은 없지만 (애플리케이션에 특별히 구현 된 경우있을 수 있지만) Android 스마트 폰과 같은 일부 장치는 긴 터치와 짧은 터치를 구분합니다. 항목을 길게 누르면 화면 중앙에 컨텍스트 메뉴가 표시되고 동일한 항목을 짧게 클릭하면 해당 컨텍스트 메뉴에서 첫 번째 작업이 자동으로 수행됩니다.
버튼 크기 및 위치
버튼과 아이콘은 큰 손가락 끝으로 쉽게 클릭 할 수 있도록 화면 가장자리에서 충분히 크고 멀리 떨어져 있어야합니다.
소프트 및 하드 키
소프트 키보드
종종 최종 사용자에게 중요한 다양한 특수 케이스와 코너 케이스가 있습니다.
사용자의 주요 작업이 텍스트 입력 인 경우 소프트 키보드가 자동으로 표시됩니까?
강조 표시된 필드가 이메일 주소를 입력하는 경우 소프트 키보드의 첫 번째 레이어에 바로 가기 "@"및 ".com"키가 포함되어 있습니까?
소프트 키보드를 쉽게 해제하고 다시 표시 할 수 있습니까?
소프트 키보드와 하드 키보드를 서로 바꿔서 사용할 수 있습니까 (장치에 둘 다있는 경우)?
하드 키
시작, 홈, 메뉴 및 뒤로와 같은 장치의 사용 가능한 하드 키 사용에 대한 많은 테스트를 포함해야합니다. 이들은 모두 장치의 기본 응용 프로그램과 상호 작용하는 방식과 유사하게 응용 프로그램과 상호 작용해야합니다.
트랙볼, 트랙 휠 및 터치 패드
장치에 터치 스크린이없는 경우 화면 탐색이 사용자에게 최대한 고통스럽지 않은지 확인하는 것이 훨씬 더 중요합니다. 이러한 경우 사용자는 트랙볼, 트랙 휠 또는 터치 패드를 사용하여 개체간에 이동할 수 있습니다.
휴대폰, 태블릿 및 eReader와 같은 모바일 장치를 테스트하려면 특수 장비와 방법이 필요합니다. 기존의 데스크톱 화면 캡처 소프트웨어는 터치 상호 작용을 적절하게 캡처 할 수 없기 때문에 사용성 실무자는 전략적으로 배치 된 카메라를 사용하여 이러한 모바일 장치에서 사용성 테스트 상호 작용을 기록해 왔습니다.
모바일 장치 테스트 수행 준비
휴대폰, 태블릿 및 eReader에서 사용성 테스트를 용이하게하는 방법론과 장치는 계속해서 개발되고 있습니다. 모바일 장치 테스트를 계획 할 때 다음 사항에 유의해야합니다.
Your timeframe and budget. 기간과 예산을 잘 이해하면 요구 사항에 가장 적합한 프로세스와 장비를 결정하는 데 도움이됩니다.
The physical setup of the space and how you will capture the test. 이것은 낮은 충실도 배열에서 특수 플랫폼 및 카메라 장치 사용 및 / 또는 시선 추적 소프트웨어 사용에 이르기까지 다양 할 수 있습니다.
Your target audience and devices.웹 분석을 사용하여 사이트를 방문하는 모바일 사용자 수, 사용하는 장치 및 운영 체제를 확인하십시오. 이 정보를 이해하면 테스트 할 장치를 파악하는 데 도움이됩니다.
테스트 계획 후 다루어야 할 또 다른 중요한 측면은 test device management. 대규모 조직에서 모바일 장치 테스트를 처리하려면 조직의 기밀 데이터를 보호하기위한 현명한 방법이 필요합니다. 이렇게하려면 보안 소프트웨어가 필요합니다. 다음 섹션에서는 장치 관리 도구에 대해 자세히 설명합니다.
장치 관리 도구
MDM (모바일 장치 관리)은 여러 모바일 서비스 공급자와 조직에서 사용되는 여러 모바일 운영 체제에 배포되는 직원의 모바일 장치를 모니터링, 관리 및 보호하기 위해 IT에서 사용되는 보안 소프트웨어 유형입니다.
MDM은 종종 모바일 애플리케이션 관리와 같은 추가 보안 서비스 및 도구와 결합되어 완전한 모바일 장치 및 보안 엔터프라이즈 모바일 관리 솔루션을 생성합니다.
이 작업을 수행 할 수있는 많은 도구가 시장에 나와 있습니다. 다음 표는 널리 사용되는 일부 도구 및 기능에 대한 개요를 제공합니다.
제품 | BlackBerry MDM | Citrix MDM | Dell MDM | IBM MDM | MobileIron MDM | SOTI MDM |
---|---|---|---|---|---|---|
기계적 인조 인간 | 2.3 이상 | 예 | 예 | 예 | 2.3 전류를 통해 | 예 |
iOS | 5.0 이상 | 예 | 예 | 예 | 4.0을 통해 현재 | 예 |
윈도우 폰 | BES10의 경우 아니요 (BES12의 경우 WP 8+) | 예 | 예 | 예 | 7 통해 현재 | 예 |
BlackBerry | 예, BBOS, BlackBerry 10 | 예 | 아니 | 예 | 10 (ActiveSync 사용) | 아니 |
심비안 | 아니 | 예 | 아니 | 예 | 아니 | 아니 |
Windows OS | 아니 | 예 | 예 | 예 | 8.1 RT / Pro | 아니 |
맥 OS X | 아니 | 곧 출시 | 예 | 예 | 사자, 산 사자 | 예 |
다른 | 아니 | Windows Mobile | 없음 | Office 365, Gmail, Lotus | 없음 | Windows Mobile, CE, 임베디드 |
WiFi 구성 / 비활성화 | 예 | 예 | 예 | 예 | 예 | 예 |
장치 암호화 | 예 | 예 | 예, 기기 유형에 따라 다름 | 예 | 예 | 예 |
이메일 암호화 | 예 | 예 | 예, 기기 유형에 따라 다름 | 예 | 예 | 예 |
다단계 인증 | 예 | 예 | 아니 | 예 | 예 | 예 |
맬웨어 감지 | 아니 | 아니 | 아니 | 예 | 예 (파트너 통합 포함) | 예 |
방화벽 | 예 | 아니 | 아니 | 예 | 예 (파트너 통합 포함) | 예 |
사용자 데이터를 기업 데이터와 분리 | 예 | 예 | 예 | 예 | 예 | 예 |
실제 모바일 장치 테스트를 진행하기 전에 모바일 장치 하드웨어 아키텍처에 대한 통찰력을 갖는 것이 매우 중요합니다. 이것은 우리가 실제로 모바일 장치 / 모바일 장치 애플리케이션 테스트에 뛰어들 때 더 나은 테스트 계획에 도움이 될 것입니다. 모바일 장치 하드웨어의 다양한 특성을 살펴 보겠습니다.
하드웨어 구성 요소
휴대폰을 가져 가면 대부분 다음과 같은 부분으로 구성됩니다.
회로 기판
모든 활동을 제어하는 전화의 두뇌라고 할 수 있습니다.
터치 스크린 디스플레이
터치 스크린은 스마트 폰의 중요한 구성 요소입니다. 터치 스크린은 화면에서 손가락이나 스타일러스를 놓은 위치를 인식하고 그에 따라 좌표를 전화기 CPU에 전달합니다.
두 가지 인기있는 터치 스크린 유형이 있습니다.
Resistive Touchscreen− 화면 위에 오버레이를 형성하는 두 개의 레이어 (작은 간격으로 구분)가 있습니다. 화면의 어느 지점에 손가락을 대면 두 사람이 접촉을 형성하고 좌표를 얻습니다. 이들은 상대적으로 저렴하며 대부분의 예산 전화기에서 올바르게 발견됩니다. 단점은 터치를 등록하려면 일정량의 압력이 필요하다는 것입니다. 시간이 지남에 따라 화면에 어느 정도의 손상이 발생합니다.
Capacitive Touchscreen− 화면 전체가 일정량의 전하를 유지하는 용량 성 물질로 코팅되어 있습니다. 손가락과 같은 전도체를 화면에 대면 그 지점에서 정전 용량의 변화가 일어나 좌표를 얻습니다. 정전 용량 방식 터치 스크린은 사람의 손가락으로 정전 용량이 변경되지 않는 추운 기후에서 잘 반응하지 않으므로 이러한 시나리오에서는 스타일러스를 사용하는 것이 좋습니다. 그런 다음multi-touch touchscreens거의 모든 손가락을 정확하게 찾을 수 있습니다. 이로 인해 터치 스크린에서 수행 할 수있는 제스처의 수가 증가했습니다.
메모리 카드
메모리 카드는 크기와 용량이 다릅니다. 디지털 정보를 저장하는 데이터 저장 장치로 널리 사용됩니다.
SIM 카드
SIM 카드는 개인 이동성을 제공하므로 사용자는 단말기의 위치와 특정 단말기의 사용에 관계없이 가입 된 모든 서비스에 액세스 할 수 있습니다. 해당 전화에서 전화를 받거나, 해당 전화에서 전화를 걸거나, 기타 가입 서비스를 받으려면 SIM 카드를 다른 GSM 휴대폰에 삽입해야합니다.
배터리
스마트 폰은 휴대폰 제조업체, 크기 및 기능에 따라 다양한 배터리로 실행됩니다. 스마트 폰에 크게 의존하는 사람들에게는 배터리가 가능한 한 오래 지속되는 것이 중요합니다. 이렇게하면 자주 재충전 할 필요가없고 가장 필요할 때 충전이 소진 될 가능성이 줄어 듭니다.
iOS 용 UDID
각 iPhone 또는 iPod Touch에는 장치에 고유 한 40 개의 문자와 숫자로 구성된 고유 장치 식별자 (UDID)가 있습니다. 일련 번호와 같지만 추측하기가 훨씬 더 어렵습니다. 2b6f0cc904d137be2e1730235f5664094b831186과 같이 보일 것입니다.
UUID를 찾는 방법?
- iOS 기기를 컴퓨터에 연결합니다.
- iTunes를 엽니 다.
- iTunes에서 왼쪽 열의 "장치"에서 장치 이름을 클릭합니다.
- 창의 기본 섹션에서 장치의 일련 번호를 한 번 클릭합니다.
- 그러면 일련 번호가 기기의 UDID로 변경됩니다.
iOS 용 프로 비전 프로필
프로비저닝 프로파일은 개발자와 장치를 승인 된 iPhone 개발 팀에 고유하게 연결하고 장치를 테스트에 사용할 수 있도록하는 디지털 엔티티 모음입니다. 애플리케이션 코드를 실행하려는 각 장치에 개발 프로비저닝 프로파일을 설치해야합니다.
iOS 용 프로비저닝 프로파일을 생성하는 방법은 무엇입니까?
Google Chrome, Mozilla Firefox 또는 Safari를 실행합니다.
iOS Dev. 가운데에서 인증서, 식별자 및 프로필을 클릭합니다.
iOS 앱 패널에서 프로비저닝 프로파일을 클릭하십시오.
+를 클릭합니다.
iOS 앱 개발을 선택하고 계속을 클릭하십시오.
프로비저닝 프로필과 연결할 앱 ID를 선택하고 계속을 클릭합니다.
여러 앱에서 하나의 개발 프로비저닝 프로필을 사용할 수 있으려면 가능한 경우 와일드 카드 앱 ID를 선택합니다.
프로비저닝 프로파일에 포함 할 개발 용 인증서를 하나 이상 선택하고 계속을 클릭하십시오.
개발 용 인증서 만 나열됩니다.
프로비저닝 프로필에 포함 할 하나 이상의 장치를 선택하고 계속을 클릭합니다.
프로필 이름을 입력하고 생성을 클릭합니다.
(선택 사항) 다운로드를 클릭하여 프로비저닝 프로파일을 다운로드합니다.
AppBuilder에서 프로비저닝 프로파일을 추가하는 방법은 무엇입니까?
톱니 바퀴 아이콘을 클릭하고 옵션을 선택합니다.
iOS → 프로비저닝 프로파일을 선택하십시오.
가져 오기를 클릭하십시오.
프로비저닝 프로파일에 대한 모바일 프로비저닝 파일이 저장된 위치를 찾아 선택하고 가져 오기를 확인하십시오.
장치 옵션 및 기본 설정
텍스트, 동적 검색, 이미지 또는 디스플레이 광고에 대해 기기 환경 설정 (모바일 또는 전체)을 지정할 수 있습니다.
광고 그룹에 모바일에 최적화 된 광고와 일반 광고가 모두있는 경우 모바일에 최적화 된 광고 만 휴대 기기에 게재되고 일반 광고 만 컴퓨터와 태블릿에 게재됩니다.
유형 목록에서 광고 및 확장을 선택하고 업데이트 할 광고 유형을 선택합니다. 하나 이상의 광고를 선택하십시오. 수정 패널의 '기기 환경 설정'에서 모바일 또는 모두를 선택합니다.
모바일 장치에서 수행 할 수있는 다양한 유형의 테스트에 대해 자세히 살펴 보겠습니다.
네트워크 연결
다음 표는 모바일 장치에 대해 수행 할 수있는 네트워크 연결 테스트의 체크리스트를 제공합니다.
Sr. 아니. | 기술 |
---|---|
1 | Wi-Fi를 통해 인터넷에 연결하면 앱이 사양에 따라 작동합니까? |
2 | 3G를 통해 인터넷에 연결하면 앱이 사양에 따라 작동합니까? |
삼 | 2G를 통해 인터넷에 연결하면 앱이 사양에 따라 작동합니까? |
4 | 앱이 네트워크 범위를 벗어난 앱 사양에 따라 작동합니까? |
5 | 앱이 네트워크 외부에서 네트워크에 도달하면 다시 작동합니까? |
6 | 연결을 다시 설정하면 업데이트 트랜잭션이 올바르게 처리됩니다. |
7 | 테 더링을하거나 다른 장치에 연결할 때 앱이 여전히 올바르게 작동합니까? |
8 | 앱이 네트워크 (Wi-Fi, 3G, 2G)간에 전환되면 어떻게 되나요? |
9 | 일부 공급자가 특정 포트를 차단하므로 앱이 표준 네트워크 포트 (메일 : 25, 143, 465, 993 또는 995 HTTP : 80 또는 443 SFTP : 22)를 사용하여 원격 서비스에 연결합니까? |
SD 카드 상호 작용
다음 표는 휴대폰과 SD 카드 상호 작용의 프리미어 기능을 확인하는 체크리스트를 제공합니다.
Sr. 아니. | 기술 |
---|---|
1 | 장치에 앱을 설치할 수 있습니까? |
2 | 전화가 오면 앱이 설계 / 원하는대로 작동합니까? |
삼 | SMS가 수신되면 앱이 설계 / 원하는대로 작동합니까? |
4 | 충전기가 연결되어 있으면 앱이 설계 / 원하는대로 작동합니까? |
5 | 충전기가 분리 된 경우 앱이 설계 / 원하는대로 작동합니까? |
6 | 기기가 절전 모드로 전환되면 앱이 설계 / 원하는대로 작동합니까? |
7 | 기기가 절전 모드에서 다시 시작되면 앱이 설계 / 원하는대로 작동합니까? |
8 | 기기가 잠금 화면에서 다시 시작되면 앱이 설계 / 원하는대로 작동합니까? |
9 | 기기를 기울이면 앱이 설계 / 원하는대로 작동합니까? |
10 | 기기가 흔들리면 앱이 설계 / 원하는대로 작동합니까? |
11 | 로컬 메시지가 다른 앱에서 오는 경우 앱이 설계 / 원하는대로 작동합니까 (예 : 캘린더 알림, 할일 작업 등)? |
12 | 푸시 메시지가 다른 앱에서 오는 경우 앱이 설계 / 원하는대로 작동합니까 (예 : 트위터 멘션, Whatsapp 메시지, 워드 페드 초대 등). |
13 | 앱이 GPS 센서와 올바르게 상호 작용합니까 (켜기 / 끄기, GPS 데이터 검색)? |
14 | 기기의 모든 버튼 또는 키의 기능이이 앱에 대해 정의되어 있습니까? |
15 | 활성화 할 때 정의 된 기능이없는 버튼이나 키가 앱에서 예상치 못한 동작이 없는지 확인합니다. |
16 | 장치에서 사용할 수있는 진정한 "뒤로"버튼이있는 경우 "뒤로"버튼을 누르면 사용자가 이전 화면으로 이동합니까? |
17 | 장치에서 사용할 수있는 진정한 "메뉴"버튼이있는 경우 메뉴 버튼이 앱의 메뉴를 표시합니까? |
18 | 장치에서 사용할 수있는 진정한 "홈"버튼이있는 경우 홈 버튼을 누르면 사용자가 장치의 홈 화면으로 돌아 갑니까? |
19 | 장치에서 사용할 수있는 진정한 "검색"버튼이있는 경우 사용자가 앱 내에서 어떤 형태로든 검색 할 수 있습니까? |
20 | "배터리 부족"메시지가 푸시되면 앱이 설계 / 원하는대로 작동합니까? |
21 | 장치의 사운드가 꺼져 있으면 앱이 설계 / 원하는대로 작동합니까? |
22 | 기기가 비행기 모드 인 경우 앱이 설계 / 원하는대로 작동합니까? |
23 | 기기에서 앱을 제거 할 수 있습니까? |
24 | 재설치 후 응용 프로그램이 예상대로 작동합니까? |
25 | 앱 스토어에서 앱을 찾을 수 있습니까? (가동 후 확인) |
26 | 앱이 설계 / 원하는대로 멀티 태스킹을 통해 장치의 다른 앱으로 전환 할 수 있습니까? |
27 | 화면 보호기를 사용할 때 모든 터치 스크린 위치 (버튼)가 작동합니까? |
블루투스 테스트
Bluetooth 장치는 반경 10 미터 내에서만 통신 할 수 있습니다. 이러한 장치는 키보드, 마우스, 무선 헤드폰 등이 될 수 있습니다. 다음 표는 수행 할 수있는 Bluetooth 테스트의 체크리스트를 제공합니다.
Sr. 아니. | 기술 |
---|---|
1 | 사용자는 범위에서 사용 가능한 모든 장치를 검색 할 수 있습니다. |
2 | 데이터 및 음성 전송 모두 단거리 네트워크를 사용하여 전송할 수 있습니다. |
삼 | 데이터 및 음성 전송은 모두 근거리 네트워크를 사용하여 수신 할 수 있습니다. |
4 | 사용자는 언제든지 연결을 끊을 수 있습니다. |
5 | Bluetooth를 닫는 동안 현재 연결을 끊도록 요청하십시오. |
6 | Bluetooth 최대 범위는 10 미터입니다. |
7 | 휴대폰을 통해 사진, 동영상을 보내고 명함을 교환하고 파일을 PC로 전송할 수도 있습니다. |
8 | (장치 페어링 됨) 사용자가 두 개의 Bluetooth 장치를 성공적으로 페어링했는지 확인하는 데 사용되는 메시지입니다. |
9 | 검색 불가능 모드, 검색 요청에 응답하지 않는 장치. |
10 | 검색 불가능 모드, 검색 요청에 응답하지 않는 장치. |
11 | 페어링 불가능 모드, 페어링을 허용하지 않는 장치는 페어링 불가능 모드라고합니다. |
12 | 패스 키, 패스 키는 다른 장치에서 장치에 연결하는 데 필요한 사용자 정의 암호입니다. Bluetooth 장치에 대한 무단 액세스를 방지하기 위해 가능한 한 패스 키를 사용하는 것이 좋습니다. |
13 | 인증-통신 링크의 다른 쪽 끝의 신원을 확인하는 프로세스. Bluetooth 기술에서 이것은 패스 키와 페어링을 기반으로 한 인증 프로세스를 통해 이루어집니다. |
14 | 장치를 찾을 수 없습니다. 범위 내의 다른 장치를 검색해도 아무것도 찾지 못하는 경우 나타날 수있는 오류 메시지입니다. |
15 | 유휴 모드 : 다른 장치와의 링크가 설정되지 않은 경우 장치는 유휴 모드입니다. 이 모드에서 장치는 다른 장치를 검색 할 수 있습니다. |
16 | 알려진 장치 테스트, 다른 장치에서 이미 알고있는 장치입니다. 장치가 과거에 페어링되었거나 알려진 장치의 일부 정보가 저장되어 있습니다. |
Wi-Fi 테스트
휴대폰 WiFi 연결을 테스트하는 것은 인터넷이 서비스 제공 업체에서 약속 한 속도로 작동하는지 확인하는 좋은 방법이지만 데스크톱 컴퓨터에서 이러한 테스트를 실행하는 데 국한되지 않습니다. 휴대폰 WiFi 테스트는 가정이나 사무실의 다양한 장소에서 WiFi 신호의 전력을 테스트하는 완벽한 방법입니다. 다음은 모바일 장치에 대한 Wi-Fi 테스트 체크리스트입니다.
Sr. 아니. | 기술 |
---|---|
1 | Wi-Fi를 통해 인터넷에 연결하면 앱이 사양에 따라 작동합니까? |
2 | 앱이 네트워크 범위를 벗어난 앱 사양에 따라 작동합니까? |
삼 | 앱이 네트워크 외부에서 네트워크에 도달하면 다시 작동합니까? |
4 | 앱이 네트워크 (Wi-Fi, 3G, 2G)간에 전환되면 어떻게됩니까? |
5 | 일부 공급자가 특정 포트를 차단하므로 앱이 표준 네트워크 포트 (메일 : 25, 143, 465, 993 또는 995 HTTP : 80 또는 443 SFTP : 22)를 사용하여 원격 서비스에 연결합니까? |
스마트 폰에서 휴대폰 WiFi 속도 테스트를 실행하는 방법
스마트 폰에서 WiFi 속도 테스트를 실행하는 것은 간단한 작업입니다. 가장 편리한 것은 스마트 폰의 모바일 웹 브라우저에서 실행되는 속도 테스트입니다. 간단한 화면 안내에 따라 테스트를 시작하십시오. 온라인 테스트에서 결과가 저장되지 않으면 테스트 완료 후 스크린 샷을 찍어 기록을 제공합니다.
일부 테스트는 iOS 및 Android 플랫폼 용 앱으로 제공됩니다. 이를 사용하려면 원하는 앱을 다운로드하십시오. 그런 다음 지침에 따라 테스트를 실행하고 결과를 저장하십시오.
속도 테스트를 수행하는 도구
Speed Test SpeedSmart WiFi & Mobile Network Speedtest− Apple iPhone 및 iPad와 호환됩니다. 유료 애플리케이션입니다. SpeedSmart는 모든 iOS 장치에서 셀룰러 (3G, 4G 및 LTE) 및 Wi-Fi 연결을 평가하기위한 최고의 iOS 속도 테스트 유틸리티입니다. 글로벌 서버 네트워크와 스마트 한 속도 테스트 방법은 정확한 결과를 보장합니다.
WiFi Speed Test− 안드로이드 폰과 호환됩니다. 유료 도구입니다. 이 도구를 사용하여 로컬 (LAN) 네트워크의 속도를 테스트 할 수 있습니다. 무선 (WiFi) 또는 유선 네트워크에서 테스트를 수행 할 수 있습니다.
현지화 및 세계화
모바일 장치의 현지화 및 세계화 테스트에 대한 아이디어를 얻으려면 아래 체크리스트를 참조하십시오.
Sr. 아니. | 기술 |
---|---|
1 | 텍스트가 번역됩니다. |
2 | 번역은 문법 및 용어의 정확성과 관련하여 원어민의 표준을 충족합니다. |
삼 | 사용자 인터페이스 언어의 규칙에 따라 대화 상자의 크기가 적절하게 조정되고 대화 상자 텍스트에 하이픈이 삽입됩니다. |
4 | 번역 된 대화 상자, 상태 표시 줄, 도구 모음 및 메뉴는 다양한 해상도에서 화면에 맞습니다. 포장하지 않고 잘리지 않습니다. |
5 | 메뉴 및 대화 상자 가속기는 고유합니다. |
6 | 시각적 레이아웃은 네이티브 에디션의 레이아웃과 일치합니다. 예를 들어, 대화 상자 요소는 적절한 탭 순서에 있습니다. |
데이터베이스 테스트
모바일 앱에 데이터를 저장할 수있는 다양한 방법이 있습니다. Android의 경우 서버, 공유 기본 설정 또는 SQLite를 통해 데이터를 저장하도록 선택할 수 있습니다.
SQLiteAndroid 및 기타 운영 체제에서도 일반적으로 사용되는 경량 데이터베이스입니다. SQLite에서 데이터를 보려면 기기를 루팅하거나 테스트를 위해 에뮬레이터를 사용할 수 있습니다. 이 데이터베이스에서 데이터를 추출하는 데 도움이되는 몇 가지 도구가 Android Playstore에 있습니다.
다음 유형의 테스트는 모바일 데이터베이스 테스트의 일부를 구성해야합니다.
- 데이터베이스 검증 테스트.
- 데이터베이스 통합 테스트.
- 데이터베이스 성능 테스트.
- 절차 및 기능 테스트.
- 트리거 테스트.
- CRUD (Create / Read / Update / Delete) 작업을 테스트하여 데이터베이스에서 작동하는지 확인합니다.
- 데이터베이스 변경 사항이 앱의 UI에 올바르게 표시되는지 테스트합니다.
- 검색 및 인덱싱 기능 테스트.
복구 테스트
복구 테스트는 재해 후에도 작업을 계속할 수 있는지 확인하는 데 사용됩니다. 복구 테스트는 복구 프로세스뿐만 아니라 해당 프로세스의 구성 요소 부분의 효율성도 확인합니다.
복구 테스트는 애플리케이션이 충돌, 하드웨어 오류 및 기타 유사한 문제에서 얼마나 잘 복구 할 수 있는지 테스트하는 활동입니다. 복구 가능성 테스트를위한 체크리스트는 다음과 같습니다.
Sr. 아니요 | 기술 |
---|---|
1 | 적절한 백업 데이터가 보존됩니다. |
2 | 백업 데이터는 안전한 위치에 저장됩니다. |
삼 | 복구 절차가 문서화되어 있습니다. |
4 | 모든 미디어 파일이 복원 지점에서 복구되었습니다. |
5 | 모든 연락처가 복구되었습니다. |
6 | 모든 응용 프로그램이 성공적으로 복원되었습니다. |
동시성 테스트
일반적으로 동시 테스트의 도움을 받아 여러 사용자가 동시에 프로그램에 액세스 할 수 있는지 확인합니다. 모바일 장치에 대한 동시성 테스트를 적용하는 동안 단일 사용자 만 있습니다. 따라서 모바일 장치에 대한 동시성 테스트가 필요하지 않습니다.
사용성 테스트
일반적으로 사용성 평가 세션을 기록하기 위해 휴대폰과 웹 캠을 조정할 수있는 장비가 있습니다.
Applause 와 같은 도구를 사용할 수 있습니다 . 앱을 테스트하기 위해 엄선 된 설문 조사 참가자 그룹을 제공합니다. Applause가 다른 서비스와 다른 점은 Applause의 전문가와 상담을 한 다음 상담을 기반으로 이상적인 참가자를 선택할 수 있다는 것입니다.
다음은 GUI 테스트를위한 일반적인 체크리스트입니다.
Sr. 아니. | 기술 |
---|---|
1 | 장치에 앱을 설치할 수 있습니까? |
2 | 전화가 오면 앱이 설계 / 원하는대로 작동합니까? |
삼 | SMS가 수신되면 앱이 설계 / 원하는대로 작동합니까? |
4 | 충전기가 연결되어 있으면 앱이 설계 / 원하는대로 작동합니까? |
5 | 충전기가 분리 된 경우 앱이 설계 / 원하는대로 작동합니까? |
6 | 기기가 절전 모드로 전환되면 앱이 설계 / 원하는대로 작동합니까? |
7 | 기기가 절전 모드에서 다시 시작되면 앱이 설계 / 원하는대로 작동합니까? |
8 | 기기가 잠금 화면에서 다시 시작되면 앱이 설계 / 원하는대로 작동합니까? |
9 | 기기를 기울이면 앱이 설계 / 원하는대로 작동합니까? |
10 | 기기가 흔들리면 앱이 설계 / 원하는대로 작동합니까? |
11 | 로컬 메시지가 다른 앱에서 오는 경우 앱이 설계 / 원하는대로 작동합니까 (예 : 캘린더 미리 알림, 할 일 작업 등). |
12 | 푸시 메시지가 다른 앱에서 오는 경우 앱이 설계 / 원하는대로 작동합니까 (예 : 트위터 멘션, Whatsapp 메시지 등). |
13 | 앱이 GPS 센서와 올바르게 상호 작용합니까 (켜기 / 끄기, GPS 데이터 검색)? |
14 | 기기의 모든 버튼 또는 키의 기능이이 앱에 대해 정의되어 있습니까? |
15 | 활성화 할 때 정의 된 기능이없는 버튼이나 키가 앱에서 예상치 못한 동작이 없는지 확인합니다. |
16 | 장치에서 사용할 수있는 진정한 "뒤로"버튼이있는 경우 "뒤로"버튼을 누르면 사용자가 이전 화면으로 이동합니까? |
17 | 장치에서 사용할 수있는 진정한 "메뉴"버튼이있는 경우 메뉴 버튼이 앱의 메뉴를 표시합니까? |
18 | 장치에서 사용할 수있는 진정한 "홈"버튼이있는 경우 홈 버튼을 누르면 사용자가 장치의 홈 화면으로 돌아 갑니까? |
19 | 장치에서 사용할 수있는 진정한 "검색"버튼이있는 경우 사용자가 앱 내에서 어떤 형태로든 검색 할 수 있습니까? |
20 | "배터리 부족"메시지가 푸시되면 앱이 설계 / 원하는대로 작동합니까? |
21 | 장치의 사운드가 꺼져 있으면 앱이 설계 / 원하는대로 작동합니까? |
22 | 기기가 비행기 모드 인 경우 앱이 설계 / 원하는대로 작동합니까? |
23 | 기기에서 앱을 제거 할 수 있습니까? |
24 | 재설치 후 응용 프로그램이 예상대로 작동합니까? |
25 | 앱 스토어에서 앱을 찾을 수 있습니까? (가동 후 확인) |
26 | 앱이 설계 / 원하는대로 멀티 태스킹을 통해 장치의 다른 앱으로 전환 할 수 있습니까? |
27 | 화면 보호기를 사용할 때 모든 터치 스크린 위치 (버튼)가 작동합니까? |
ㅏ testing framework 또는 더 구체적으로 testing 오토메이션 framework 수행 할 실행 환경입니다. automated tests. 테스트가 자동화되는 전체 시스템입니다. 작업 플랫폼 또는 자동화 된 테스트 지원을 구성하는 가정, 개념 및 관행의 집합으로 정의됩니다.
테스트 프레임 워크는 다음을 담당합니다.
- 기대치를 표현할 형식 정의
- 테스트중인 애플리케이션에 연결하거나 구동하는 메커니즘 만들기
- 테스트 실행 및 결과보고
프레임 워크 아키텍처
테스트 프레임 워크의 일반적인 아키텍처는 다음과 같습니다.
모바일 테스트 자동화를 위해서는 우수한 모바일 자동화 테스트 프레임 워크가 필요합니다. 이 프레임 워크 위에 테스트 케이스를 구축 할 수 있습니다. 모바일 자동화 테스트 프레임 워크는 모바일 장치의 운영 체제별로 분리 될 수 있습니다. 다음 장에서는 두 가지 유형의 모바일 테스트 프레임 워크 인 Android 테스트 프레임 워크와 iOS 테스트 프레임 워크에 대해 설명합니다.
시장에는 많은 Android 테스트 프레임 워크가 있습니다. 스택의 상위 5 개를 살펴 보겠습니다.
Robotium− Robotium은 기능, 시스템 및 수용 테스트 시나리오를 개발하기위한 오픈 소스 테스트 프레임 워크입니다. 셀레늄과 매우 유사합니다.
UIAutomator− UIAutomator는 기본 Android 앱 및 게임의 고급 UI 테스트를 제공하는 Google의 테스트 프레임 워크입니다. 기능적 UI 테스트를 생성하는 API가 포함 된 Java 라이브러리와 테스트를 실행하는 실행 엔진이 있습니다.
Appium− Appium은 네이티브 및 하이브리드 앱과 모바일 웹 앱을 테스트하기위한 오픈 소스 테스트 자동화 프레임 워크입니다. 프레임 워크 내의 Appium 라이브러리 함수는 연결된 장치를 작동하는 백그라운드에서 실행중인 Appium 서버를 호출합니다.
Calabash− Calabash는 iOS 및 Android 기능 테스트에 모두 사용할 수있는 기능 테스트 프레임 워크입니다. 문서 상으로는 사용하기 가장 쉬운 프레임 워크 중 하나 여야하며 개발자가 아닌 사람도이를 사용하여 기능 테스트를 만들 수 있어야합니다.
Selendroid− Selendroid는 비교적 신생이며 Android 애플리케이션을 기능적으로 테스트하는 데 사용할 수 있습니다. 분명히 Selenium에 익숙하다면 Selendroid는 지식을 사용하여 Android 용 기능 테스트를 만드는 쉬운 방법이어야합니다.
Android 테스트 프레임 워크와 마찬가지로 시장에서 사용 가능한 많은 iOS 테스트 프레임 워크가 있습니다. 여기서 우리는 몇 가지 인기있는 것들에 대해 이야기 할 것입니다.
Appium− Appium은 네이티브 및 하이브리드 앱과 모바일 웹 앱을 테스트하기위한 오픈 소스 테스트 자동화 프레임 워크입니다. 프레임 워크 내의 Appium 라이브러리 함수는 연결된 장치를 작동하는 백그라운드에서 실행중인 Appium 서버를 호출합니다.
Calabash− Calabash는 iOS 및 Android 기능 테스트에 모두 사용할 수있는 기능 테스트 프레임 워크입니다. 문서 상으로는 사용하기 가장 쉬운 프레임 워크 중 하나 여야하며 개발자가 아닌 사람도이를 사용하여 기능 테스트를 만들 수 있어야합니다.
Zucchini − Zucchini는 Apple UIAutomation을 기반으로하는 iOS 애플리케이션 용 오픈 소스 시각적 기능 테스트 프레임 워크입니다.
UI Automation− 앱을 탐색하는 최종 사용자를 시뮬레이션하는 코드를 작성하는보다 일반적인 기능 테스트 (또는 블랙 박스 테스트)의 경우 UI 자동화가 있습니다. UI 자동화는 Apple에서 제공하며 iOS 기능 테스트를 수행하는 Apple 승인 방식입니다.
FRANK – BDD for iOS − iOS에서 end-to-end 테스트를하고 BDD와 Cucumber를 사용하고 싶다면 걱정할 필요가 없습니다. Frank 이를 통해 Cucumber를 사용하여 승인 테스트 및 요구 사항을 만들 수 있습니다.
서로 다른 테스트 프레임 워크 간의 비교
Robotium은 Android 애플리케이션을위한 자동 그레이 박스 테스트 케이스를 작성하기위한 오픈 소스 테스트 프레임 워크입니다. Robotium의 지원을 통해 테스트 케이스 개발자는 여러 Android 활동에 걸쳐 기능, 시스템 및 승인 테스트 시나리오를 작성할 수 있습니다.
Robotium은 소스 코드를 사용할 수있는 애플리케이션과 APK 파일 만 사용할 수있는 애플리케이션 모두에 사용할 수 있습니다.
Robotium의 이점
작성하기 쉽고 짧은 코드. 견고한 테스트 케이스를 작성하는 데 필요한 최소한의 시간.
테스트중인 애플리케이션에 대한 최소한의 지식으로 강력한 테스트 케이스를 개발할 수 있습니다.
프레임 워크는 여러 Android 활동을 자동으로 처리합니다. 표준 계측 테스트에 비해 테스트 사례의 가독성이 크게 향상되었습니다.
자동 타이밍 및 지연.
현재 활동을 자동으로 따릅니다.
뷰를 자동으로 찾습니다.
자동으로 자체 결정 (예 : 스크롤시기 등)
Android 플랫폼을 수정하지 않습니다.
테스트 실행이 빠릅니다.
GUI 구성 요소에 대한 런타임 바인딩으로 인해 테스트 사례가 더 강력합니다.
Maven 또는 Ant와 원활하게 통합됩니다.
Robotium의 단점
Robotium은 Flash 또는 웹 구성 요소를 처리 할 수 없습니다.
한 번에 하나의 응용 프로그램 만 처리합니다.
Robotium을 사용하여 소프트 키보드 클릭을 시뮬레이션 할 수 없습니다 (EditText 필드에 텍스트를 입력하려면 'enterText ()'를 사용해야 함)
Robotium은 상태 표시 줄 알림과 상호 작용할 수 없습니다. 즉, 알림 영역을 아래로 내리고 지정된 알림을 클릭합니다.
특히 오래된 장치에서 실행되는 경우 약간 느릴 수 있습니다.
Robotium 사용 방법
Step 1− Robotium을 사용하기위한 전제 조건은 Java SDK (최소 1.6)입니다. 시스템에 Java가 설치되어 있지 않은 경우 아래 단계를 따르십시오.
Oracle Technology Network 에서 JDK 및 JRE 다운로드
라이센스 계약에 동의하십시오.
JDK 및 JRE를 설치합니다.
아래 스크린 샷과 같이 환경 변수를 설정합니다.
Step 2− Android Studio에서 Android Studio 다운로드
- exe를 두 번 클릭하고 설치 프로그램을 실행하십시오.
- 모든 기본 옵션으로 계속하십시오.
- ANDROID_HOME을 설정합니다.
Step 3 − Android 이미지 및 도구를 설치합니다.
- SDK Manager 클릭 −
필요한 패키지를 선택하십시오. 예를 들어 Android 4.4.2 용 앱을 빌드하는 경우 도구 섹션에서 다음 패키지가 선택되어 있는지 확인합니다.
- Android SDK 도구 rev 22.6.3
- Android 플랫폼 도구 개정판 19.0.1
- Android SDK 빌드 도구 rev 19.1
Step 4 − Android 가상 장치를 생성합니다.
- Android Studio를 열고 툴바에서 AVD Manager를 클릭합니다. AVD를 사용하면 Android 앱을 테스트하고 실행할 수 있습니다.
Nexus5 AVD에 다음 설정을 사용하세요.
- 기기-Nexus 5 (4.95, 1080 x 1920, xxhdpi)
- Target-Google API x86 (Google Inc.)-API 레벨 19
- (이름에 Google API가있는 대상을 선택해야합니다.)
- CPU-Intel Atom (x86)
- Use Host GPU 확인란을 선택합니다.
- 확인 클릭
이제 AVD Manager에서 생성 한 AVD를 볼 수 있습니다. 여기에서 시작, 삭제 또는 다른 AVD를 만들 수 있습니다!
Step 5-에서 Robotium JAR 파일 다운로드 Robotium JAR 파일 RobotiumTech
Robotium으로 앱 테스트
Robotium으로 앱을 테스트하려면 아래 단계를 따르십시오.
Step 1 − Android Studio에서 "RobotiumTest"라는 이름의 테스트 프로젝트를 만듭니다.
기본 페이지에 도달 할 때까지 모든 기본 옵션을 선택하십시오.
Step 2 − Robotium jar 파일을 프로젝트의 Lib 폴더에 복사합니다.
Step 3 − 아래의 build.gradle 파일에 종속성을 추가하십시오. src 폴더.
androidTestCompile 'com.jayway.android.robotium : robotium-solo-5.5.3'
Step 4 − Gradle을 동기화합니다.
Step 5 − 다음과 같이 Test 클래스 생성 −
package com.example;
import com.robotium.solo.Solo;
import android.test.ActivityInstrumentationTestCase2;
import android.widget.EditText;
import android.widget.TextView;
public class MyTestClass extends ActivityInstrumentationTestCase2<TestActivity>{
private Solo solo;
public MyTestClass() {
super(TestActivity.class);
}
public void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
}
public void testCase() throws Exception {
String vResult="TestExample";
EditText vEditText = (EditText) solo.getView(R.id.edit1);
solo.clearEditText(vEditText);
solo.enterText(vEditText,"TestExample");
solo.clickOnButton("Submit");
assertTrue(solo.searchText(vResult));
TextView textField = (TextView) solo.getView(R.id.txt1);
//Assert to verify result with visible value
assertEquals(vResult, textField.getText().toString());
}
@Override
public void tearDown() throws Exception {
solo.finishOpenedActivities();
}
}
Step 6− 모든 변경 사항을 저장합니다. 오류가 없는지 확인하십시오.
Step 7− 이제 테스트 케이스를 실행합니다. 테스트 케이스가 성공하면 다음 출력이 표시됩니다!
Selendroid는 Android 네이티브 및 하이브리드 애플리케이션을 테스트하기위한 테스트 자동화 프레임 워크입니다. Selendroid 테스트는 Selenium Webdriver 클라이언트 API를 사용하여 작성됩니다.
Selendroid의 장점
JSON Wire Protocol / Selenium 3 Ready와 완벽하게 호환됩니다.
자동화를 위해 테스트중인 앱을 수정할 필요가 없습니다.
내장 된 Android 드라이버 웹뷰 앱을 사용하여 모바일 웹을 테스트합니다.
네이티브 또는 하이브리드 앱 자동화에 대한 동일한 개념입니다.
UI 요소는 다양한 로케이터 유형으로 찾을 수 있습니다.
제스처가 지원됩니다 : 고급 사용자 상호 작용 API.
기존 에뮬레이터는 자동으로 시작됩니다.
Selendroid는 하드웨어 장치의 핫 플러깅을 지원합니다.
확장 및 병렬 테스트를 위해 Selenium Grid에 노드로 완전히 통합됩니다.
여러 Android 대상 API 지원 (10 ~ 19).
Inspector가 내장되어 테스트 케이스 개발을 단순화합니다.
Selendroid는 자체 확장으로 런타임에 확장 할 수 있습니다.
Selendroid는 동시에 여러 Android 기기 (에뮬레이터 또는 하드웨어 기기)와 상호 작용할 수 있습니다.
Selendroid의 단점
이 도구의 단점은 매우 느리고 RAM이 4GB 미만인 일부 컴퓨터에서는 사용할 수 없다는 것입니다.
Selendroid 사용 방법
Step 1− Robotium을 사용하기위한 전제 조건은 Java SDK (최소 1.6)입니다. 시스템에 Java가 설치되어 있지 않은 경우 아래 단계를 따르십시오.
Oracle JavaSE 에서 JDK 및 JRE 다운로드
라이센스 계약에 동의하십시오.
JDK 및 JRE를 설치합니다.
아래 스크린 샷과 같이 환경 변수를 설정합니다.
Step 2− SDK Android 에서 Android Studio를 다운로드 합니다 (파일 크기 때문에 시간이 걸립니다).
- exe를 두 번 클릭하고 설치 프로그램을 실행하십시오.
- 모든 기본 옵션으로 계속하십시오.
- ANDROID_HOME을 설정합니다.
Step 3− Selendroid 에서 Selenium jar 파일 및 테스트 애플리케이션 다운로드
- 셀레늄 jar 파일을 다운로드하고 앱을 테스트하십시오.
- D : \ SelendroidJars와 같은 폴더에 넣으십시오.
Step 4 − USB 케이블이있는 물리적 장치.
장치가 USB 케이블로 워크 스테이션에 연결되어 있는지 확인합니다.
USB 디버깅 모드 (설정 → 개발자 옵션 아래)가 활성화되어 있는지 확인합니다.
Selendroid로 앱 테스트
Selendroid를 사용하여 앱을 테스트하려면 아래 단계를 따르십시오.
Step 1 − Eclipse를 설치합니다.
Step 2 − Java 프로젝트를 생성합니다.
Step 3 − 다운로드 한 Selendroid jar 파일을 새로 생성 된 프로젝트에 추가합니다.
Step 4 − 다운로드 한 Selenium jar 파일을 새로 생성 된 프로젝트에 추가합니다.
Step 5 − Eclipse에서 testNG를 구성합니다.
Step 6− USB 케이블을 사용하여 모바일 장치와 시스템을 연결합니다. 설정 아래의 개발자 옵션에서 USB 디버깅 모드를 설정합니다.
Step 7− Selendroid 서버를 실행합니다. 명령 프롬프트를 열고 다음 코드를 작성하고 Enter 키를 누르십시오.
java -jar selendroid-standalone-0.17.0-with-dependencies.jar -app selendroid-test-app-0.17.0.apk
Selendroid-standalone은 포트 4444에서 http 서버를 시작하고 사용자가 만든 모든 Android 가상 장치 (avd) (~ / .android / avd /)를 검색합니다.
웹 브라우저를 열고 다음으로 이동하십시오. http://localhost:4444/wd/hub/status.
Step 8− 자바 프로젝트 생성; 빌드 경로에 Selendroid Standalone 라이브러리, Selenium jar 및 JUnit 라이브러리를 추가합니다.
Step 9 − Java 프로젝트 아래에 패키지를 생성합니다.
Step 10 − 패키지 아래에 클래스를 생성하고 다음 코드를 작성합니다.
package selTest;
import io.selendroid.SelendroidDriver;
import io.selendroid.common.SelendroidCapabilities;
import io.selendroid.standalone.SelendroidConfiguration;
import io.selendroid.standalone.SelendroidLauncher;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.testng.Assert;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.Test;
public class SelendroidTest {
private WebDriver driver ;
@BeforeSuite
public void setUp() throws Exception {
SelendroidConfiguration config = new SelendroidConfiguration();
config.addSupportedApp("selendroid-test-app-0.9.0.apk");
SelendroidLauncher selendroidServer = new SelendroidLauncher(config);
selendroidServer.launchSelendroid();
SelendroidCapabilities caps = new
SelendroidCapabilities("io.selendroid.testapp:0.9.0");
driver = new SelendroidDriver(caps);
}
@Test
public void selendroidTest() throws Exception {
WebElement inputField = driver.findElement(By.id("my_text_field"));
Assert.assertEquals("true", inputField.getAttribute("enabled"));
inputField.sendKeys("Selendroid");
Assert.assertEquals("Selendroid", inputField.getText());
WebElement button = driver.findElement(By.id("buttonTest"));
button.click();
button = driver.findElement(By.id("button2"));
button.click();
Thread.sleep(5000);
button = driver.findElement(By.id("startUserRegistration"));
button.click();
Thread.sleep(10000);
WebElement element = driver.findElement(By.id("label_username"));
String text = element.getText();
System.out.println(text);
element = driver.findElement(By.id("inputUsername"));
element.sendKeys("bob");
element = driver.findElement(By.id("inputEmail"));
element.sendKeys("[email protected]");
element = driver.findElement(By.id("inputPassword"));
element.clear();
element.sendKeys("test1233");
element = driver.findElement(By.id("inputName"));
element.clear();
element.sendKeys("My Name ");
element = driver.findElement(By.id("input_preferedProgrammingLanguage"));
element.click();
element = driver.findElement(By.id("text1"));
element.click();
element = driver.findElement(By.id("input_adds"));
element.click();
element = driver.findElement(By.id("btnRegisterUser"));
element.click();
element = driver.findElement(By.id("buttonRegisterUser"));
element.click();
}
@AfterSuite
public void tearDown(){
driver.quit();
}
}
Step 11 − testNG 실행 구성으로 클래스를 실행합니다.
Appium은 네이티브 및 하이브리드 앱과 모바일 웹 앱을 테스트하기위한 오픈 소스 테스트 자동화 프레임 워크입니다. WebDriver 프로토콜을 사용하여 iOS 및 Android 앱을 구동합니다.
Appium의 장점
무료이며 (대부분) 오픈 소스입니다.
매우 잘 지원되고 활동적인 Google 그룹이 있습니다.
Selenium 3 사양에 있으므로 미래에 대비해야합니다.
Android와 iOS를 모두 지원합니다.
장치에 아무것도 설치할 필요가 없으며 서버 나 코드 변경이 필요하지 않습니다.
Appium의 단점
- 지능형 대기를 지원하지 않습니다.
- iOS에서는 Mac 당 한 번에 하나의 테스트 만 실행할 수 있습니다.
- 제스처에 대한 제한된 지원.
- Android <4.1에 대한 제한된 지원
Appium 사용 방법
Step 1− Appium을 사용하기위한 전제 조건은 Java SDK (최소 1.6)입니다. 시스템에 Java가 설치되어 있지 않은 경우 아래 단계를 따르십시오.
Oracle JavaSE 에서 JDK 및 JRE 다운로드
라이센스 계약에 동의하십시오.
JDK 및 JRE를 설치합니다.
아래 스크린 샷과 같이 환경 변수를 설정합니다.
Step 2− SDK 에서 Android Studio를 다운로드 합니다 (파일 크기로 인해 시간이 걸립니다).
- exe를 두 번 클릭하고 설치 프로그램을 실행하십시오.
- 모든 기본 옵션으로 계속하십시오.
- ANDROID_HOME을 설정합니다.
Step 3 − Android 이미지 및 도구를 설치합니다.
- SDK Manager 클릭 −
필요한 패키지를 선택하십시오. 예를 들어 Android 4.4.2 용 앱을 빌드하는 경우 도구 섹션에서 다음 패키지가 선택되어 있는지 확인합니다.
- Android SDK 도구 rev 22.6.3
- Android 플랫폼 도구 개정판 19.0.1
- Android SDK 빌드 도구 rev 19.1
Step 4 − Android 가상 장치 생성 −
Android Studio를 열고 툴바에서 AVD Manager를 클릭합니다. AVD를 사용하면 Android 앱을 테스트하고 실행할 수 있습니다.
Nexus5 AVD에 다음 설정을 사용하세요.
기기 : Nexus 5 (4.95, 1080 x 1920, xxhdpi)
대상 : Google API x86 (Google Inc.)-API 레벨 19
이름에 Google API가있는 대상을 선택했는지 확인하십시오.
CPU : Intel Atom (x86)
Use Host GPU 확인란을 선택합니다.
확인을 클릭하십시오.
이제 AVD Manager에서 생성 한 AVD를 볼 수 있습니다. 여기에서 시작, 삭제 또는 다른 AVD를 만들 수 있습니다!
Step 5− Appium에서 Appium jar 파일 다운로드
Appium으로 앱 테스트
Appium으로 앱을 테스트하려면 아래 단계를 따르십시오.
Step 1 − Android Studio에서 "RobotiumTest"라는 이름의 테스트 프로젝트를 만듭니다.
기본 페이지에 도달 할 때까지 모든 기본 옵션을 선택하십시오.
Step 2− 프로젝트에 Appium 병을 추가합니다. 프로젝트 → 앱 → lib의 모든 jar를 복사하십시오. Selenium, Java 클라이언트 및 Junit Jar를 제외한 복사 된 jar를 선택한 후 마우스 오른쪽 단추로 클릭하고 "라이브러리로 추가"를 클릭하십시오.
Step 3− 앱에서 build.gradle을 클릭합니다. 다음 스크린 샷과 같이 추가 된 모든 라이브러리가 표시됩니다.
Step 4 − 이제 아래와 같이 Java 클래스를 생성합니다. −
AppiumDriver driver;
@Before
public void testCaseSetup()throws Exception {
//service.start();
//reader.readFile();
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(MobileCapabilityType.PLATFORM_NAME,"Android");
cap.setCapability(MobileCapabilityType.DEVICE_NAME, "Android device");
cap.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, "4000");
cap.setCapability(MobileCapabilityType.APP, "c://apk//sample.apk");
driver = new AndroidDriver<MobileElement>("http://127.0.0.1:4444/wd/hub",cap);
}
@Test
public void testcase1()throws Exception {
driver.findElementByID("Example").click();
Asser.assertTrue(driver.findElementByID("Example").isDisplayed));
}
@After
public void testCaseTearDown() {
driver.quit();
}
Step 5 − 테스트 케이스 실행.
- 빌드 변형을 클릭하고 단위 테스트를 선택합니다.
- 특정 포트 "4444"로 Appium 서버를 시작하십시오.
- 여기에서 Windows 용 Appium을 다운로드하십시오.
- .exe를 두 번 클릭하고 Appium을 설치합니다.
- 아이콘을 클릭하면 UI가 올라갑니다.
- 필요한 경우 아래와 같이 포트를 변경하십시오.
- 재생 버튼을 클릭하여 서버를 시작합니다.
- USB 디버깅이 켜져있는 장치를 연결하거나 에뮬레이터를 시작합니다.
- 테스트 클래스를 마우스 오른쪽 버튼으로 클릭하고 "실행"을 클릭합니다.
Zucchini는 BDD 스타일의 DSL (도메인 특정 언어)을 사용하는 새로운 테스트 프레임 워크입니다. 초점 영역 중 하나는 Selenium으로 작성된 승인 테스트를 단순화하는 것입니다.
나중에 보게 될 JBehave 또는 Robot Framework를 대체하지 않습니다. 여기에서는 예제를 단계별로 설명하여 Zucchini의 개념을 간략하게 설명합니다.
Zucchini 설치 방법
Zucchini를 설치하기위한 전제 조건은 XCode 4.2입니다. 또한 brew update && brew install imagemagick && brew install coffee-script와 같은 몇 가지 명령 줄 도구가 필요합니다.
주키니 사용법
gem install zucchini-ios
프로젝트 스캐 폴드를 만들어 시작
첫 번째 기능에 대한 기능 스캐 폴드 만들기
수정하여 해킹 시작 features/my_feature/feature.zucchini 과 features/support/screens/welcome.coffee.
Zucchini는 애플리케이션 코드를 수정하지 않습니다. Zucchini 테스트를 별도의 프로젝트에 보관하는 것이 좋습니다.
zucchini generate --project /path/to/my_project
zucchini generate --feature /path/to/my_project/features/my_feature
또는 Apple의 CoreDataBooks 샘플을 중심으로 Zucchini 설정을 쉽게 탐색 할 수있는 zucchini-demo 프로젝트를 확인하십시오.
장치에서 실행
장치 추가 features/support/config.yml.
iOS 시뮬레이터에서 실행 중입니다. 실제 하드웨어에서 Zucchini 기능을 실행하는 것이 좋습니다. 그러나 필요한 경우 iOS 시뮬레이터에서 실행할 수 있습니다.
먼저 features/support/config.yml컴파일 된 앱의 전체 경로를 포함합니다. 예를 들면
app : /Users/vaskas/Library/Developer/Xcode/DerivedData/CoreDataBooks-ebeqiuqksrwwoscupvxuzjzrdfjz/Build/Products/Debug-iphonesimulator/CoreDataBooks.app
둘째, 장치 섹션에 'iOS 시뮬레이터'항목을 추가하고 (UDID가 필요하지 않음) iOS 시뮬레이터 설정에 따라 '화면'에 대한 실제 값을 제공하는지 확인하십시오.
그것을 실행하십시오-
ZUCCHINI_DEVICE="iOS Simulator" zucchini run /path/to/my_feature
그만큼 udidetect 수시로 장치를 추가하려는 경우 유틸리티가 유용합니다. udidetect -z.
ZUCCHINI_DEVICE="My Device" zucchini run /path/to/my_feature