Windows 8에서 Metro 스타일 앱을 테스트하는 방법

Windows 8 앱 개발자 블로그

Windows 8 엔지니어링 팀에서 제공하는 Windows 8용 Metro 스타일 앱 개발의 이해

Windows 8에서 Metro 스타일 앱을 테스트하는 방법

  • Comments 0

Metro 스타일 앱 환경에서 이루어지는 모든 경험은 개발자의 앱을 중심으로 돌아갑니다. 개발자들은 사용자에게 보다 만족스러운 경험을 제공하기 위해 앱을 제대로 테스트하고 최상의 품질을 제공하기를 원합니다. Metro 스타일 앱을 제작하는 과정은 앱 디자인, 개발, 테스트, 최종 배포 등 4가지 단계로 이루어집니다.

지금까지 이 블로그에 실린 글들은 Metro 스타일 앱을 디자인하고 개발하는 것에 관한 내용이 많았습니다. 하지만 이 글에서는 앱 테스트와 관련하여 몇 가지 수준 높은 검증 방법을 소개하겠습니다.

테스트라는 용어가 워낙 다양한 상황에 사용되고 있어 사람에 따라 의미하는 바도 다르고, 특히 소프트웨어 개발 수명 주기 영역에서는 더더욱 그렇습니다. 더구나 소프트웨어 개발 단계에서 이루어지는 다양한 작업들 중에서도 테스트라는 용어로 정의할 수 있는 것들이 많습니다. 단위 테스트, 기능 테스트, 사용성 테스트, 시나리오 테스트 작업 등이 여기에 속하는데, 이런 작업들은 각각 한 가지 테스트에만 국한되기 때문에 앱 품질을 높이는 데 필요한 검증 분야를 모두 아우르지는 못합니다. 그래서 이 글에서는 특정 검증 분야를 따로 다루지 않는 대신, 다양한 분야를 아우르는 고급 검증 방법을 개발자에게 소개하고 앱의 품질을 높일 수 있는 방법을 알아보도록 하겠습니다. 이 글에서 소개하는 검증 방법 외에도 디버그 및 테스트용 Visual Studio 또는 Visual Studio 단위 테스트 도구를 활용하여 앱 개발 단계에서 기능을 검증할 수 있으니 참고하시기 바랍니다. 또한 우리는 이 글을 시작으로 앞으로 몇 주에 걸쳐 Metro 스타일 앱을 테스트하는 방법을 자세히 소개하는 글을 연재할 계획입니다.

앱 수명 주기 관리”라는 제목의 이전 글에서 설명했던 것처럼 Metro 스타일 앱은 다양한 런타임 상태로 변경될 수 있습니다. 그리고 앱 수명 주기에 따라 핵심 검증 영역을 다음과 같이 구분할 수 있습니다.

  • 활성화: 앱이 여러 가지 활성화 경로를 통해 작동하는가
  • 실행: 앱이 런타임에서 작동하는가
  • 일시 중지: 앱이 제대로 일시 중지되는가
  • 다시 시작: 앱이 제대로 다시 시작되는가
  • 종료: 앱이 제대로 종료되는가
  • 실행: 앱이 실행되지 않을 때 어떤 동작이 수행되는가

위부터 차례대로 다루면서 핵심적인 검증 분야에 대해 자세히 살펴보겠습니다.

앱의 활성화 동작에 대한 검증

사용자가 앱을 사용하는 다양한 상황에 따라 앱의 활성화를 테스트합니다. 앱에서 제공하는 각각의 활성화 시나리오를 모두 확인해야 합니다. 사용자가 앱을 활성화하는 환경은 주로 다음과 같습니다.

  • 타일:사용자가 처음으로 개발자의 앱을 조작하게 되는 순간은 타일을 사용하여 앱을 실행할 때입니다. 개발자의 앱이 적절한 앱 시작 디자인 패턴에 따라 실행되는지 확인합니다.
  • 알림 메시지: 알림 메시지 기능이 있는 앱의 경우 앱에서 처리해야 하는 알림을 수신하여 클릭했을 때 설정한 대로 기능이 작동하는지 확인합니다.
  • 검색:검색 기능이 있는 앱인 경우 앱이 제대로 작동하고 앱에서 검색을 완료하는 데 문제가 없는지 확인합니다. 검색어 제안 기능이 있을 때는 앱에서 제안하는 검색어가 제대로 표시되는지 확인합니다.
  • 대상 공유:대상 공유 기능이 있는 경우 다른 앱과 공유한 콘텐츠가 앱에서 설정된 콘텐츠 형식에 따라 작동하거나 게시되는지 확인합니다.
  • 프로토콜:프로토콜에 등록된 앱이면 프로토콜에 해당하는 URL을 다양한 형식으로 입력했을 때 앱이 제대로 작동하는지 확인합니다.
  • 파일 연결:파일 형식을 처리할 수 있게 등록되어 있는 앱인 경우 적절한 형식의 파일을 실행할 때 앱이 제대로 작동하는지 확인합니다.
  • 파일 선택기/연락처 선택 기능: 파일 열기/저장 선택기연락처 선택 기능으로 등록된 앱의 경우에는 이러한 환경에서도 앱이 제대로 작동하는지 확인합니다.

앱의 런타임 동작에 대한 검증

Metro 스타일 앱 기능 검증에서는 모든 앱에 공통적으로 해당되는 특성을 검증하는 동시에 해당 앱에만 적용되는 기능을 검증하는 작업을 복합적으로 수행합니다. 앞으로 이야기할 핵심적인 검증 시나리오 외에도 응용 프로그램 고유의 기능을 확인할 수 있는 다양한 작업을 수행해야 합니다. 핵심 시나리오가 무엇인지 파악하고 그 시나리오가 제대로 작동하는지 확인하는 작업 역시 필요합니다.

타일

앱에 있어서 가장 핵심적인 부분 중 하나가 앱 타일이고 사용자에게도 가장 자주 노출됩니다. 따라서 다음의 타일 동작 요소들을 검증해야 합니다.

  • 라이브 타일 기능이 있는 앱의 경우 앱을 실행하는 동안의 동작을 검증합니다. 앱에 표시되는 상태와 타일 업데이트가 일치하는지 확인합니다. 사진 앱 타일이라면 가장 최근에 추가된 앨범의 사진이 표시되어야 합니다.
  • 보조 타일 기능이 있는 경우 정보를 제대로 표시하는지 확인합니다. 날씨 앱이라면 특정한 도시를 보조 타일에 지정할 수 있습니다. 또한 보조 타일을 클릭했을 때 앱이 제대로 실행되고 설정된 앱 컨텍스트로 이동하는지 확인해야 합니다.
  • 타일에 알림 배지 기능이 있을 때는 모든 배지 업데이트가 제대로 표시되고 앱에 표시되는 해당 앱 상태와 업데이트가 일치하는지 확인합니다. 예를 들어 메일 앱의 읽지 않은 메일 수를 표시하는 배지라면 더 이상 읽지 않은 메일이 없다는 것을 사용자가 알 수 있도록 앱이 실행되면 배지가 사라져야 합니다.

알림 메시지

알림 메시지 기능이 있으면 알림이 제대로 트리거되고 표시되는지 확인합니다. 또한 알림 메시지를 클릭했을 때 앱이 제대로 실행되고 설정된 앱 컨텍스트로 이동하는지 확인합니다.

계약 및 연장

앞에서 앱의 활성화 동작을 검증하는 내용을 다루면서 계약에 대해서도 조금 살펴보았습니다. 이제 런타임에서 계약을 검증하는 것과 관련하여 몇 가지 부분을 추가로 살펴보겠습니다.

  • 소스 공유: 앱에 소스 공유 기능이 있으면 공유 참을 사용하여 콘텐츠 지원 형식의 앱에서 컴퓨터의 다른 앱으로 콘텐츠를 공유할 수 있는지 확인합니다.
  • 원격 재생: 앱에서 재생 계약을 지원하는 경우에는 장치 참을 사용하여 원격 장치에서 앱의 미디어를 재생할 수 있는지 확인합니다.
  • 설정: 앱에서 설정 계약을 지원하는 경우 특정 앱 설정을 확인하고 수정할 수 있는지 확인합니다. 더불어 앱을 종료하거나 다시 시작해도 수정한 설정이 유지되는지 확인합니다.

Windows 앱 인증 키트

Windows 앱 인증 키트를 사용하면 앱이 Windows 스토어의 전송 조건에 부합하는지 확인할 수 있습니다. 지원되는 API 검증, 크래시 및 작동 중단 테스트, 앱 매니페스트 검증, 앱 시작/일시 중지 시간 성능 검증이 키트에서 자동으로 실행됩니다. 우리는 미리 자주 키트를 실행할 것을 권장합니다. 지금까지 앱 개발자가 인증 키트를 미리 실행하지 않아 마감일에 맞게 앱을 스토어에 등록하지 못하게 되는 상황이 종종 발생했습니다. 하지만 키트를 미리 자주 실행하면 앱에 발생하는 어떤 문제든 빨리 발견해서 해결할 수 있고 스토어에 앱을 등록할 수 있게 됩니다. 키트에서 수행하는 테스트의 종류와 키트를 실행할 수 있는 구성에 대한 다양한 팁은 Windows 앱 인증 키트 설명서에서 자세하게 살펴볼 수 있습니다.

동시 보기와 전체 보기

Metro 스타일 ��� 사용자는 다양한 보기 상태로 앱을 실행할 수 있습니다. 전체 화면 보기뿐 아니라 동시 보기와 전체 보기로 앱을 실행할 수 있습니다. 개발자는 이런 보기 상태가 올바르게 전환되는지 검증해야 합니다.

  • 앱에서 동시 보기와 전체 보기 기능이 지원되는지 확인합니다. 끌어오기나 끌어오지 않기를 했을 때 앱 컨텍스트가 유지되는지 확인합니다.
  • 끌어오기 동작과 끌어오지 않기 동작으로 인해 사용자의 작업이나 상태가 취소되지 않는지 확인합니다.
  • 끌어오기를 한 상태에서 사용자가 앱을 조작할 수 있는지 확인합니다.

회전

사용자가 태블릿이나 모니터를 돌리면 앱을 회전시킬 수 있습니다. 앱에서 가로 방향과 세로 방향이 모두 지원되는 경우 방향 전환이 가능한지 확인합니다. Metro 스타일 앱용 Visual Studio 시뮬레이터를 사용하면 앱을 두 가지 방향 모드에서 모두 테스트할 수 있습니다. 따라서 이 시나리오를 테스트하기 위해 태블릿 장치를 사용할 필요가 없게 됩니다.

터치

Windows 8을 사용하면 앱에서 더욱 다양한 터치 경험이 가능하게 됩니다. Metro 스타일 앱용 Visual Studio 시뮬레이터를 사용하면 앱에서 지원하는 터치 동작을 테스트할 수 있습니다. 따라서 이러한 동작을 테스트하기 위해 터치 전용 하드웨어를 사용할 필요가 없게 됩니다.

  • 앱에서 사용하는 모든 컨트롤이 터치가 가능한 표준 기본 컨트롤인지 검증합니다. 프로그래밍 언어에 따라 XAML 컨트롤이나 JavaScript 컨트롤 중 하나를 선택하여 사용합니다.
  • 개발자의 Metro 스타일 앱이 터치 조작 방식 디자인 기준에 부합하는지 확인합니다.
  • 사용자 동작에 대한 시각적인 피드백을 제공하는지 확인합니다.
  • Windows OS 제스처와 충돌하지 않도록 하기 위해 화면 가장자리에서 끄는 동작을 사용하지 않는지 확인합니다.
  • 앱에서 텍스트 입력 컨트롤을 지원하는 경우 소프트 키보드가 제대로 작동하는지 확인합니다. 소프트 키보드를 표시하면 사용자가 볼 수 있게 키보드 포커스 영역이 올라오는지 확인합니다.

오디오 재생

Windows 8에서는 오디오 재생 기능(백그라운드에서 오디오 재생 기능 포함)이 있는 Metro 스타일 앱용 모델을 지원합니다. 오디오 테스트 권장 사항은 다음과 같습니다.

  • 앱에서 오디오를 재생하는 경우 사용자가 개발자의 앱에서 다른 형식의 오디오 앱으로 전환할 때 음량 알림을 적절하게 처리하는지 확인합니다. 예를 들어 개발자의 앱이 게임일 경우 '음소거' 알림을 수신하면 게임이 일시 정지되어야 합니다. 자세한 내용은 Metro 스타일 앱에서 오디오 재생을 확인하세요.
  • 백그라운드 오디오 재생 기능이 있는 앱의 경우 오디오 재생이 중단되지 않고 백그라운드에서 오디오를 계속 재생하는지 확인합니다. 사용자가 시스템을 잠갔을 때도 앱에서 오디오가 재생되는지 확인합니다.
  • 음악 재생을 제어하는 전송 컨트롤에 앱이 등록된 경우 이 기능이 앱에서 제대로 작동하는지 확인합니다.

다양한 화면 크기

Windows 8은 태블릿 PC의 작은 화면부터 중간 크기의 랩톱 화면은 물론, 대형 데스크톱 화면에 이르기까지 다양한 화면 크기에서 실행됩니다. 따라서 다양한 화면 크기에 따라 앱을 테스트해야 합니다. Metro 스타일 앱용 Visual Studio 시뮬레이터를 사용하면 앱을 다양한 화면 크기와 픽셀 밀도에서 테스트할 수 있습니다.

  • 1024x768에서 2560x1440 사이의 해상도에서 앱 레이아웃이 잘리지 않고 콘텐츠가 설정된 위치에 표시되는지 확인합니다.
  • 픽셀 밀도에 따라 조정했을 때 이미지가 선명한지 확인합니다.

데이터 로밍

Windows 8에서는 로밍 상태를 Metro 스타일 앱에 저장하는 등 여러 개의 PC에 로밍을 설정할 수 있으며, 테스트하는 방법은 다음과 같습니다.

  • 여러 개의 PC에서 앱 컨텍스트가 제대로 로밍되는지 확인합니다. 마지막으로 완료한 게임 레벨, 가장 최근에 읽은 책 페이지 또는 앱에 있는 비디오에서 가장 마지막으로 재생한 위치 등이 이러한 컨텍스트에 속합니다. 한쪽 PC에 있는 앱에 설정한 컨텍스트가 다른 PC에 있는 앱을 사용할 때도 반영되는지 확인합니다.
  • 여러 개의 PC에서 로밍할 수 있는 사용자 기본 설정이 모두 제대로 로밍되는지 확인합니다. 예를 들면 날씨 앱에서 사용자가 설정한 기온 표시 단위 등이 여기에 해당됩니다. 따라서 한쪽 PC에 있는 앱에 사용자가 설정한 기온 표시 단위가 다른 PC에 있는 앱을 사용할 때도 반영되는지 확인해야 합니다.

장치와 센서

Metro 스타일 앱에서 장치 또는 센서를 지원하는 경우 다음 사항들을 확인해야 합니다.

  • 위치 정보에 따라 보기를 조정하는 기능이 있는 경우 이 기능이 제대로 작동하는지 확인합니다. Metro 스타일 앱용 Visual Studio 시뮬레이터를 사용하면 현재 위치를 설정할 수 있는 옵션이 지원되는 상태에서 이 기능을 테스트할 수 있습니다.
  • 카메라 또는 USB 드라이브와 같이 사용자가 시작하는 장치 연결에 반응하는 기능이 있는 경우 앱에서 이러한 이벤트에 응답하여 동작을 올바르게 수행하는지 확인합니다. 예를 들어 앱을 사용해 카메라에 있는 모든 이미지를 복사할 수 있는지 등을 확인합니다. 더불어 장치와의 연결이 끊어졌을 때 앱이 정상적으로 작동하는지 확인합니다. 예를 들어 앱을 사용해 카메라에서 이미지를 복사하는 도중에 사용자가 카메라를 컴퓨터에서 분리했을 때 앱이 어떻게 작동하는지 확인합니다.
  • 사용자는 도킹 스테이션에 특정한 시스템이나 장치를 고정하는 것이 가능합니다. 시스템이 도킹되었을 때나 도킹되지 않았을 때 모두 앱이 정상적으로 작동하는지 확인합니다.

성능

사용자는 앱이 입력에 즉각적으로 반응하기를 바랍니다. 따라서 앱의 성능 특성을 검증하는 것은 매우 중요한 일이 아닐 수 없습니다. 다양한 하드웨어에서 Windows 8을 실행할 수 있기 때문에 저사양 컴퓨터에 앱을 설치한 다음 성능 특성을 확인하는 방법을 권장합니다. 측정을 위해 컴퓨터를 준비하는 방법에 대한 자세한 내용은 Metro 스타일 앱의 성능을 향상시키는 방법을 참고하세요.

반응 속도
  • 앱에서 지원하는 핵심 시나리오를 검증하려면 예상 상호 작용 클래스를 파악하고 해당 앱이 특정 상호 작용 클래스 목표에 도달하는지 확인합니다.
  • 사용자에 대한 앱의 응답성이 유지되는지 확인합니다.
  • 비동기 네트워크 호출과 같은 작업을 장시간 실행하는 동안 앱에서 사용자 피드백을 제공하는지 확인합니다.
앱 에코시스템에 기여하는 개발자

블로그 게시글 Metro 스타일 앱의 성능을 향상시키는 방법에 기술된 것처럼 앱 에코시스템에 기여하는 앱을 개발했는지 스스로 점검하는 것이 중요합니다. 앱이 포그라운드에 있든 그렇지 않든 상관없이 사용자의 전반적인 사용 경험에 긍정적으로 기여하는 것 역시 중요합니다. 위에서 제시한 사항 외에 다음 사항을 추가로 검증해야 합니다.

  • 개발자의 앱이 유휴 상태에 있을 때 CPU를 사용하지 않도록 설정되어 있으면 실제로 CPU가 전혀 소모되지 않는지 확인합니다.
  • 사용자들은 네트워크 요금제를 비롯하여 다양한 형태의 네트워크를 통해 앱에 접속할 수 있습니다. 따라서 인터넷에 연결된 앱일 경우 데이터 수/발신 시 네트워크 요금제에 맞게 동작 조정을 할 수 있는지 확인합니다.

오류 처리

'혹시나 했더니 역시나'라는 말이 있습니다. :-) 실제로 앱이 실행되는 조건이 변경되면 작동 방식에도 영향을 줄 수 있습니다. 예를 들면 네트워크 연결이 중단된 경우 앱에서 문제를 처리하고 이런 상황에 대처하는 방법을 결정할 수 있어야 합니다.

  • 앱에서 오류 조건을 적절하게 처리하는지 확인합니다. 예를 들은 것처럼 네트워크 및/또는 장치 연결과 관련해서 오류가 발생할 가능성은 가장 높습니다. 개발자의 앱이 연결 상태 변경 관리 관련 지침을 잘 따르고 있는지 확인합니다.
  • 오류 처리 작업이 사용자에게 방해가 되지 않으며 중대한 오류가 발생했을 때에만 사용자에게 오류가 표시되는지 확인합니다.
  • 수행할 수 있는 조치가 포함된 오류 메시지를 사용자에게 제공하는지 확인합니다. 조치 가능한 오류 메시지에 대한 지침을 참고하세요.

안정성

사용자는 앱이 안정적이고 일관되게 작동하기를 바랍니다. 따라서 앱의 안정성이 높은지 확인해야 합니다.

  • 앱이 다양한 상황에서 안정적으로 작동하며 처리되지 않은 예외로 인해 충돌하지 않는지 확인합니다.
  • 메모리나 기타 다양한 리소스가 앱에서 누설되지 않는지 확인합니다. Metro 스타일 앱에서 메모리 누설을 감지하기 위해 다른 Windows 응용 프로그램에 일반적으로 사용하는 동일한 방법을 사용할 수 있습니다.

앱을 Windows 스토어에 게시한 다음에는 Windows 스토어 개발자 포털을 통해 앱의 사용 현황 데이터와 품질 데이터를 확인할 수 있습니다. 예를 들면 앱 사용자에게 발생한 예외, 크래시, 무응답 관련 문제 등을 확인하는 것이 가능합니다. 이러한 데이터를 참고하여 앱에서 가장 빈번하게 발생하는 크래시 및 작동 중단을 해결하는 것이 좋습니다.

접근성

Windows 8은 전 세계의 다양한 사람들을 위해 설계되었으며 누구나 손쉽게 사용할 수 있습니다. 개발자의 Metro 스타일 앱이 접근성 기준을 충족한다면 에코시스템에 대한 접근성을 개선하는 데 엄청난 기여를 할 수 있습니다. 접근성을 지원하는 앱의 경우 앱 접근성 테스트에 기술된 조건에 부합하는지 확인합니다.

세계화와 현지화

개발자의 Metro 스타일 앱이 전 세계를 대상으로 고안된 것이라면 다양한 지역과 시장의 상황에 맞게 현지화될 수 있어야 합니다. Metro 스타일 앱의 경우 콘텐츠에 따라 구성된 언어나 표시 형식(날짜, 시간, 통화 및 숫자)을 다양하게 사용할 수 있습니다. 예를 들어 영문판 Windows를 설치하면서 기본 언어를 일본어로 설정하고 Metro 스타일 주식 앱을 실행한다면, 앱에서 일본어로 된 모든 주식 관련 기사를 표시하는 동시에 선택된 지역의 주식 거래 정보(예: 도쿄 증권 거래소)를 제공하게 됩니다.

현지화된 앱인 경우 다양한 지역에서, 다양한 표시 언어로 작동할 수 있는지 확인합니다.

  • 앱에서 지원하는 언어를 검증하려면, 제어판의 언어 설정에 각 언어를 한 번씩 기본 언어로 설정해 보면서 해당 언어에 맞게 앱 콘텐츠가 적절히 조정되는지 확인합니다.
  • 앱을 실행하고 있을 때나 작업이 중단되었을 때도 언어가 제대로 변경되는지 확인합니다.
  • 앱에서 지원하는 언어의 경우에는 사용자 인터페이스 문자열이 제대로 나타나며 잘리지 않는지 확인합니다.
  • 앱 이미지에 나타나는 모든 텍스트가 선택된 표시 언어로 표시되는지 확인합니다.

프로세서 아키텍처

Metro 스타일 앱은 아키텍처 중립적일 수도 있고 특정 아키텍처를 대상으로 할 수도 있습니다.

개발자의 앱이 아키텍처 중립적이라면 아무 아키텍처나 선택하여 테스트할 수 있습니다.

특정한 아키텍처에 종속되는 앱일 경우 지원되는 모든 아키텍처를 적용하면서 테스트해 봐야 합니다.

  • 특히 Windows RT(ARM)를 대상으로 하는 앱인 경우 Windows RT PC에서 기능을 검증해야 합니다. 블로그 게시글 WOA(Windows on ARM) 개발에 대해 알아야 할 것들에서 ARM 개발과 테스트에 대한 보다 자세한 정보를 확인하세요.
  • x64 패키지를 별도로 제공하지 않는 x86 대상 앱인 경우 x86 시스템과 x64 시스템에서 앱 기능이 모두 제대로 작동하는지 확인해야 ���니다. 그 이유는 x86 대상 앱의 경우 x86(32비트 Windows) 시스템 또는 x64(64비트 Windows) 시스템에서 모두 실행이 가능하기 때문입니다. Windows를 사용하면 x86 대상 앱을 x64 시스템에서 실행할 수 있습니다.

앱의 일시 중지 동작에 대한 검증

앱이 포그라운드에 있지 않으면 Windows에서 앱을 일시적으로 중지합니다. 이렇게 해서 포그라운드에 있는 앱에 시스템 더 나은 리소스 사용 환경을 제공하면서 백그라운드에 있는 앱이 사용자의 배터리를 소모하지 않도록 막을 수 있습니다. 일시 중지된 동안에도 예를 들면 주식 앱에서 사용자가 마지막으로 확인한 주식 정보나 주식 차트의 시간 범위 같은 정보를 그대로 유지할 수 있습니다.

  • 일시 중지 상태에서 앱의 메모리 사용량이 줄어드는지 확인합니다. 작업 관리자에서 일시 중지 상태를 확인할 수 있습니다. 작업 관리자에서 '자세히'를 클릭하면 사용 가능한 옵션이 모두 표시되고 여기에서 [보기] > [상태 값] > [Show suspended status](일시 중단 상태 표시)를 차례로 클릭합니다.
  • 백그라운드에 있는 데이터를 업로드하거나 다운로드하는 기능이 있는 앱인 경우 앱이 일시 중지되어도 데이터가 계속 전송되는지 확인합니다.

앱 일시 중지/다시 시작 시뮬레이션에 Visual Studio를 사용할 수 있습니다. [보기] > [도구 모음] > [디버그 위치]에서 이 작업을 설정합니다.

앱의 다시 시작 동작에 대한 검증

앱이 포그라운드로 다시 돌아오면 Windows는 앱을 다시 시작하고 Windows에서 앱이 일시 중지된 상태에서 이어서 작업을 실행합니다. 앱이 정상적으로 다시 시작하는지 확인해야 합니다.

  • 장시간 앱이 중단되었다가 다시 시작되는 경우가 있습니다. 그동안 표시 콘텐츠나 네트워크 연결이 효력을 잃을 수 있습니다. 앱이 다시 시작되고 콘텐츠 상태에 대한 시각 정보가 제공되는지 확인합니다.
  • 앱이 다시 시작된 후 콘텐츠를 새로 고침할 수 있고 필요한 경우 네트워크 리소스에 다시 연결할 수 있는지 확인합니다. 예를 들어 주식 앱을 다시 시작한다면 데이터가 마지막으로 업데이트된 시간에 대한 시각 정보를 사용자에게 표시한 다음 사용자가 최근 주가를 확인할 수 있도록 캐시된 주식 데이터를 업데이트하기 시작할 것입니다.

앱의 종료 동작에 대한 검증

시스템 리소스가 부족하면 Windows에서 일시 중지된 앱이 종료될 수 있습니다. 사용자가 수동으로 앱을 끄거나 Windows에서 로그아웃한 경우에도 앱이 종료됩니다. 종료 후 앱을 실행했을 때 올바른 앱 데이터가 복원되는지 앱이 종료된 방식에 따라 확인해야 합니다.

  • Windows에서 종료한 앱을 실행한 경우에는 일시 중지되거나 종료되기 이전의 콘텐츠와 상태가 앱에서 복원되는지 확인합니다. 예를 들면 마지막으로 확인한 주식 정보나 앱이 일시 중지될 때 저장된 차트의 선택 기간 등이 복원되어야 합니다.
  • 수동으로(화면 위에서 아래로 살짝 밀어) 앱을 끈 다음 실행한 경우에는 기본 데이터로 앱이 시작하는지 확인합니다.
  • 크래시 등 비정상적으로 종료한 앱을 실행한 경우에는 앱이 여전히 잘 실행되고 기본 데이터를 로드할 수 있는지 확인합니다. 작업 관리자에서 마우스 오른쪽으로 앱을 클릭 > 세부 정보로 이동 > 오른쪽 클릭 > 작업 종료를 하면 앱이 비정상적으로 종료될 수 있습니다.

자세한 내용은 라이브 앱을 위한 앱 수명 주기 관리를 참고하세요.

앱이 실행되지 않을 때의 동작에 대한 검증

Metro 스타일 앱에서는 실행되지 않을 때에도 사용자에게 정보가 표시됩니다. 따라서 아래의 시나리오가 제대로 작동하는지 확인해야 합니다.

타일

앱이 작동하지 않을 때 우선적으로 확인해야 하는 사항입니다.

  • 기본 설정 타일이 제대로 표시되는지 확인합니다. 타일 크기, 사용 패턴, 알림이 타일에 대한 지침 및 검사 목록의 지침을 준수하는지 확인합니다.
  • 예약된 알림 또는 클라우드로부터 주기적 알림/푸시 알림 기능이 있는 앱의 경우 실행되지 않을 때에도 타일이 업데이트되는지 확인합니다. 날씨 앱의 주기적인 현재 기온 타일 업데이트나 스포츠 앱의 최신 스코어(클라우드로부터 푸시된) 타일 업데이트 등이 여기에 포함될 수 있습니다.
  • 라이브 타일이 있으면 사용자가 개발자의 앱을 이용하도록 효과적으로 유인할 수 있습니다. 앱에서 일어나는 일이 라이브 타일에 표시된 정보로 잘 나타나는지 검증합니다.

알림 메시지

앱이 실행되지 않을 때에도 알림 메시지를 지원하면(예약 알림 또는 푸시 알림 사용) 앱이 실행되지 않을 때 알림 메시지가 제대로 트리거되고 표시되는지 확인합니다. 일정 앱에서 알림 메시지로 회의 일정을 미리 알려주도록 설정하거나 뉴스 앱에서 알림 메시지로 속보를 표시하는 것 등이 여기에 포함될 수 있습니다.

백그라운드 작업

앱에서 백그라운드 작업을 지원하면 해당되는 동작을 검증합니다.

  • 잠금 화면 알림 표시가 가능한 앱(예: 항상 앱의 현재 상태에 대한 정보를 제공해야 하는 메일 앱 또는 VoIP 앱)의 경우 PC를 사용하지 않을 때에도 앱이 현재 상태를 확인하여 정보를 표시하는지 확인합니다.
  • 특정 트리거에 대한 백그라운드 작업을 수행할 수 있는 앱(예: AC 전원을 사용할 때 사진 라이브러리에서 가져온 사진을 처리하는 사진 앱)의 경우 적절한 조건이 갖추어졌을 때 앱에서 작업이 제대로 수행되는지 확인합니다.

자세한 내용은 백그라운드 작업을 참조하세요.

결론

Metro 스타일 앱을 테스트하고 품질을 검증하는 작업은 앱 사용자에게 뛰어난 경험을 제공하는 데 있어 매우 중요한 과정입니다. 이 글에서는 Metro 스타일 앱의 검증 작업과 관련하여 몇 가지 중요한 영역을 살펴보았습니다. 구체적으로는 다양한 상황에서 앱을 실행했을 때 앱 동작을 검증하는 방법, 앱 기능을 검증하는 방법, 그리고 Metro 스타일 앱 수명 주기의 다양한 상태로 전환되는 동안 앱 동작을 검증하는 방법 등을 알아보았습니다.

실제 환경에서는 사용자가 다양하고 복합적인 상호 작용을 통해 개발자의 앱에 영향을 줄 수 있습니다. 예를 들어 사용자가 앱을 전체 보기로 끌어오고 장치를 회전시킨 다음 화면 해상도를 조정하는 작업을 빠른 연속 동작으로 수행하는 경우도 있을 수 있습니다. 그렇기 때문에 개발자는 격리된 상태에서 특정 시나리오에 따라 앱 동작을 테스트하는 것 외에 이 같이 복잡한 사용자 조작을 고려하여 창의적인 테스트를 고안해 내고 앱에 적용할 수 있어야 합니다.

아무쪼록 이 글이 앱 기능을 검증하는 방법을 생각해 보는 좋은 계기가 되었으면 하며, 고품질 앱을 제공하는 데에도 많은 도움이 되기를 바랍니다. 또한 앞으로 몇 주에 걸쳐 Metro 스타일 앱 테스트에 대한 논의를 더욱 심도 있게 다룰 예정이오니 여러분의 많은 관심을 부탁드립니다.

감사합니다!

- Windows 수석 SDET, J. Kalyana Sundaram

- Windows 테스트 책임자, Ashwin Needamangala

- Windows 테스트 책임자, Mete Goktepe

이 블로그 글을 작성하는 데 도움을 준 Tom White, Patrik Lundberg, Tom Baxter, Vik Kumar, Rui Sun, Yves Neyrand에게 특히 감사드립니다.

  • Loading...
Leave a Comment
  • Please add 7 and 4 and type the answer here:
  • Post