본문으로 바로가기
리옵트 핸드북
리옵트 핸드북
Expo 엔터프라이즈 프로덕션

New Architecture

SDK 56 브레이킹 체인지 총정리New Architecture 딥다이브React 19.2 동시성 패턴

네이티브 확장

Ch4. Expo UI — SwiftUI·Compose 선언형 네이티브Ch5. expo-widgets 홈 화면 위젯Expo Modules API v2 네이티브 확장

빌드·배포

EAS Build 고급 파이프라인EAS Update OTA 배포 전략보안·코드 서명·컴플라이언스

운영·품질

성능 모니터링·프로파일링테스트 전략 — E2E·네이티브·비주얼엔터프라이즈 앱 배포·MDM 통합

부록

검증 리포트업데이트 내역
핸드북›Expo 엔터프라이즈 프로덕션›테스트 전략 — E2E·네이티브·비주얼
한국어English

테스트 전략 — E2E·네이티브·비주얼

Maestro·Detox E2E, 네이티브 모듈 유닛 테스트, 비주얼 리그레션

핵심 요약

  • SDK 56 앱은 Hermes V1·native module·Expo UI·EAS Update·Observe가 함께 움직여 JS 테스트만으로는 부족하므로 TypeScript→Component→E2E→Native→Visual→Release 6계층 피라미드를 둡니다.
  • PR gate는 expo-doctor·expo install --check·test·lint이며, SDK 업그레이드 PR엔 install --fix lockfile 반영, Router codemod, iOS 16.4+ QA matrix, Node 22.13.x CI, 양 플랫폼 preview build를 추가로 요구합니다.
  • E2E는 cold launch, OTA relaunch, 딥링크, offline 복귀, 결제·인증, MDM config 변경을 SDK 56 변경점과 연결해 시나리오화합니다.
  • Expo UI·Widgets는 실제 네이티브 컨트롤이라 snapshot만으로는 부족하니 Dynamic Type·dark mode·RTL·screen reader·실기기 캡처를 matrix에 넣습니다.
  • Release gate는 preview→production binary→OTA 1%·10%·100%로 단계화하고 crash-free 99.5%·TTI P95 악화 10% 미만을 통과 기준으로 둡니다.

테스트 피라미드

SDK 56 앱은 JS만 테스트해서는 부족합니다. Hermes V1, native module, Expo UI, EAS Update, Observe instrumentation이 함께 맞물려 돌아가기 때문입니다.

계층도구검증 대상
TypeScriptVitest/Jestdomain logic, route helper, native wrapper fallback
ComponentReact Native Testing Librarystate, accessibility label, pending UI
E2EMaestro 또는 Detoxlogin, purchase, offline, deep link
NativeXCTest, JUnit/RobolectricExpo Modules API wrapper, entitlement, permission
Visualscreenshot diffExpo UI, widgets, Dynamic Type, dark mode
ReleaseEAS Build/Update/Observebinary, OTA, rollout health

PR gate

npx expo-doctor
npx expo install --check
pnpm test
pnpm lint

SDK 업그레이드 PR에는 추가로 아래 항목을 요구합니다.

  • npx expo install --fix 결과가 lockfile에 반영됨
  • Expo Router SDK 55 to 56 codemod 실행 또는 수동 import audit 완료
  • iOS 16.4+ 최소 버전으로 QA matrix 재정의
  • Node 22.13.x 이상 CI 이미지 사용
  • EAS preview build 양 플랫폼 성공

E2E 시나리오

시나리오이유
첫 설치 후 cold launchHermes V1과 Observe TTR/TTI baseline
OTA 수신 후 relaunchbytecode diff·runtimeVersion 호환성
딥링크 진입Expo Router import migration 영향
offline 후 online 복귀Observe event dispatch, update check, cache
앱 내 결제·인증native SDK wrapper와 secure storage
MDM managed config 변경enterprise distribution 대상

Expo UI·Widgets 회귀 테스트

  • Expo UI는 실제 iOS/Android 네이티브 컨트롤이라 snapshot만으로는 부족합니다.
  • Dynamic Type, dark mode, RTL, screen reader, hardware keyboard를 최소 matrix에 넣습니다.
  • iOS Widgets와 Live Activities는 simulator와 실제 기기에서 각각 캡처합니다.
  • API reference 상태 표기와 changelog가 어긋날 수 있으니 package version을 테스트 로그에 남깁니다.

Release gate

단계통과 기준
preview buildQA install, smoke E2E, native permission prompt 확인
production binarystore metadata, signing, crash symbol upload 확인
OTA 1%crash-free 99.5% 이상, TTI P95 악화 10% 미만
OTA 10%support ticket·backend error 정상
OTA 100%rollback point 기록, changelog 업데이트

관련 문서

검증 리포트

Expo SDK 56 엔터프라이즈 프로덕션 핸드북의 공식 자료, 최신성, 소스 충돌, 코드 예제 검증 결과

SDK 56 브레이킹 체인지 총정리

React Native 0.85, Hermes V1, Expo Router 분리, 플랫폼 요구사항, 마이그레이션 체크리스트

성능 모니터링·프로파일링

EAS Observe Open Beta로 cold/warm launch·TTI·TTR·bundle load를 수집하고, Hermes V1·JSI 경계를 실기기로 검증하며 P95 기준 rollout gate를 두는 프로덕션 성능 운영 체계.

엔터프라이즈 앱 배포·MDM 통합

App Store·Play Store 심사, 엔터프라이즈 사이닝, MDM 배포 자동화

On this page

테스트 피라미드PR gateE2E 시나리오Expo UI·Widgets 회귀 테스트Release gate