3. 어플리케이션 품질관리(QC/QA)의 중요성
• 80%의 사용자는 App문제 발생시 3번이상
다시 시도해 보지 않고 삭제함
• 32% 사용자는 이러한 문제가 발생하면 유사한
기능의 다른 앱을 찾음
• 34%의 사용자는 사용자 리뷰에 기반하여 App을 구매
Failing to meet mobile app user expectations - A mobile app user survey from Dimensional Research
(2015. 4)
http://techbeacon.com/study-reveals-top-mobile-app-performance-failures
4. 고 품질 앱을 제공하는 것이 어려운 이유?
기기의 스펙 차이로 인한 이슈 발생
사용자의실제 기기와 같은 기종으로
테스트 필요
시중에 너무 많은 디바이스 및 OS
버전이 혼재
모든 모바일 디바이스를 갖추고 사전에
테스트 하는 것은 사실상 불가능함
수작업에 의한 테스트는 시간이 오래 걸림
Open Signal - Android Fragmentation Visualized (2015/8)
http://opensignal.com/reports/2015/android-fragmentation/
6. 자동화 테스팅
AWS에서 제공하는 다양한 디바이스를 이용해 병렬 테스팅
디바이스에 원격접속
웹 브라우저를 통해 실시간으로 실제 디바이스에
원격접속
7. Android, iOS, Fire OS 앱을
업로드후 테스트 항목을
설정하고 원하는 디바이스 선택
선택한 디바이스를 넣고
병렬로 앱 테스팅 수행
버그, 퍼포먼스 등의 문제를
몇 분 안에 상세하게 리포팅
YOUR
APP +
AWS 클라우드에 호스팅 된 수많은 실제 스마트 폰, 태블릿 및 기타 디바이스로 빠르고
안전하게 Android, iOS, Fire OS 용 앱을 테스트
자동화 테스팅
8. 서비스 제공 디바이스
디바이스 프로파일은 제조 회사/타입 & 모델/OS버전 등으로 분류
AWS데이터 센터에 호스팅 되어 있어 고객의 확장 요구에 대응
충분한 수량( 많은 동일한 디바이스 프로파일)을 보유
루트권한은 동작하지 않음
새로운 디바이스가 발매되면 추가됨
새로운 디바이스이용 가능한 최신
디바이스 세트 AWS데이터 센터
9. 앱 등록후 테스트를 진행할 디바이스를 리스트에서 선택하여 테스트 풀을 구성
(자동으로 해당 앱에 대한 호환성 테스트 수행)
서비스 제공 디바이스 (계속)
10. 현재 이용가능한 디바이스 (2016.6.01)
https://aws.amazon.com/device-farm/device-list/
11. • 프로젝트 별로 최적의 테스트 프레임워크를 사용하여 테스팅 구성
• 개발 팀과 QA팀에서 요건이 다르더라도 하나의 공통 플랫폼에 통합가능
테스트 자동화 프레임 워크
Built-in : Explorer Built-in : Fuzz
Buil-in: Fuzz Appium Java (Junit, TestNG)
Appium Java (Junit, TestNG) Appium Python
Appium Python Calabash
Calabash UI Automation
Instrumentation XCTest
Uiautomator XCTest UI
복수의 테스트 프레임 워크 지원
13. 기본제공 테스트 Suite – Fuzz 테스트
빌트 인 Fuzz시험
• Fuzz시험은 앱에 여러 사용자 입력(터치, 스와이프, 키보드 입력) 이벤트를 통해 UI테스트실시
• 이벤트 수, 간격, 랜덤 이벤트에 사용되는 난수(seed)를 설정
장점
• 테스트 Script 없이 손쉽게 테스트 수행
• 몇 분 내에 호환성 문제를 파악가능
• 테스트 스크립트는 다음의 동작을 수행
• 앱 설치 / 앱의 기동 / Fuzz시험 / 언 인스톨
14. 결과 리포트
리포트는, 각 디바이스별 상세 정보뿐 아니라 다양한 테스트 결과를 포함
성공/실패 정보
Crash 리포트
테스트 로그
디바이스 로그
스크린 샷
성능 정보
15. 개개의 문제를 파고들어 조사가능 [ 샘플 앱 Crash 예시]
결과 리포트 – 문제 원인파악
38. 서비스 이용요금
• 종량 과금(Pay as you go)
• 테스트를 실행하는데 필요한 Device Minutes, 사용시간(분)
무료제공: 250 Device Minutes
무료 소진후:1 Device Minute 당 $0.17 과금
• 정액옵션(Fixed Price)
• 1개의 디바이스를 월 $250 에 이용 (디바이스 숫자가 아닌 Concurrency 갯수)
정액으로 디바이스 이용
Subscription을 변경하지 않아도 언제든지 디바이스 변경가능
Android Family(Fire OS포함) 또는 IOS Family 중 선택
41. • 이미 테스트 자동화를 이용 혹은 계획하고 있다.
• 더 많은 디바이스를 이용하고 싶다.
• 자비로 기기 및 인프라를 관리하고 싶지 않다
• 아직 테스트 자동화를 이용하지 않고 있다.
• 테스트 스크립트를 작성하는 자원이 부족하다.
• 테스트를 실시하는 자원이 부족하다
언제 사용해야 하나?
지금 바로 모든 기능을 시험해 보세요!
간단한 Fuzz 테스트 부터 시작하세요! (무료 디바이스 Mins 250)
42. Online Labs & Training
Gain confidence and hands-on
experience with AWS.
Watch free Instructional Videos
and explore Self-Paced Labs
Instructor Led Classes
Learn how to design, deploy and
operate highly available, cost-
effective and secure applications
on AWS in courses led by qualified
AWS instructors
Validate your technical
expertise with AWS and use
practice exams to help you
prepare for AWS Certification
AWS Certification
More info at http://aws.amazon.com/training
43. Thank You for Attending AWS Innovate
We hope you found it interesting!
Do provide us with your feedback for the session and complete the feedback form.
Let us know your thoughts of today’s event and how we can improve the event
experience for you in the future.