Internal Testing은 앱 스토어의 폐쇄형 테스트 트랙으로, 내부 개발 팀과 QA 엔지니어만 사용할 수 있습니다. Google Play 및 App Store에서 Internal Testing은 검토 없이 빌드를 게시하고 제한된 참가자 그룹에게 즉시 배포할 수 있습니다. Google Android Developers, 2024에 따르면 60%의 팀이 베타 트랙 및 프로덕션으로 출시하기 전 첫 번째 단계로 Internal Testing을 사용합니다. 이는 새로운 기능을 테스트하기 위한 최소 진입 기준입니다.
핵심 사항
Internal Testing은 Google Play Console 및 TestFlight의 테스트 트랙으로, 개발 팀 구성원 간에 빌드를 배포하기 위해 설계되었습니다. 오픈 베타 테스트와 달리 Internal Testing에 대한 액세스는 개발자 계정 소유자가 승인한 이메일 주소 목록으로 제한됩니다.
주요 이점은 테스터에게 최소 빌드 전달 시간입니다. Google Play에서 Internal Testing은 검토를 거칠 필요가 없으며, 업로드 후 5~15분 내에 참가자에게 빌드가 표시됩니다. App Store의 TestFlight를 통해서도 빌드가 사전 App Review 없이 전달되지만, 기본적인 보안 요구 사항에 대한 자동 확인을 받습니다.
Google Play에는 Internal Testing, Closed Beta(Open Beta), Production의 세 가지 테스트 트랙이 있습니다. Internal Testing은 가장 빠르고 참가자 수가 가장 제한적입니다(최대 100명). Closed Beta는 최대 10,000명의 참가자를 허용하며 테스트 페이지 설정이 필요합니다. Production은 완전한 검토를 거치는 최종 단계입니다.
Internal Testing은 베타 트랙으로 넘어가기 전 초기 빌드 확인에 사용됩니다. 개발자는 일일 빌드를 QA 팀에 업로드하고, 새 SDK 통합을 확인하고, 다양한 OS 버전과의 호환성을 테스트하고, 빌드가 외부 테스터에게 공개되기 전에 회귀 오류를 식별합니다.
Google Play Console에서 Internal Testing은 Release → Testing 섹션에서 사용할 수 있는 별도의 트랙입니다. 테스터를 추가하려면 이메일 주소를 입력하기만 하면 참가자가 Google Play를 통해 참여할 수 있는 초대장과 링크를 받습니다. 빌드는 프로덕션 릴리스와 동일한 인터페이스를 통해 업로드됩니다.
개발자는 Google Play Console의 Internal Testing 섹션에 App Bundle 또는 APK를 업로드합니다. 시스템은 서명, 코드 버전 및 API 호환성과 같은 기본 요구 사항을 확인합니다. 5~15분의 처리 후 빌드를 테스터가 사용할 수 있습니다. 상태는 콘솔에서 추적됩니다: 초안, 검토 중, 테스트 준비 완료.
// Fastlane — Internal Testing 트랙에 게시
lane :internal_testing do
gradle(task: ":app:assembleRelease")
upload_to_play_store(
track: "internal",
release_status: "completed",
rollout: 1.0
)
slack(
message: "Build uploaded to Internal Testing"
)
end
참가자 추가는 Google Play Console의 Testers 섹션을 통해 수행됩니다. CSV 파일을 통한 그룹 업로드가 지원됩니다. 각 테스터는 초대장과 설치 지침이 포함된 이메일을 받습니다. 액세스를 취소하려면 그룹에서 참가자를 제거하기만 하면 설치된 앱은 계속 작동하지만 새 업데이트는 전달되지 않습니다.
Apple 생태계에서는 TestFlight가 Internal Testing 역할을 수행합니다. 이는 베타 버전 배포를 위한 플랫폼입니다. TestFlight는 최대 100명의 내부 테스터를 지원하며, App Store Connect를 통해 이메일로 추가됩니다. 빌드 게시에 완전한 App Review가 필요하지 않지만, 빌드는 최소 요구 사항에 대해 자동으로 확인됩니다.
검토가 전혀 필요하지 않은 Google Play와 달리, Apple은 자동 기본 검토를 수행합니다. 확인에는 30~60분이 소요되며 악성 API에 대한 바이너리 코드 스캔 및 기본 요구 사항 준수 여부 확인이 포함됩니다. 확인에 성공하면 빌드를 24시간 내에 테스터가 사용할 수 있습니다. 빌드의 유효 기간은 90일입니다.
App Store Connect에서 Internal Testing은 TestFlight → Internal Testing 섹션에서 구성됩니다. 계정 소유자는 이메일로 테스터를 추가하고 역할을 할당합니다. Xcode 또는 Transporter를 통해 빌드를 업로드하면 시스템이 새 버전의 가용성을 참가자에게 알립니다. 테스터는 기기의 TestFlight 앱을 통해 앱을 설치합니다.
두 플랫폼 모두에서 Internal Testing을 설정하는 데 10~30분이 소요됩니다. 아래는 Google Play 및 App Store에 대한 단계별 지침입니다. 이 프로세스는 앱 코드 변경이 필요하지 않으며 개발자 콘솔을 한 번만 설정하면 됩니다.
| 단계 | Google Play | App Store(TestFlight) |
|---|---|---|
| 1 | Google Play Console → Testing → Internal | App Store Connect → TestFlight → Internal Testing |
| 2 | 테스터 그룹 만들기 | 테스터 이메일 추가 |
| 3 | App Bundle / APK 업로드 | Xcode / Transporter를 통해 IPA 업로드 |
| 4 | 처리 5~15분 대기 | 기본 검토 30~60분 대기 |
| 5 | 팀에 가용성 알림 | TestFlight가 참가자에게 알림 |
두 스토어 모두 API를 통한 Internal Testing 게시를 지원합니다. 자동화에는 Gradle Play Publisher(Google Play)와 Fastlane(두 플랫폼 모두)이 사용됩니다. CI/CD 파이프라인은 단위 테스트 및 UI 테스트가 성공적으로 실행될 때마다 내부 트랙에 빌드를 업로드할 수 있습니다.
인증이 필요한 앱의 경우 테스트 계정을 준비하여 QA 팀에 제공해야 합니다. 계정은 테스트 환경(스테이징/개발)에 액세스할 수 있어야 하며 프로덕션 데이터에 영향을 주지 않아야 합니다. 내부 트랙용으로 별도의 테스트 Firebase 구성을 만드는 것이 좋습니다.
Internal Testing은 CI에서 자동 검사를 통과한 후 QA 파이프라인에 통합됩니다. 개발자 또는 DevOps 엔지니어가 내부 트랙에 빌드를 업로드하면 QA 엔지니어가 알림을 받고 앱 스토어를 통해 테스트 기기에 업데이트를 설치합니다.
매일 또는 코드 베이스에 중요한 변경이 있을 때마다 Internal Testing에 빌드를 릴리스하는 것이 좋습니다. QA 팀은 인증, 주요 사용자 흐름, API 통합 및 로컬 스토리지 작업과 같은 중요한 시나리오를 테스트합니다. 회귀 테스트는 3~4번째 빌드마다 수행됩니다.
버그 리포트 수집을 위해 추적 시스템(Jira, YouTrack, Trello 또는 GitHub Issues)과의 통합을 사용합니다. 테스터는 스크린샷, 로그 및 재현 단계를 보냅니다. TestFlight에는 기기를 흔들 때 스크린샷 및 기기 로그 수집 기능이 내장되어 있으며, 데이터는 App Store Connect를 통해 개발자에게 전송됩니다.
Internal Testing 트랙에 빌드를 자동으로 게시하려면 CI/CD 파이프라인을 설정합니다. 단위 테스트 및 UI 테스트를 통과한 후 스크립트가 빌드를 내부 트랙에 업로드하고 QA 팀에 알림을 보냅니다. Fastlane은 track: internal 매개변수와 함께 upload_to_play_store 액션을 제공합니다. iOS의 경우 Fastlane Pilot을 사용하여 TestFlight에 업로드합니다.
Internal Testing에는 참가자 수에 대한 엄격한 제한이 있습니다: Google Play에서 최대 100명, TestFlight에서 최대 100명의 내부 테스터입니다. Google Play는 또한 그룹 수를 제한하여 내부 트랙의 그룹은 최대 1개입니다. App Store는 빌드 수를 제한하지 않지만 각 빌드의 유효 기간은 90일입니다.
Google Play는 내부 트랙에 업로드되는 빌드 수를 제한하지 않지만, 90일 동안 비활성 상태이면 트랙이 자동으로 중단될 수 있습니다. TestFlight에는 더 엄격한 제한이 있습니다: 동시에 최대 30개의 활성 빌드, 최대 10,000명의 외부 테스터(내부 아님). 제한을 해제하려면 Apple Developer Enterprise 프로그램에 참여해야 합니다.
내부 트랙에서 빌드가 안정화된 후 외부 사용자 테스트를 위해 Closed 또는 Open Beta로 이동됩니다. Google Play는 트랙 설정을 복사하고 다시 업로드하지 않고 빌드를 전송할 수 있습니다. TestFlight는 새로운 테스터 그룹으로 별도의 외부 트랙을 생성해야 합니다.
내부 트랙의 빌드는 외부 액세스로부터 보호됩니다: Google Play Console 또는 App Store Connect를 통해 승인된 참가자만 앱을 다운로드할 수 있습니다. 앱 링크를 알고 있더라도 권한 없는 사용자는 빌드를 설치할 수 없습니다. 이는 새로운 기능의 기밀성을 보장하고 개발 단계에서 지적 재산권을 보호합니다.
자주 묻는 질문
Google Play에서는 최대 100명입니다. TestFlight에서도 최대 100명의 내부 테스터입니다. 대상을 확장하려면 Closed Beta(Google Play에서 최대 10,000명) 또는 External Testing(TestFlight에서 최대 10,000명)으로 전환해야 합니다.
Google Play에서는 검토가 필요하지 않습니다 — 업로드 후 5~15분 내에 빌드를 사용할 수 있습니다. TestFlight에서는 자동 기본 검토(30~60분)가 수행되어 게시가 약간 지연됩니다. 전체 App Review는 필요하지 않습니다.
아니요, Internal Testing은 내부 개발 팀만을 위한 것입니다. 고객 및 외부 테스터에게는 Closed Beta(Google Play) 또는 External Testing(TestFlight)을 사용하세요. 이 트랙은 더 많은 참가자와 공개 테스트 페이지를 지원합니다.
Google Play에는 빈도 제한이 없으며 매일 또는 하루에 여러 번 빌드를 릴리스할 수 있습니다. TestFlight는 빌드 수명을 90일로 제한하지만 새 빌드 수는 제한되지 않습니다. 테스트 안정성을 위해 하루에 1~2회 이상 업데이트하지 않는 것이 좋습니다.
Internal Testing은 100명의 참가자로 제한되고, 검토가 필요 없으며, 공개 페이지가 없습니다. Closed Beta는 최대 10,000명의 참가자를 지원하고, 참여를 위한 공개 링크가 있으며, 국가 또는 지역별로 구성할 수 있습니다. Closed Beta는 Google Play 검색에도 표시됩니다.
요약
턴키 방식의 모바일 애플리케이션을 개발해 드립니다
IT Sectr는 2017년부터 스타트업과 기업을 위한 iOS 및 Android 애플리케이션을 만듭니다. 저희가 상담해 드리고 최적의 솔루션을 제안하겠습니다.