산업종류별/모바일기기

문서요약 - 모바일 앱 테스팅의 필수 지침 by uTest

grapevine9700 2018. 2. 23. 06:30
반응형

제목: 모바일 앱 테스팅의 필수 지침(The Essential Guide to Mobile App Testing)

저자: uTest(테스팅 서비스 업체)

문서유형: eBook( 48페이지), 2012

 

모바일 앱과 관련된 테스팅 이슈를 기술한 자료



공통적인 모바일 기능 이슈

그 범위가 가장 넓은 기능 테스팅에서 아마도 항상 커버되는 몇몇 영역이 아래와 같다.

  • Sign-up & 로그인: 사용자가 애플리케이션에 쉽게 접근할 수 없다면 개발자의 노력이 수포로 돌아감. 앱 또는 모바일 사이트가 패스워드와 사용자명을 요구한다면 해당 필드에 사용자가 자신의 정보를 입력하기 쉬운지 확인한다.
  • 메뉴 옵션(Menu Options): 종종 메뉴 옵션이 접근하거나 해석하기에 어려울 수 있음. Help, About 등의 메뉴 항목이 찾기 쉽고 항해하기(navigate) 쉬운지 확인한다.
  • (Keys): 스크롤링, 텍스트 선택, back 버튼 등에 관련된 문제가 종종 골칫거리가 됨. 따라서 키 기능이 명확하고 일관적인지 확인해야 함. 또한 앱이 키보드와 터치스크린에서 작동하는지 교차검토(cross-check) 한다.
  • 데이터 핸들링: 모든 모바일 앱에서(특히 게임에서) 중요한 고려사항이 데이터 핸들링이다(, 모바일 앱이 저장된 정보를 제대로 기억하는가? 데이터 삭제 또는 의도하지 않은 데이터 삭제는 어떤가?). 테스팅 범위에 이런 것들이 포함되어야 함
  • 연결 속도(Connection Speed)/통신사업자(Carrier): iPhone Verizon, Sprint 등에서 돌아가는 현실에서 단 하나의 캐리어만 테스팅 하는 것은 더 이상 적절하지 않음. 성능이 캐리어마다 크게 달라지므로 가장 기본적인 앱 테스트가 가장 인기 많은(또는 가장 가능성 높은) 캐리어들을 포함하는지 확인해야 함
  • 운영 체제: 캐리어와 마찬가지로 앱을 실행시키는 모바일 OS가 성능에 큰 영향을 미침. 일부 OS에서는(, Android) 사내 자원으로 모든 가능한 조합을 테스트하는 것이 불가능하지만 적어도 가장 많이 사용되는 3~5개를 식별하여 테스트해야 한다.
  • 화면 크기: 주로 태블릿에 해당. 화면 크기 불일치가 모바일 앱을 테스팅하는 동안 중요 고려사항임. , 사용자가 얼마나 많이 좌측에서 우측으로(또는 상단에서 하단으로) 스크롤 해야만 하는가?
  • 인터럽션: 기기의 배터리 강도가 최고/중간/최저 시 모바일 앱이 어떻게 동작하는가? 이는 테스팅 시 고려해야 할 많은 변수들 중 하나이다. 다른 것에는 유입(incoming) 통화, SMS, MMS, 화상 통화가 있음
  • 에러 메시지: 에러 메시지가 명확하고, 간결하고, 수행 가능해야 함


전문가의 기능 테스팅 팁

  • 실제 화면: 개발자는 정규 1024×768 픽셀 애플리케이션처럼 모바일 기기를 사용해도 사용자는 그렇지 않을 수 있음. 여러 기기 상에서 애플리케이션을 실제 사용해보면 모바일 인터페이스에 대한 제안/개선점이나 사용성 문제를 찾게 됨(Matt Heusser)
  • 기기에 특정한 버그 찾기: 예를 들어, 특정 기기 상에서 작동하지 않는 링크를 발견하면 먼저 이것이 데스크탑 브라우저 상에서 동작하는지 확인해야 함. 만약 데스크탑 브라우저 상에서 동작하면 이는 기기에 특정한 버그가 아니라 기본 애플리케이션의 버그임. 만일 데스크탑 브라우저에서 기능하는 어떤 링크가 기기에서는 동작하지 않으면 이는 기기에 특정 버그로 식별되어야 함 (Jigar Patel)
  • 정상 사용 테스트(Normal use test): 완전 충전된 배터리에서 애플리케이션을 6~12 시간 동안 사용하면서 배터리 수준을 매 30분 또는 1시간 마다 측정함. 이 때 자동 테스팅 도구(요구되는 시간 간격 동안 계속 테스트를 실행시킴)를 활용할 수도 있음. 이 테스트는 애플리케이션의 모든 포어그라운드와 백그라운드 기능이 정상적으로 실행되는 정상 사용(normal use)’에서 해당 애플리케이션이 얼마나 빠르게 배터리를 소진하는지 알려줌 (Sachin Date)
  • 유휴 실행 테스트(Idle run test): 기기의 화면 잠금(screen lock)과 절전(power saver) 모드를 끈다. 완전 충전된 배터리에서 애플리케이션을 메인//대시보드 화면에서 계속 실행시키면서 30분 또는 1시간 간격으로 배터리 수준을 측정한다. 이 테스트는 의도적/비의도적 자동 스크린 리프레시, 애플리케이션에서 실행 중인 백그라운드 쓰레드/서비스 등으로 인한 배터리 소진을 측정해 줌 (Sachin Date)


공통적인 모바일 사용성 이슈

사용성 테스팅 목표는 사용자가 완료하고자 하는 작업을 쉽게, 불만 없이 완료할 수 있음을 보장하는 것. 좋은 사용자 경험은 아래를 포함한 여러 이슈에 의해 방해 받을 수 있다.

  • 기능성(Functionality): 모바일 애플리케이션이 반드시 사용자에게 적절한 기능을 제시해야 함. 만약 애플리케이션의 기능이 불완전하거나 또는 부적합한 것으로 인식되면 고객을 잃을 수도 있음
  • 레이아웃과 설계(Layout & Design): 좋은 레이아웃과 설계는 사용자가 쉽게 작업을 완료할 수 있도록 허용한다. 만약 버튼이 잘못된 장소로 인식되는 곳에 위치하면 사용자가 짜증이 나서 대안 제품을 찾아 나설 수도 있다.
  • 상호작용(Interaction): 애플리케이션 흐름이 자연스럽고 사용자가 쉽게 작업을 완료할 수 있도록 허용해야 함. 만일 사용자가 잘못된 페이지에 보내졌다고 믿게 되면, 원하는 페이지를 찾기 위해 다시 되돌아가기를 해야만 하고 불만을 느껴 앱을 단념할 수도 있음



공통적인 모바일 부하 및 성능 이슈

  • 부하 테스팅에서 알아야 할 핵심 요인은 애플리케이션의 속도와 사용용이도(ease-of-use)에 영향을 미칠 수 있는 모바일 캐리어(mobile carriers)와 데이터 사용(data usage)
  • 만약 애플리케이션 성능이 최종사용자에게 나쁘게 인식되면 이들이 다른 앱과 서비스로 옮겨갈 가능성이 높음. 따라서 나라와 지역에 따른 여러 다른 기기와 캐리어에서 애플리케이션이 테스트 되어야만 함
  • iOSAndroid 시장에서 성능 이슈, 크래시(crashes), (hangs)이 사용자 불만의 대략 15%~30%을 차치함


공통적인 모바일 보안 이슈

전통적인 웹 애플리케이션과 데스크탑 애플리케이션의 보안 도구와 관행 대부분이 모바일에 똑같이 적용가능 하지만 모바일에 고유한 일부 우려사항들이 있음(, 분실/도난 기기, 모바일 malware, 기기 상에서 특정 대상을 목표로 하는 공격 등). 위협으로부터 100% 안전한 애플리케이션은 없지만 개발자로서 모바일 앱의 보안 테스팅 시 아래의 질문을 항상 던져야 함

  • 비밀성(Confidentiality): 앱이 사적인 데이터를 사적으로 남도록 보호하는가?
  • 통합(Integrity): 앱으로부터 온 데이터가 믿을 수 있으며 검증된 것인가?
  • 인증(Authentication): 누군가 신원을 밝혔을 때 실제 그 사람인지 앱이 확인하는가?
  • 인가(Authorization): 앱이 사용자 권한을 제대로 제한하는가?
  • 가용성(Availability): 공격자가 앱을 오프라인이 되게 할 수 있는가?
  • 부인방지(Non-Repudiation): 앱이 이벤트의 기록을 보관하는가?


공통적인 모바일 현지화(Localization) 이슈

모바일 애플리케이션(그리고 모바일 웹)의 전세계적인 확산에 따라 모든 시장과 지역의 사용자에게 접근가능하고 맥락에 맞는(contextual) 제품이 요구됨. 아래는 모바일 애플리케이션 현지화 테스팅과 관련된 공통적인 이슈들이다.

  • 콘텐츠(Content): 카탈로그, 검색 결과, 메타데이터 같은 정적 및 동적 콘텐츠
  • 일자(Dates): 날짜 형식이 January 1 인가 아니면 1 January 인가?
  • 문자(Characters): 언어마다 다른 문자셋을 가짐
  • 우편번호(Postal codes): 일부 나라에서는 우편번호가 문자를 포함함
  • 전화번호(Phone numbers): 시장마다 다른 형식을 가짐
  • 방향(Direction): 일부 언어는 좌에서 우로 쓰여지고, 다른 일부는 우에서 좌로 쓰여짐
  • 통화 전환(Currency conversion): 인터넷 소매업자에게 특히 중요
  • 세금 계산(Tax calculation): 부가가치세, 판매세, 기타 세금이 나라마다 다름


테스팅에서의 차이: 모바일 웹 vs. 네이티브 앱

1) Native Apps

  • 앱 설치 및 개시와 함께 테스팅이 시작
  • 일부 모바일 기기 상의 테스팅이 기기 ID로의 접근을 요구
  • 기능성과 사용성이 다수의 기기상에서 테스트될 필요가 있음(아래를 고려):
    -
    운영체제와 버전
    -
    화면 크기
    - Custom themes
    -
    인터럽션
  • 많은 네이티브 앱이 추가적인 API로의 접근을 가짐. 이 연결이 테스트될 필요가 있음


2) Mobile Web

  • 설치가 불필요
  • 사이트가 여러 다른 브라우저에서 어떻게 보이는가
    - iOS
    Safari를 실행
    - Android
    는 스톡 브라우저를 실행하지만 Chrome, Dolphin, Opera Mini, 3 브라우저도 지원
    - Windows Phone
    IE를 실행
    - Blackberry
    는 네이티브 브라우저, Opera Mini, 또는 Bolt를 실행
  • 인터넷 연결을 요구. 연결성이 지역에 따라 다름
  • 로드 시간이 모바일 웹 사용자에게 극도로 중요함
    - 60%
    의 사용자가 사이트가 3초 내에 로드 될 것을 기대
    - 74%
    의 사용자가 단지 5초만 기다림


반응형