본문으로 건너뛰기
QA-Lab
고급20

Android와 iOS 검증 포인트: 플랫폼별 관습과 함정

뒤로가기 버튼 하나만 봐도 두 플랫폼은 근본적으로 다르게 동작한다. 각 플랫폼이 사용자에게 약속하는 관습을 알아야, "이게 버그인지 정상인지" 판단할 수 있다.

  • #Android
  • #iOS
  • #플랫폼가이드라인

개념

뒤로가기 버튼 — 가장 흔히 놓치는 차이

Android는 물리적(또는 화면 하단) 뒤로가기 버튼이 시스템 차원에서 존재한다. iOS에는 이런 전역 뒤로가기 버튼이 없고, 각 화면 안에서 앱이 자체적으로 뒤로가기 동작(왼쪽 상단 버튼, 스와이프 제스처)을 구현해야 한다.

Android: 시스템 뒤로가기 버튼을 누르면 어떻게 되는가?
  → 이전 화면으로? 앱이 종료되는가? 모달만 닫히는가?
iOS: 왼쪽 상단 버튼이나 오른쪽 스와이프로 뒤로 가는가?
  → 이 동작이 일관되게 모든 화면에 구현되어 있는가?

Android에서 뒤로가기 버튼을 눌렀을 때 앱이 아무 반응 없이 멈춰 있거나, 예상과 다른 화면으로 튀는 것은 매우 흔한 결함 유형이다.

권한 모델(Permission Model)의 차이

카메라, 위치, 알림 같은 민감한 기능에 접근할 때 권한을 요청하는 방식이 플랫폼마다 다르다.

Android: 앱 설치 시 또는 기능 사용 시점에 권한 요청, 세분화된 권한 관리 화면
iOS: 기능을 실제로 쓰는 순간 권한 요청, 한 번 거부하면 설정 앱에서만 재변경 가능

권한을 거부했을 때 앱이 어떻게 동작하는지는 반드시 확인해야 할 지점이다 — "카메라 권한을 거부했더니 앱이 그대로 멈춰버린다"는 결함은 실무에서 흔하다.

네비게이션과 제스처 관습

Android: 하단 탭 바, 플로팅 액션 버튼(FAB) 같은 머티리얼 디자인 관습
iOS: 하단 탭 바, 스와이프로 뒤로가기 같은 iOS 고유의 제스처 관습

각 플랫폼에는 사용자들이 이미 익숙해진 표준 UX 패턴이 있다. 플랫폼 관습을 어기는 디자인은 기능적으로는 "동작"하지만, 그 플랫폼 사용자에게는 어색하거나 혼란스럽게 느껴질 수 있다 — 이건 모듈 5(레슨 3)에서 배운 "사용성" 관점과 연결된다.

알림(Notification) 처리 차이

Android: 알림이 상태 표시줄에 계속 쌓이고, 그룹화·채널별 관리가 세밀함
iOS: 알림 센터에 모이고, 권한을 한 번 거부하면 재요청이 훨씬 제한적

푸시 알림을 탭했을 때 앱의 정확히 어느 화면으로 이동하는지(딥링크 처리)는 두 플랫폼 모두에서 중요한 검증 포인트지만, 구현 방식이 서로 다르다.

화면 크기와 노치·홈 인디케이터

iOS의 노치(또는 다이나믹 아일랜드)나 Android의 다양한 화면 비율은, 모듈 13(레슨 8)에서 배운 크로스 디바이스 전략처럼 레이아웃이 일부 기기에서만 깨지는 문제를 만들 수 있다. 화면 최상단·최하단에 중요한 버튼이 배치되어 있다면, 특히 주의 깊게 확인해야 한다.

"이게 버그인지 플랫폼 관습인지" 판단하기

두 플랫폼을 오가며 테스트하다 보면, "Android에서는 이런데 iOS에서는 다르다"는 차이를 발견하게 된다. 이때 중요한 질문은 **"이 차이가 각 플랫폼의 정상적인 관습을 따른 것인가, 아니면 실제로 한쪽에만 있는 결함인가"**를 구분하는 것이다 — 무조건 동일하게 만드는 것이 항상 옳은 방향은 아니다.

실무에서 왜 필요한가

"Android 버전만 뒤로가기 버튼을 눌렀을 때 앱이 꺼진다"는 리포트를 받았을 때, 이게 Android 고유의 시스템 버튼 처리 미비인지 이해하지 못하면 원인 파악이 늦어진다. 플랫폼별 관습을 아는 QA는 각 플랫폼에서 어떤 것이 "정상"이고 어떤 것이 "결함"인지 훨씬 빠르게 판단할 수 있다.

실습 과제

과제 1 — 뒤로가기 시나리오 설계하기 (10분)

"상품 상세 → 리뷰 작성 폼" 화면 흐름에서, Android의 뒤로가기 버튼을 눌렀을 때 확인해야 할 시나리오를 2가지 이상 설계한다 (작성 중인 리뷰가 있을 때와 없을 때를 구분해본다).

과제 2 — 권한 거부 시나리오 (10분)

"사진을 찍어 프로필에 등록하는" 기능에서, 카메라 권한을 거부했을 때 앱이 보여야 할 이상적인 동작을 설계한다(단순히 멈추는 것과 비교해 어떻게 다른지).

자가 체크리스트

  • Android와 iOS의 뒤로가기 동작 차이를 설명할 수 있다
  • 두 플랫폼의 권한 요청 방식 차이를 설명할 수 있다
  • 플랫폼 관습을 따르는 것과 결함을 구분하는 판단 기준을 설명할 수 있다
  • 노치·화면 비율 차이가 왜 레이아웃 검증 포인트가 되는지 설명할 수 있다

흔한 실수

  • 한 플랫폼에서 테스트한 결과를 다른 플랫폼에도 그대로 적용한다. 뒤로가기, 권한 요청처럼 근본적으로 다른 동작이 많다.
  • 권한을 거부하는 시나리오를 테스트하지 않는다. 실제 사용자 중 상당수가 권한을 거부하며, 이때의 앱 동작이 검증되지 않으면 큰 사용성 문제로 이어진다.
  • 플랫폼 관습과 다르다고 무조건 결함으로 판단한다. 각 플랫폼의 표준 UX 패턴을 존중하는 것도 좋은 설계일 수 있다.

참고 자료