
kmong Android 앱에 백신 투여하기
백신 투여로 Android 앱 안정성높이기 안녕하세요. kmong Android 앱 개발자 Vigli 입니다. 들어가기에 앞서, 이 글은 App Vital 중 비정상 종료 발생률을 줄이기 위해 kmong 에서 사용하는 방법을 설명하는글입니다. 설명을 위해 연출된 오류입니다. 이런 메시지보셨나요? 이 메시지는 앱에 예상치 못한 문제가 발생했을 때 앱이 종료되고 발생하는메시지입니다. 사용자가 원하는 모든 편리한 기능이 다 있는 앱이든, UI/UX를 잘 고려한 앱이든, 이런 메시지를 자주 본다면 사용자로서는 앱에 대한 만족도가 떨어지고, 앱에서 이탈하게 되는 이유 중 하나가 될거에요. 그만큼 안정성은 앱이 갖춰야 할 필수요소입니다. kmong 에서는 앱의 안정성을 위해 어떤 작업을할까요? 앱에 개발 / 도구 / 문화라는 각각의 백신을 투여해서 안정성을높여봅시다. 안정성을 높이기 위한 3가지백신 개발 1) 로그 kmong 앱에는 Firebase Crashlytics 를 오류 보고 솔루션으로 사용하고있습니다. 여기에는 오류를 파악하기 위한 유용한 기능이 많은데요. 그 중 일부를 같이살펴볼게요. setUserId() > 어떤 사용자에게 오류가 발생했는지 확인하는경우 setCustomKey() > 키, 벨류 형태의 정보를 추가하고 싶은경우 log() > 오류 발생 시 추가 내용을 함께 전달하고 싶은경우 recordException() > 오류를 직접 기록하고 싶은경우 이 4가지 기능을 잘사용하면, Firebase Console 페이지에서 더욱 풍부한 오류 정보를 볼 수 있어서 문제를 해결하는 데 큰 도움이됩니다. 2) 테스트 시나리오 테스트1 앱 안정성을 위한 강력한 방법은 테스트라고생각합니다. 하지만 모든 기능을 매번 한땀한땀 테스트하기에는 현실적으로 불가능하죠. 그래서 테스트도 자동화를 할 수 있게 많은 방법이존재합니다. 시나리오 테스트2 크몽 앱에는 Unit 테스트 와 UI 테스트 (Espresso)가 있고, 중요한 화면은 동작과 기능을 모아 시나리오 테스트를 추가하고있습니다. 이 테스트로 릴리즈 전 테스트가 돌아갈 때, 아메리카노 한잔 마시며 결과를 기다리는 여유! 가질 수 있게되죠. 도구 1) Firebase Crashlytics Firebase Console 에 새로운 오류(Fatal or Non-Fatal) 가 발생하면 Jira 에 티켓이 발급되고, Slack 으로 발급된 티켓 정보를알려줍니다. 즉, Firebase Console — Jira — Slack 이 연동되어있습니다. 왼쪽 위부터 시계방향으로 Firebase Console, Jira,Slack 이렇게 함으로써, 특별히 직접 Firebase Console 페이지를 모니터링 할 필요가 없으며, 예상치 못한 오류에 대해 빠르게 대응할 수있습니다. 이 자동화 구축은 kmong 의 훌륭한 iOS 개발자이신 Edgar 께서 진행하셨습니다. 감사합니다! 2) 스토어 리뷰알림 스토어 리뷰 알림을 보면, 좋은 리뷰도 있지만 그렇지 않은 리뷰도 올라옵니다. 특히 문제가 발생하면 간혹 스토어 리뷰에 등록 될 때가 있습니다. 그래서 스토어 리뷰는 항상 살펴봐도 나쁠 것이없습니다. 스토어에 등록된 리뷰가 Slack 으로전달됩니다. 문화 1) 개발문화 개발 문화는 코드 리뷰와 페어 코딩, 이 두 가지로 나눌 수있습니다. a) 코드 리뷰 PR 과 오프라인 코드 리뷰를 진행하고 있습니다. PR 은 기본 사항이고, 오프라인 코드 리뷰는 리뷰어의 요청 시에 진행합니다. 이걸 함으로써 개발하며 놓친 부분을 찾고 수정할 수있습니다. b) 페어 코딩 페어 코딩은 요청이 있는 경우, 진행하고 있습니다. 페어 코딩 시작 전에는 어떤 기능을 개발하는지 설명하는 시간을 갖습니다. 그리고 그 설명을 바탕으로 개발 진행하며 서로 적극적으로 설명과 피드백을 진행합니다. 이를 통해 서로에게 도움을 줄 뿐만 아니라, 꼼꼼하고 안정적인 개발을 진행할 수있습니다. 2) 소통문화 제가 생각하기에 이 부분이 가장 중요하다고생각합니다. 자유롭지만, 책임감 있는 소통 문화가 없다면 위에 언급한 내용이 크게 효과를 발휘하지는 못할거에요. 이슈가 발생했을 때 잘잘못을 논하기보다, 무슨 이유로 발생했고, 어떻게 대처해야 하고, 앞으로 재발하지 않게 만드는 프로세스를 만드는 것이 자유롭지만, 책임감 있는 소통 문화를 만드는 방안이라고생각합니다. 그래서 이를 위해, 이슈가 발생하면 Slack 으로 공유하고, 그에 관해 얘기합니다. 그리고 일부 이슈는 Conflunce 나 개발 회의로 심도 있게 정리하고있습니다. 효과적인 백신을 만들어서 더욱 안정적인 앱을 완성하길바랍니다. 읽어주셔서 감사합니다. 전문가가 필요한 순간? 대한민국 №1 프리랜서 마켓, 크몽 https://kmong.com/ Android Developer kmong Android 앱에 백신 투여하기 was originally published in kmong on Medium, where people are continuing the conversation by highlighting and responding to this story.
