본문 바로가기
기타

Mobile App 초기 실행 테스트

by 보증서는 남자 2024. 9. 13.

모바일 앱 테스트를 할 때 또는 앱을 배포하고 모니터링할 때 종종 수집되는 VOC가 있다. "앱이 실행되지 않아요", "앱이 실행되고 바로 꺼져요" 등 간혹 사용자 환경 또는 서버 이슈로 인해 앱이 실행되지 않는 이슈들이 발생한다.

이러한 일들이 종종 발생하여 개인적으로는 앱 실행할 때 어떤 동작들이 초기 셋팅이 되고 있는지 정리해두는 편이다. 오늘은 모바일 앱 실행 시 어떤 동작들이 수행되는지 알아보자.

 

Native App이 실행될 때, 스플래시 이미지는 사용자에게 처음으로 노출되는 화면입니다. 이 화면은 앱이 초기화되고 여러 작업들이 백그라운드에서 동작하는 동안 사용자의 시선을 끌기 위한 목적으로 사용됩니다. 스플래시 화면이 나타나는 시간 동안 앱은 다양한 초기 작업을 수행하게 됩니다. 이는 회사나 앱의 요구 사항에 따라 다를 수 있지만, 일반적으로 아래와 같은 작업들이 스플래시 화면 동안 이루어집니다.

 

1. 단말기 및 사용자 정보 수집

앱이 시작되면 가장 먼저 사용자와 단말기의 기본 정보를 수집합니다. 이 정보는 앱 동작의 맞춤화, 사용자 맞춤 설정, 보안 강화 등에 활용될 수 있습니다.

  • 단말기 정보: OS 버전, 단말기 모델, 화면 해상도, 네트워크 상태(Wi-Fi, LTE), 배터리 상태 등.
  • 사용자 정보: 사용자의 로그인 상태 확인, 사용자 토큰 확인, 기기에 저장된 설정 값 로드.

이 단계에서 수집된 정보는 앱의 초기 설정이나 화면 구성에 활용되며, 사용자에게 맞춤화된 경험을 제공합니다.

2. 실험 정보 로드 (A/B 테스트)

많은 앱에서는 A/B 테스트피처 플래그 같은 실험 도구를 활용하여 새로운 기능을 제한적으로 제공하거나, 사용자 경험을 향상시키기 위한 데이터를 수집합니다.

  • 앱 실행 시 실험 그룹을 결정하고, 그에 따라 특정 기능을 활성화하거나 비활성화하는 등의 작업을 합니다.
  • 실험 결과는 사용자 행동 분석 및 제품 개선을 위한 데이터로 활용됩니다.

이 과정에서는 앱이 서버와 통신하여 현재 사용자에게 어떤 실험이나 피처 플래그가 적용되어야 하는지를 판단합니다.

3. 보안 앱 실행 

보안이 중요한 앱(특히 금융, 의료 등)에서는 스플래시 화면 동안 추가적인 보안 관련 모듈을 초기화합니다.

  • 보안 모듈은 앱이 안전하게 동작할 수 있도록 단말기 환경을 검사하거나 보안 기능을 활성화합니다.
  • 예를 들어, 단말기가 루팅되어 있거나 탈옥된 상태인지 확인하고, 보안상의 위험이 발견되면 앱 실행을 중단하거나 사용자에게 경고 메시지를 표시할 수 있습니다.
  • 또한, 암호화 모듈을 초기화하고, 네트워크 통신의 보안성을 강화하기 위한 준비 작업이 이루어집니다

4. 서버 상태 점검

앱이 실행될 때, 서버가 정상적으로 동작하는지 확인하는 작업도 스플래시 화면 동안 수행될 수 있습니다. 서버가 점검 중이거나 문제가 발생하면, 앱은 사용자에게 서버 상태에 대한 정보를 미리 알려줄 수 있습니다.

  • API 서버 상태 점검: 내부 API를 호출하여 서버의 상태를 확인하고, 서버가 정상적으로 응답하지 않을 경우 점검 모드 메시지를 표시하거나 대체 화면을 띄웁니다.
  • 서버 점검이나 유지보수가 있을 경우, 사용자에게 사전에 알림을 보여주어 불편을 최소화합니다.

5. 기타 서비스 초기화

앱에 따라 추가적인 초기화 작업이 필요할 수 있습니다.

  • 데이터 동기화: 사용자 데이터가 클라우드와 동기화되어야 한다면, 스플래시 화면 동안 초기 동기화를 진행할 수 있습니다.
  • 알림 서비스 초기화: 푸시 알림 서비스를 설정하거나, 기존 알림을 불러오는 작업이 이루어질 수 있습니다.
  • 캐시 데이터 로드: 자주 사용되는 데이터를 미리 캐시에서 불러오거나, 서버에서 데이터를 받아오는 작업도 이 단계에서 진행될 수 있습니다.

 

스플래시 화면에서 앱이 처리하는 작업들은 앱의 원활한 실행을 위해 필수적인 부분입니다. 각 회사나 앱의 특성에 따라 다르지만, 단말기 및 사용자 정보 수집, 실험 정보 로드, 보안 모듈 초기화, 서버 상태 점검과 같은 작업이 주로 이루어집니다. 이러한 과정을 통해 앱은 사용자가 로그인을 하기 전까지 필요한 준비를 마치고, 안전하고 개인화된 서비스를 제공할 수 있게 됩니다.

스플래시 화면은 단순히 로딩 이미지를 보여주는 것이 아니라, 앱이 원활히 동작하기 위한 다양한 초기 작업들이 이루어지는 중요한 단계라고 할 수 있습니다.

 

이러한 동작들은 백단에서 동작하고 있기 때문에 CharlesFiddler와 같은 툴을 이용해 네트워크 트래픽을 모니터링하여 이슈가 발생하는지 확인할 수 있습니다.