# 06. Quality, Release, And Launch

## 품질 정의

이 프로젝트의 품질은 아래를 동시에 만족하는 상태다.

- 메시지가 사라지지 않는다.
- 연결이 끊겨도 복구된다.
- 가입과 첫 대화 시작이 빠르다.
- 한국어 UI가 자연스럽고 잘리지 않는다.
- 업무용과 친근한 대화 양쪽 모두에서 피로가 적다.
- 장애를 관측하고 롤백할 수 있다.
- Windows와 Android가 같은 버전 체계 아래에서 일관된 품질 기준을 가진다.

## 계량 목표

- 설치 후 첫 대화 시작 중앙값 `60초 이하`
- 핵심 작업 `2클릭 또는 1단축키`
- 한국어 UI 잘림/겹침 `0건`
- IME 관련 치명 이슈 `0건`
- 패리티 매트릭스 `열위 0`
- Android APK 설치 완료 `90초 이하`
- OS별 다운로드 라우트 실패율 `0`

## 테스트 전략

### Unit

- 메시지 상태 전이
- 읽음 커서 계산
- 정렬/필터/검색
- 입력창 규칙
- 세션 만료/재발급
- 업로드 상태 관리

### Integration

- REST + WSS 조합
- 로컬 DB + 서버 정합성
- 알림 클릭 후 특정 방 포커싱
- 앱 업데이트 후 캐시 유지
- 가입 직후 bootstrap 동기화

### E2E

- Alpha용 초간단 가입
- Beta용 이메일 1회 확인 가입
- 기존 사용자 재실행 후 대화 복원
- 1:1/그룹 채팅
- 이미지/파일 업로드
- 네트워크 단절 후 재연결
- 서버 재시작 중 복구
- 세션 만료

### Android

- 첫 설치 후 앱 실행
- 서버 주소 입력과 가입
- 대화 목록 진입
- 대화방 입장과 텍스트 송신
- 백그라운드 복귀 후 상태 유지
- 권한/절전/회전 시 기본 UX 유지

### Manual UX Review

- 리스트와 채팅 패널의 시선 흐름
- 선택/읽지 않음/실패/로딩 상태의 명확성
- 한글 IME 입력 품질
- 다크/라이트 모드 완성도
- 저사양 장비 체감 반응성
- 빈 화면에서 다음 행동이 분명한지

## 가입 UX 검증

- 첫 실행 사용자 10명 중 8명 이상이 도움 없이 가입 성공
- 필수 입력 3개 이하 유지
- 가입 중 이탈 주요 사유 0개
- 가입 직후 `첫 대화 유도 상태`로 진입
- 닉네임, 사진, 상태메시지 건너뛰기 가능

## 한국어 UI 검증

- 주요 화면 100% 한국어
- 의미 불명/기계 번역 톤 0건
- 버튼 폭, 사이드바 폭, 대화 목록 말줄임 자연스러움
- 100%/125%/150% 스케일에서 깨짐 없음

## 업무형/친근형 시나리오 검증

### 업무형

- 읽지 않은 중요 메시지 빠르게 확인
- 파일 전달, 링크 회수, 공지 핀
- 여러 대화방 전환 시 맥락 유지
- 알림이 과하지 않으면서 놓치지 않음

### 친근형

- 빠른 답장
- 사진 공유
- 반응과 읽음 상태 전달
- 오타 수정, 재전송, 실수 복구 쉬움

## 네트워크 복원력 테스트

- 고지연
- 패킷 손실
- Wi-Fi 끊김 후 복귀
- 절전/복귀
- VPN on/off
- DNS 일시 실패
- WSS 서버 재시작
- VPS 재부팅

## 텔레메트리

### 핵심 이벤트

- 앱 실행/종료/비정상 종료
- 가입 시작/완료/실패
- 로그인 성공/실패
- 대화 목록 로드
- 메시지 전송 성공/실패
- 파일 업로드 성공/실패
- WSS 연결/끊김/재연결
- 업데이트 설치 성공/실패

### 대시보드

- 안정성 대시보드
- 메시징 품질 대시보드
- 연결성 대시보드
- 가입/인증 대시보드
- 릴리즈 대시보드

## 크래시 대응

### 클라이언트

- 재실행 시 안전 복구
- 미전송 텍스트 복구 시도
- 크래시 직전 화면과 앱 버전 수집
- 민감정보 수집 금지

### 서버

- 프로세스 재시작 정책
- 헬스 체크 분리
- 최근 배포 이력과 자원 지표 즉시 확인 가능

## 릴리즈 단계

### Prototype

- 내부 개발자만 사용
- 실사용 데이터 금지

### Private Alpha

- 5~20명
- 초간단 가입 검증
- 핵심 채팅 루프 검증
- 메시지 손실 0건 목표

### Closed Beta

- 50~200명
- 이메일 1회 확인 안정화
- 검색, 파일, 알림, 세션 관리 안정화
- 설치/업데이트 UX 점검

### Open Beta

- 초대 폭 확대
- 모니터링과 운영 정책 검증
- 회귀 대응 속도 평가

### RC

- 기능 동결
- 성능/보안/문구/정책 마감
- 패리티 열위 0

### Launch

- 롤백 가능한 빌드만 배포
- 72시간 집중 관제
- 최신 Windows 빌드가 `https://download-vstalk.phy.kr`에서 즉시 내려받아지는지 확인
- 같은 버전의 Windows/Android 산출물이 원격 Releases와 다운로드 미러에 함께 게시됐는지 확인

## 승인 기준

- P0 버그 0건
- 메시지 손실 재현 사례 0건
- 가입 후 첫 대화 시작 중앙값 60초 이하
- 한국어 UI 잘림/겹침/IME 치명 이슈 0
- 업무형/친근형 시나리오 완료율 85% 이상
- 파일 업로드 주요 포맷 성공
- 재연결 시나리오 통과
- 트레이/토스트/앱 복귀 동작 확인
- 백업과 복구 리허설 완료
- Windows/Android 각각 설치 검증 완료
- `latest/version.json`, 원격 Releases, 다운로드 라우트가 같은 버전을 가리킴

## 런치 직전 체크리스트

- 앱 설치/업데이트/제거
- `download-vstalk.phy.kr` 다운로드 링크 동작
- `windows/latest`, `android/latest`, `latest/version.json` 동작
- HTTPS 인증서 정상 여부
- Alpha/Beta 가입 플로우
- 로그인/복구/로그아웃
- 1:1/그룹 채팅
- 검색
- 첨부
- 세션 만료
- 토스트 클릭 라우팅
- 모니터링 알림
- 백업 완료 확인
- 정책 문서 링크 확인

## 런치 후 72시간 운영

- 4시간 단위 핵심 지표 확인
- 가입 이탈률 확인
- 사용자 피드백 triage
- RC 대비 회귀 차이 분석
- 필요 시 즉시 롤백
- OS별 설치 실패율과 다운로드 실패율 확인
