DragonCrawl: A Generative, Intent-Based Framework for Scalable Mobile End-to-End Testing
DragonCrawl는 GPT-4o의 멀티모달 역량을 활용하여 높은 통과율을 달성하고, 테스트 온보딩 시간을 획기적으로 단축하며, CI/CD 파이프라인 내에서 특정 사용자 흐름을 검증함으로써 기존 엔드 투 엔드 테스트의 확장성 및 취약성 한계를 극복하는 AI 기반의 의도 중심 모바일 테스팅 프레임워크입니다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
유리과 빛으로 만들어진, 끊임없이 변화하는 거대한 도시를 짓고 있다고 상상해 보세요. 매일 건축가들은 새로운 탑을 세우고, 화가들은 창문의 색을 바꾸며, 엔지니어들은 문을 교체합니다. 이 도시는 모바일 앱이며, 그곳에 사는 사람들은 수백만 명의 사용자입니다. 이 도시가 무너지지 않도록 하려면, 당신은 모든 거리를 걷고, 모든 문을 열어보고, 모든 창문이 여전히 제대로 작동하는지 확인해야 합니다. 이것을 "테스트"라고 부릅니다. 하지만 문제는, 당신이 한 거리를 다 점검할 때쯤이면 건축가들이 이미 그곳을 다시 재건축해 버린다는 것입니다. 만약 모든 문에 대해 엄격하고 로봇 같은 체크리스트를 작성하려고 한다면, 화가가 문손잡이 색을 바꾸는 순간 당신의 체크리스트는 망가지고, 처음부터 다시 써야 하는 상황이 발생합니다. 이것이 전통적인 앱 테스트의 악몽입니다. 느리고, 취약하며, 끊임없이 깨진 체크리스트를 고치기 위해 군대와 같은 인력을 필요로 합니다.
여기에 "AI 탐정"이라는 아이디어가 등장합니다. 단순히 문손잡이가 있어야 할 위치만을 아는 로봇 대신, 문손잡이가 '무엇을 위한 것인지'를 이해하는 탐정을 상상해 보세요. 문손잡이가 위치를 옮기더라도 탐정은 당황하지 않습니다. 그저 문을 여는 물건을 찾아 계속 걸어가면 되니까요. 엔지니어들이 작성한 이 논문은 DragonCrawl이라는 새로운 시스템을 소개합니다. 이 시스템은 초지능형 인공지능(거대 언어 모델)을 사용하여 그 탐정 역할을 수행합니다. 경직된 지도를 암기하는 대신, DragonCroll은 인간처럼 앱을 읽습니다. 화면을 보고, 목표(예: "차량 호출하기")를 이해한 뒤, 스스로 다음 단계를 결정합니다. 이 방식은 훨씬 빠르고, 저렴하며, 앱이 변경되어도 잘 망가지지 않음을 보여줍니다. 덕 없이 회사는 앱을 업데이트할 때마다 수천 가지의 다양한 시나리오를 자동으로 테스트할 수 있습니다.
옛날 방식 vs 새로운 방식
DragonCrawl 이전에는 Uber에서 DragonCrawl V1이라는 방법을 사용했습니다. 이것은 마치 학생이 경로가 찍힌 사진 한 장을 외워서 미로를 통과하려는 것과 같습니다. 미로가 사진과 똑같다면 학생은 걸어갈 수 있습니다. 하지만 벽이 조금이라도 움직이거나, 학생이 미로의 다른 부분에서 똑같은 복도를 마주하게 되면 혼란에 빠져 제자리를 뱅뱅 돌게 됩니다. 이 시스템은 단순한 작업에는 괜찮았지만, 작업이 복잡해지면 처참하게 실패했습니다. 그것은 정적인 지도 하나에만 의존해 도시를 항해하려는 것과 같아서, 도시가 성장하자마자 그 지도는 쓸모없게 되었습니다.
새로운 버전인 DragonCrawl V2는 완전히 판도를 바꾸는 게임 체인저입니다. 정적인 지도 대신, 이것은 "생성형" 두뇌를 사용합니다. 당신의 도시에 가본 적은 없지만 도시가 어떻게 돌아가는지는 잘 아는 가이드가 있다고 상상해 보세요. 당신이 가이드에게 "공항까지 가고 싶어요"라고 말하면, 가이드는 현재의 거리, 교통 표지판, 주변 사람들을 보고 "좋아요, 여기서 왼쪽으로 꺾겠습니다"라고 결정합니다. 만약 거리 표지판이 바뀌더라도 가이드는 멈추지 않습니다. 그저 새로운 표지판을 보고 계속 나아갈 뿐입니다. 이것이 DragonCrawl V2가 작동하는 방식입니다. 단순히 그림을 맞추는 것이 아니라, 목표와 현재 보이는 상황을 바탕으로 다음에 무엇을 할지 추론합니다.
실제로 어떻게 작동하는가
이 시스템은 거의 인간처럼 느껴지게 만드는 몇 가지 영리한 기술들로 구축되었습니다.
- 의도 기반의 두뇌 (The Intent-Based Brain): "버튼 A를 클릭하고, 그다음 버튼 B를 클릭하라"는 스크립트 대신, 엔지니어들은 "시내에서 공항까지 차량을 호출하라"와 같은 간단한 문장을 작성합니다. AI는 이 목표를 읽고 화면을 봅니다. 그리고 스스로에게 묻습니다. "지도와 '어디로 갈까요?' 박스가 보이네. 내 목표를 달성하려면 이 박스를 눌러야겠어." AI는 지금까지 해온 일을 기억하며 단계별로 이 과정을 수행하므로, 루프에 빠져 길을 잃지 않습니다.
- 시각적 탐정 (The Visual Detective): AI가 작업을 마쳤다고 생각할 때, 단순히 특정 단어가 나타났는지 코드 박스를 체크하는 것이 아닙니다. 대신, 화면의 "스크린샷"을 찍어 초지능형 AI(GPT-4o)에게 "이 사진이 성공적인 차량 예약 상태를 보여주나요?"라고 묻습니다. AI는 이미지를 보고 영수증이나 확인 메시지를 확인한 뒤, "네, 도착했습니다!"라고 답합니다. 이는 버튼이 이동하거나 텍스트가 "확인"에서 "확인되었습니다"로 바뀌어도 상관없기 때문에 훨씬 더 견고합니다.
- 시간 여행자 (Tool Calling): 때때로 특정 기능을 테스트하려면 가짜 상황을 설정해야 합니다. 예를 들어, 운전자가 신분증을 업로드했는지 테스트하려면 방금 신분증을 업로드한 것처럼 꾸며야 합니다. 과거에는 이것이 악몽이었습니다. 하지만 DragonCrawl은 이제 앱의 "백스테이지"와 직접 대화할 수 있습니다. "이 운전자가 방금 승인을 받은 것처럼 행동해줘"라고 말하면, 시스템은 즉시 상태를 변경하여 테스트를 계속할 수 있게 합니다. 이는 마치 감독이 "컷!"이라고 외치며 배우들에게 장면을 즉시 바꾸라고 지시하는 것과 같습니다.
결과: 더 빠르고, 더 똑똑하고, 더 저렴하게
논문에 담긴 수치들은 매우 인상적입니다. 이 새로운 시스템이 나오기 전에는 엔지니어가 단 하나의 기능을 테스트하는 데 약 96~120시간(몇 주 분량의 작업!)이 걸렸습니다. 하지만 DragonCrawl V2를 사용하면 4시간 미만 만에 테스트를 설정할 수 있습니다. 이는 엄청난 속도 향상입니다.
설정이 훨씬 빨라졌기 때문에, 팀은 테스트 규모를 단 48개에서 1,013개로 키울 수 있었습니다. 이 테스트들은 코드가 변경될 때마다 자동으로 실행됩니다. 시스템은 매우 신뢰할 수 있습니다. iPhone에서는 91.6%, Android에서는 **92.2%**의 성공률을 보입니다. 이는 기존 시스템이 단순한 테스트에서 약 80%의 성공률을 보이고 복잡한 테스트에서는 완전히 실패했던 것에 비하면 엄청난 도약입니다.
또한 논문은 놀라운 부수적 이점인 '비용'을 강조합니다. 초지능형 AI를 사용하는 데 질문 하나당 비용이 들지만, 이 시스템은 오히려 회사에 막대한 돈을 아껴주고 있습니다. 인간이 몇 주 동안 해야 했던 일을 자동화함으로써, 개발자 노력 측면에서 27년 치의 개발 시간을 절약할 수 있을 것으로 추정합니다. 이는 AI가 힘든 일을 대신 처리함으로써, 마치 27명의 사람이 1년 동안 추가로 일하는 것과 같은 효과를 낸 것입니다.
이것이 왜 모두에게 중요한가
"앱을 더 잘 테스트하는 것이 나와 무슨 상관이지?"라고 생각할 수도 있습니다. 하지만 앱을 사용하다가 갑자기 튕기거나 결제가 안 되었던 마지막 경험을 떠올려 보세요. 그것은 보통 앱이 변경되었는데, 테스트가 그 실수를 잡아내지 못했을 때 발생합니다. DragonCrawl은 이를 방지하는 데 도움을 줍니다. 당신이 어떤 언어를 쓰든, 어느 도시에 있든, 앱을 열었을 때 버튼이 작동하고 결제가 진행되며 차량이 호출되도록 보장합니다.
논문은 또한 업무를 수행하는 사람들의 변화에 대해서도 언급합니다. 테스터들은 이제 단순히 스크립트를 따르는 "클릭커(Clicker)"가 아니라, AI가 어떻게 생각할지 가르치는 "지휘자(Conductor)"가 되어가고 있습니다. 그들은 깨진 테스트를 고치는 데 시간을 쓰는 대신, 새로운 기능을 만드는 데 더 많은 시간을 보냅니다. 테스트를 지루하고 반복적인 잡무에서 창의적이고 전략적인 직업으로 탈바꿈시킨 것입니다.
한계와 미래
물론, 논문은 DragonCrawl이 아직 할 수 없는 부분에 대해서도 솔직하게 밝히고 있습니다. 이 시스템은 외부 AI 서비스에 의존하기 때문에, 해당 서비스의 규칙이 바뀌거나 서비스가 중단되면 테스트도 멈춥니다. 또한 실행 비용이 발생하므로 소규모 기업은 현재 이용하기 어려울 수 있습니다. 또한 경로를 따라가는 데는 뛰어나지만 완벽하지는 않습니다. 때로는 의도한 것과 약간 다른 경로를 택할 수도 있지만, 시스템은 이러한 실수를 잡아내도록 설계되어 있습니다.
하지만 핵심적인 메시지는 명확합니다. 경직되고 취약한 스크립트를 작성하는 기존의 앱 테스트 방식은 한계에 부딪혔습니다. 앱은 너무 복잡하고 너무 빠르게 변합니다. DragonCrawl은 픽셀(Pixel)이 아닌 '의도(Intent)'를 이해하는 데 AI를 활용함으로써, 우리가 더 철저하고, 더 빠르게, 그리고 더 적은 골칫거리로 앱을 테스트할 수 있는 미래를 구축할 수 있음을 보여줍니다. 이것은 단순히 더 나은 도구가 아니라, 우리의 디지털 세계가 제대로 작동하도록 만드는 방식에 대한 새로운 사고방식입니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.