개발용 폰이 죽은 주말, 그리고 저렴한 테스트 장비의 비밀 세계를 발견하다
클라이언트 데모 사흘 전에 주 테스트 장치가 벽돌이 되는 그 오싹한 순간, 아시죠? 저도 거기 있었습니다. 생명 없는 화면을 바라보며, 막판에 플래그십 폰 하나 사면 지갑이 얼마나 털릴지 머릿속으로 계산하고 있었죠. 바로 그 패닉 때문에 저는 더 현명하고 저렴한 방법으로 개발 워크플로우를 유지하는 토끼굴에 빠지게 되었습니다. 오늘은 현대 앱 개발의 숨은 영웅, 바로 백업 폰과 소프트웨어 테스트 장비 대여 시장에 대해 이야기해볼게요.
예전에는 의미 있는 작업을 하려면 최신 기기, 완벽하게 반짝이고 박스에서 갓 나온 제품이 필요하다고 생각했어요. 세상에, 제가 완전히 틀렸습니다. QA 하는 친구가 버그 투성이 나이틀리 빌드(Nightly Build)만 돌릴 기기에 정가를 주고 산다고 하니까 비웃더군요. 그 친구가 처음으로 "테스트용 폰 대여(rent phone for testing)"라는 두 가지 마법의 단어를 속삭였습니다. 저는 팩스로 서류 보내고 최소 3개월 계약해야 하는 복잡한 기업 임대를 상상했죠. 그런데 그 친구가 보낸 링크 하나를 통해 중간급 삼성 폰을 골라 이틀 만에 배송받고 일주일 후 반납할 수 있었고, 총 비용은 외식 한 번보다 적었어요. 그때 업계 전체가 개발자들이 모르는 사이에 조용히 진화했다는 걸 깨달았습니다.
사실 상황은 두 가지로 깔끔하게 나뉩니다. 어느 쪽을 선택할지는 전적으로 여러분의 작업 리듬에 달려 있어요. 출시 전 스프린트(Sprint)의 혼란 속에서 호환성 테스트를 위해 약간씩 다른 안드로이드 스킨(Android skin)을 가진 기기 수십 대가 필요하신가요? 그렇다면 테스트 장비 대여 방법(how to rent testing devices)을 알아보고 싶을 겁니다. 이제 이에 특화된 온라인 플랫폼이 있습니다. 깨끗하게 초기화된 기기에 여러분이 지정한 OS 버전이 미리 로드되어 있고, 하루 또는 주 단위로 예약할 수 있어요. 어떤 곳은 원격 액세스(remote access)도 제공해서, 폰은 서버 랙에 있고 여러분은 브라우저로 조작하기 때문에 배송 지연이 없습니다. 제 팀에 아무도 없는 특정 샤오미(Xiaomi)와 오포(Oppo) 모델에서 화상 통화 기능을 테스트해야 했을 때, 소프트웨어 테스트 장비 대여 서비스(software testing device rental)가 프로젝트를 살렸어요. 2주 동안 폰 여러 대를 빌려서 자동화 스위트(Automation Suite)를 돌리고 반납했습니다. 여기서 핵심은 유연성입니다. 스프린트 후에는 먼지나 쌓일 기기에 얽매일 필요가 없어요.
하지만 여러분의 상황은 다를 수도 있습니다. 단순히 테스트만 하는 게 아니라 항상 쓸 수 있는 믿을 만한 보조 기기가 필요할 수도 있죠. 그럴 때는 백업 폰 구매 옵션(buy backup phone options)을 고려해볼 만합니다. 저는 결국 작년에 소프트웨어 테스트용 저렴한 폰(cheap phone for software testing)을 하나 샀어요. 중고 전자제품 매장에서 약 10만 원에 구한 너덜너덜한 픽셀 4a(Pixel 4a)입니다. 책상 서랍에 항상 충전된 채로 놓여 있고, 항상 테스트 구글 계정에 로그인되어 있어요. 주력 폰은 아니지만, 파트너의 폰을 이틀에 한 번씩 빌리지 않고도 빠른 점검(sanity check)을 위해 물리적 기기가 필요한 개발자에게 완벽한 백업 폰(backup phone for developers)입니다. 소셜 미디어 앱 여러 개, 다양한 화면 읽기 프로그램 설정, 심지어 느린 하드웨어를 흉내 내는 커스텀 런처까지 설치해뒀어요. 제 스위스 아미 나이프(Swiss Army knife)인 셈이죠. 직접 샀기 때문에 실험적인 빌드(experimental build)로 빌린 폰을 벽돌로 만들 수도 있는데(실제로 한 번 커스텀 OS를 플래싱(flashing)하는 법을 배우다가 3시간 동안 벽돌로 만들었지만 복구됐습니다), 마음껏 굴릴 수 있습니다.
중고 시장은 이런 용도로 금광입니다. 테스트용 중고 폰(used phone for testing)은 깨끗한 화면이나 하루 종일 가는 배터리가 필요하지 않아요. 부팅만 되고, 앱을 설치할 수 있고, 무작위로 죽지만 않으면 됩니다. 흠집이나 찌그러짐? 누가 신경 쓰나요? 동료들이 카메라 고장 난 구형 아이폰을 거의 공짜로 가져가는 걸 본 적 있어요. 4.7인치 화면에서 iOS 15 동작만 신경 쓰기 때문이죠. 저희 개발자 모임에 있는 한 분은 차고에서 중고 폰만 사서 각각 특정 안드로이드 API 레벨(Android API level)에 할당해 미니 실험실을 운영합니다. 사실상 자신만의 폰 테스트 장비 구매(phone testing equipment sale) 마인드를 구축한 건데, 판매하는 건 아니에요. 그냥 기기를 점진적으로 모아두었다가 스타트업에서 빠른 테스트 매트릭스(test matrix)가 필요하면 빌려주고 수제 맥주로 대가를 받습니다.
이제 여러분은 이런 딜을 어디서 찾을 수 있는지 궁금하실 겁니다. 테스트 장비 대여처(where to rent testing devices)는 DM으로 한 달에 적어도 두 번은 받는 질문입니다. 단일 상점이 있는 건 아니에요. 수백 가지 모델의 기기 라이브러리를 보유한 평판 좋은 온라인 렌탈 업체가 몇 곳 있습니다. DeviceAnywhere 같은 회사나 팬데믹 기간에 생겨난 지역 업체들이 개발자 전용으로 서비스를 제공합니다. 하지만 덜 알려진 채널에서도 큰 성과를 본 적 있어요. 바로 커뮤니티 마켓플레이스(community marketplace)입니다. 선견지명이 있는 QA 전문가들은 부업을 소규모 렌탈 비즈니스로 전환했습니다. 포럼이나 소셜 플랫폼에 폰 컬렉션을 게시하면 DM으로 주간 대여를 협상할 수 있습니다. 좀 수상해 보이지만, 저는 슬랙 그룹(Slack group)을 통해 같은 도시에 있는 사람에게 앱 테스트용 폰 대여(app testing phone rental)를 받았어요. 소액을 지불하고 그날 저녁 기기를 받아 실제 도시 거리를 돌아다니는 GPS 신호로 위치 기반 API 호출(location-based API calls)을 철저히 테스트한 다음 다음 날 아침 반납했습니다. 그 실세계 검증은 원격 클라우드 서비스가 완벽히 재현할 수 없는 부분이었어요.
예산 측면도 잊지 맙시다. 제가 인디(indie) 개발을 시작했을 때는 매달리는 돈이 소중했습니다. 저렴한 안드로이드 시장을 타겟으로 하는 앱용 테스트 폰이 필요했는데, 가장 싼 새 폰도 20~30만 원은 했어요. 그때 개발자용 백업 폰(backup phone for developers) 개념에 창의적으로 접근했습니다. 깔끔한 기기 하나 대신, 새 기기 한 대 값에 제조사가 다른 중고 폰 두 대를 샀어요. 그렇게 720p 디스플레이와 이상한 모양의 노치(notch) 기기에서 동시에 UI를 테스트할 수 있었습니다. 조합이 혼란스러워 보였지만, 처음 두 달간 충돌률이 30%나 떨어졌어요. 에뮬레이터(emulator)에서는 절대 못 잡을 레이아웃 버그를 발견했거든요. "하지만 최신 OS 버전이 필요해"라고 생각하신다면, 여기 비











