테스트/운영 환경의 앱을 Firebase App Distribution, Play Store의 비공개/내부 테스트 트랙을 이용해 전달하고 있다.
프로젝트 진행 시에는 내부 앱 공유만 이용했었는데, 이번 기회의 여러 테스트 트랙을 경험해 볼 수 있었다.
각 방식의 차이점과 장단점을 잊지 않도록 기록해 두려고 한다.
1. Play Console
Play Console에서는 크게 프로덕션, 공개, 비공개, 내부 테스트 트랙, 그리고 내부 앱 공유를 제공한다.
프로덕션 | - PlayStore에 배포 |
공개 테스트 | - 출시 직전에 대규모 그룹을 대상으로 테스트 진행 - Google Play에서 바로 참여 신청하여 테스트 가능 - 인원 제한 (1000명 이상) or 무제한 |
비공개 테스트 | - 타겟팅하는 그룹 대상으로 테스터를 등록하여 테스트 진행 (ex. 소규모 동료 그룹, QA 업체 등) - 테스터 그룹에 초대 후, 수락하여야 테스트 가능 |
내부 테스트 | - 초기 품질 보증 검사를 위해 내부 사람들끼리 테스트 진행 - 최대 100명까지, email로만 테스터 초대 가능 (스토어에서 개발자모드를 활성화 해야 함) - 구성이 완료되지 않은 (= 심사 정보를 입력하지 않은) 상태의 앱도 테스트 가능 |
[참고] https://support.google.com/googleplay/android-developer/answer/9845334?hl=ko
- 내부 테스트를 제외한 테스트 트랙들에서는 업로드 시마다 심사 후 게시가 가능하여, 심사 정보를 미리 입력해 두어야 한다.
(이 과정에서 개발 후 테스트 앱 전달에 시간이 어느정도 소요되었다. 한번 프로덕션 배포가 되었던 앱은 6시간 안에는 심사가 완료되는 것 같다. 주로 새벽에 작업해서 올려두면, 다음날 오후에는 심사가 완료되어 있었다)
- 내부 테스트를 제외한 테스트 트랙들은 debuggable이 false로 되어 있어야 업로드가 가능했다. 그렇지 않으면 debug 앱은 올릴 수 없다거나, 서명되지 않은 앱이라는 오류가 발생했다.
- 내부 테스트와 내부 앱 공유의 차이는 아직 잘 모르겠다. 내 추측으로는 내부 앱 공유는 업로드한 파일마다 링크가 생성되어, 이전 버전도 링크를 통해 설치할 수 있어 보였다. 반면, 내부 테스트는 다른 테스트 트랙들처럼 가장 최신의 버전만 설치 가능한 것으로 보였다.
2. Firebase App Distribution
PlayStore에 올라가는 것과 별개로 테스트 빌드를 업로드하고 싶다면 Firebase에서 제공하는 Firebase App Distribution을 사용하는 것도 좋다.
버전 코드가 겹쳐도 문제 없고, iOS와 통합하여 한 곳에서 테스트 빌드들을 확인할 수 있다는 점이 큰 장점으로 보인다.
(Play Store는 버전 코드가 겹치면 안되기에 새로운 빌드를 올릴 때마다 버전코드를 올려야 해서 귀찮았던 적이 많았다 😭)
심사 과정 또한 필요없기에 내부 개발자들끼리 앱을 빠르게 공유해서 QA를 진행하기에 용이하다는 것도 장점이다.
사용 방법도 아주 간단하다. 보통 앱 개발을 하면 푸시 등의 목적으로 Firebase를 연결해 두었을텐데...
Firebase Console에서 App Distribution을 활성화만 시켜주면 된다.
- .aab 파일을 공유하려면 Play Console과 연동이 필요하며, 설치는 Play Store의 내부 테스트 트랙과 동일하게 넘어가는 것으로 확인했다
- apk 파일을 테스터들에게 바로 공유할 수 있고, 내부 앱 공유처럼 이전 빌드도 다운로드 받을 수 있다
나라면... 개발자들끼리 테스트 과정에서는 비교적 간편한 Firebase App Distribution을 사용할 것 같다.
작업 후 업로드도 빠르고, 이전 빌드도 다운받을 수 있다는 점이 엄청난 장점으로 느껴졌다.
규모가 커서 테스트 과정이 체계화된 곳이라면
개발자 테스트 -> Firebase App Distribution이나 Play Store의 내부 앱 공유
QA -> 내부 테스트 트랙
특정 부서 테스트 -> 비공개 테스트 트랙
유저 대상 테스트 -> 공개 테스트 트랙
을 사용하면 좋지 않을까 생각해 보았다.
아직 프로젝트랑 외주만 진행해 보아서, 지금까지 내가 학습한 내용으로는 이렇게 생각해 보았는데...
실제로 큰 규모의 회사에서는 앱 테스트를 어떻게 진행하는지 너무 궁금하다 🙄 !!
다음 글에서는 BuildType을 이용해 develop/production 환경을 분리하는 방법, Fastlane을 이용한 CI/CD 구축 방법에 대해 작성해 볼 예정이다
'💻 Android' 카테고리의 다른 글
[Android] Android CI/CD 구축하기 (3) - Fastlane + Firebase App Distribution, PlayStore + Slack (0) | 2024.05.25 |
---|---|
[Android] Android CI/CD 구축하기 (2) - BuildType으로 개발/운영 환경 분리 (0) | 2024.05.25 |
[Android] Android 13 마이그레이션 (0) | 2024.03.09 |
[Android/IOS] 인앱 리뷰 기능 추가하기 (2) | 2023.09.23 |
[Android] 인스타그램 DM으로 공유하기 기능 만들기 (0) | 2023.09.23 |