경험 중심 1인칭 답변
iOS 앱 개발 프로젝트에서 단위 테스트와 UI 테스트를 분리해서 작성하는 방식을 처음 적용했습니다. 처음엔 테스트 코드 작성이 느리다고 생각했는데, 회귀 버그가 줄고 리팩토링이 훨씬 편해지는 걸 경험했습니다. 메모리 누수 문제는 Instruments를 써서 retain cycle이 발생한 클로저 구조를 찾아 약한 참조로 수정했고, 크래시는 Firebase Crashlytics로 실기기 환경에서 재현되는 케이스를 먼저 잡았습니다. 출시 전 TestFlight 베타를 통해 실제 사용 패턴에서 발생하는 엣지 케이스를 시뮬레이터에서 못 잡은 버그보다 더 많이 발견했습니다. 앞으로도 iOS 앱 안정성 확보에서 자동화 테스트와 실기기 검증을 병행하는 방식을 유지하겠습니다. 앞으로도 iOS 앱 안정성 확보를 위해 자동화 테스트와 실기기 검증을 병행하는 방식을 유지하겠습니다.
시뮬레이터에서 안 잡히는 버그가 실기기에서 나오는 경우가 더 많습니다. TestFlight 베타는 출시 전 마지막 안전망으로 반드시 거쳐야 합니다.