기존 방식
- 테스트 진행시 구두 OR 슬랙으로 공지 및 전달사항 공유
- 테스트 진행
- USB 연결 후 빌드 → 테스트 진행 → 수정 → USB 연결 후 빌드 반복
- PlayStore 내부 테스트를 이용하여 실제 배포와 동일하게 진행 → 스토어 반영 시간 (1~2시간) → 다운로드 → 테스트 진행
- 테스트 완료 후 안드로이드 스튜디오 빌드 진행 → .apk / .aab 테스트폰에 각각 설치 후 최종 테스트
- .aab(bundle) 파일을 가지고 스토어에 직접 수기로 심사 및 배포 진행
- .aab 파일이 이전버전이 아닌지 확인 해야하며, 관리 차원에서 휴먼 에러가 발생할 수 있다.
개발이 완료되면 앱을 빌드한뒤 업로드해야합니다. 우선 PlayStore에 2차 인증을 거친 로그인을 해야하고 , 적당한 릴리즈노트와 함께 앱을 업로드하면, 앱파일을 첨부하는데 일정 시간을 소요한뒤에 앱을 제출할 수 있습니다. 업로드가 완료되면 바로 제공되는 것도 아닙니다. 약 30분의 '출시준비중' 단계를 대기한 후에 테스터들에게 앱이 제공됩니다.
신규 테스터를 추가하기 위해서는
(1) 플레이스토어 계정을 전달받아야하고
(2) 전달받은 계정에 수기로 권한을 등록해야합니다.
(3) 테스터가 정상적으로 권한을 획득했는지 확인해야하며,
(4) 권한을 획득한 테스터는 플레이스토어에서 '베타 참여하기' 버튼을 누른 뒤
(5) 약 1~2 시간을 많게는 3시간 이상을 기다려야 테스트앱을 다운받을 수 있습니다.
(OS별 테스트시)그나마 TestFlight는 '이전 빌드 보기'통해 과거 버전의 앱도 설치할 수 있어서, iOS는 이 방법으로 기능별 버전을 분리해서 QA를 진행할 수 있습니다. 그러나 플레이스토어는 가장 최신 버전의 앱만 제공할 수 있어 동시다발적으로 여러개의 QA를 태울땐 항상 난감합니다. 또 프로덕트에 앱이 출시되고나면, 자연스레 Beta에 등록된 앱이 이전 버전이 되면서 무효화 되기 때문에 Beta앱을 또 다시 빌드해서 등록해주어야합니다. 이는 배포역시 또 하나의 테스크로 변질되어진다.
💡 새로운 방식 도입 (R&D)아래의 과정이 명령어 한줄이면 가능하다.
- Fastlane(Build)
- Firebase App Distribution(테스트 모드) / 슬랙 알림 (테스트모드)
- 테스트 진행
- Main PR (merge) 완료 → 심사 & 배포 진행 → 슬랙 알림 (릴리즈 모드)
- 완료