끊기던 자동화 위에 다리를 놓다: 셀프힐링 로케이터로 유지보수의 벽을 넘다

AI 챔피언 두 번째 이야기 — QA팀 강영훈 님의 여정

Share
끊기던 자동화 위에 다리를 놓다: 셀프힐링 로케이터로 유지보수의 벽을 넘다

AI 챔피언 두 번째 이야기 — QA팀 강영훈 님의 여정

강영훈 님이 QA를 선택한 건 특별한 계획 때문은 아니었습니다. 대학교 시절 우연히 인턴으로 시작했지만, 현업에서 경험을 쌓으며 “서비스 품질을 지키는 QA의 역할이 생각보다 중요하다”는 걸 깨달았어요. 이후 다양한 회사에서 QA를 이어갔지만, 그는 늘 한 가지 아쉬움이 있었다고 합니다.

“더 많은 사용자가 쓰는 대규모 서비스, 빠르게 성장하는 서비스에서 QA를 해보고 싶었어요”

이 갈증이 그를 마이리얼트립으로 이끌었습니다.

“여행은 누구나 쓰는 서비스잖아요. 제가 직접 즐겨 쓰던 서비스이기도 했고요. 이곳에서라면 QA 엔지니어로서 더 다이나믹한 경험을 할 수 있겠다고 생각했습니다.”

“이럴 거면 손으로 돌리는 게 더 낫지 않나?”

마이리얼트립의 서비스가 고객에게 안정적으로 다가가도록 QA를 든든하게 뒷받침해주는 영훈 님은 처음 회귀 테스트 자동화를 구축했을 때 큰 기대를 걸었습니다. 로그인, 결제처럼 중요한 기능이 배포 후에도 잘 작동하는지 자동으로 확인된다면, QA의 부담은 줄고 서비스 안정성은 높아질 테니까요.

하지만 기대는 오래 가지 않았습니다. 작은 UI 변경에도 테스트가 끊겼습니다. 버튼의 텍스트가 바뀌거나 DOM 구조가 조금만 달라져도, 스크립트는 더 이상 원하는 요소를 찾지 못했습니다. 매번 수동으로 로케이터를 수정하고 테스트를 다시 돌려야 했죠.

“자동화가 효율을 주기는커녕, 수동 테스트와 다를 바 없다는 회의감이 들었어요.”

그럴 때는 문득 이런 생각이 스쳤습니다.

“이럴 바엔 손으로 돌리는 게 빠른 거 아닌가?”

회귀 테스트, 왜 이렇게 어려울까

회귀 테스트는 새 기능을 더했을 때 기존 기능이 잘 작동하는지 확인하는 과정입니다. 집에 새 가전을 들인 뒤, 다른 전자기기까지 함께 잘 켜지는지 확인하는 것과 비슷합니다.

문제는 빠르게 바뀌는 UI 환경이었습니다. 서비스가 성장하면서 배포 주기는 짧아지고, 화면은 자주 바뀌었습니다. QA팀이 수동으로 모든 변경을 따라가며 자동화 스크립트를 고치는 것은 불가능에 가까웠습니다.

자동화의 효용은 점점 의심스러워졌습니다…

길을 찾는 실험 — AI Lab과의 만남

마이리얼트립에는 AI 챔피언 제도가 있습니다. AI Lab이 가드레일을 세워주는 코치이자 동료가 되어, AI를 몇몇 전문가만 쓰는 기술이 아니라 모든 구성원이 자기 문제를 직접 풀어내는 도구로 활용할 수 있게 돕는 프로그램입니다.

강영훈 님은 이 제도를 통해 AI Lab과 연결되었고, 오래된 난제를 실험적으로 풀 기회를 얻었습니다.

“테스트가 깨져도 스스로 복구할 수 있다면 어떨까?”

그때 시작된 시도가 바로 셀프힐링 로케이터였습니다.

셀프힐링 로케이터, 실패해도 이어지는 테스트

셀프힐링의 기본 아이디어는 단순했습니다 — 로케이터를 못 찾으면, AI가 다시 찾아준다.

구체적으로는 이렇습니다.

테스트가 요소 탐색에 실패하면 화면 구조(DOM/UI 트리)를 읽어오고, 시나리오에 적어둔 설명(description)을 단서로 AI에게 묻습니다. 그러면 AI가 새로운 로케이터 후보를 제안하고, 이를 실제로 실행해 검증한 뒤 성공하면 곧바로 테스트를 이어갑니다.

탐색에서 시작해 질의, 검증, 갱신을 거치는 과정을 통해, 자동화가 스스로 회복하며 길을 이어가는 구조가 만들어진 것입니다.

“AI가 페일오버를 해주니까, 더 이상 테스트가 단절되지 않았습니다.”

작성 방식의 전환

변화는 단순히 테스트가 끊기지 않는 데서 끝나지 않았습니다. 테스트를 작성하는 방식 자체가 바뀌었습니다.

예전에는 QA 엔지니어가 개발자 도구를 열고, DOM을 뒤져가며 XPath를 하나하나 추출했습니다. 말 그대로 “한 땀 한 땀” 모으는 작업이었죠.

이제는 description만 적으면 됩니다.

  • “로그인 버튼”
  • “결제 확인 팝업의 확인 버튼”

이렇게 하면 실행 도중 AI가 자동으로 로케이터를 찾아 채워 넣습니다.

“DOM을 일일이 뒤져 XPath를 한 땀 수집하던 방식에서, 화면 의미와 맥락을 description으로 명세하는 방식으로 바뀌었어요.”

그 결과, 콘텐츠 작성 시간은 수 시간에서 십수 분으로 줄었습니다. 체감상 10분의 1 수준입니다.

QA 엔지니어의 시간, 다른 곳으로

효율화는 단순히 시간을 줄여주는 데서 멈추지 않습니다.
새로 생긴 여유는 탐구와 확장으로 이어졌습니다.

“자동화가 도는 동안 저는 다른 AI 도구를 연구할 수 있어요. 챗봇으로 대화하는 수준이 아니라, 실제 시스템에 직접 연결할 수 있는 방법을 찾아보고 싶습니다.”

유지보수로 시간을 소모하는 대신, 새로운 실험과 리서치에 시간을 쓸 수 있게 된 것입니다.

영훈 님은 말합니다. QA 자동화는 많은 회사가 시도하지만, 유지보수의 벽 앞에서 번번이 무너진다고요. “최소한의 유지보수는 불가피하다.” “변경이 적은 부분만 자동화하자.” 이런 타협이 흔합니다.

하지만 셀프힐링 로케이터처럼 기술적으로 유지보수 문제를 정면으로 뚫어낸 사례는 업계에서도 극히 드뭅니다.

“아직 완벽하진 않지만, 이 정도로 극복한 사례는 업계에서도 흔치 않습니다.”

이어붙이는 자동화, 사람을 더 똑똑하게 만드는 도구

QA 자동화의 가장 큰 적은 자주 바뀌는 UI와 그로 인한 유지보수 비용이고, 셀프힐링 로케이터는 그 비용을 줄이는 혁신적 접근입니다. 하지만 AI는 확률적으로 동작하기에, 전처리·재시도·어설션·로그 추적 같은 가드가 반드시 필요하고, 자동화의 목적은 사람을 대체하는 것이 아닙니다. 사람이 판단이 필요한 지점에 더 집중할 수 있도록 돕는 것이라는 거죠.

강영훈 님의 사례는 QA 자동화의 오랜 난제에 대한 하나의 해법을 보여줍니다.
끊기던 테스트를 이어붙이는 경험, 자동으로 최신화되는 시나리오, 그리고 엔지니어의 시간을 다시 창의적인 탐구로 돌려주는 구조.

자동화는 결국 사람을 대체하는 것이 아닙니다.
사람을 더 똑똑하게 만드는 도구입니다.

작은 시도에서 출발한 셀프힐링 로케이터는 이제 팀이 스스로 운영 가능한 수준으로 자리 잡았습니다.
그리고 이 변화는, 더 많은 동료들이 자기 자리에서 AI와 함께 문제를 푸는 길로 이어질 것입니다.

Read more

AI 추천과 예약 사이의 거리를 좁히는 법: 마이리얼트립이 조코딩 AX 해커톤에 낸 문제

AI 추천과 예약 사이의 거리를 좁히는 법: 마이리얼트립이 조코딩 AX 해커톤에 낸 문제

마이리얼트립은 조코딩AX파트너스가 연 해커톤 「AX 인재전쟁」에 기업 출제자로 참여했습니다. API를 제공하는 데서 나아가, 참가자들이 풀어야 할 문제를 직접 내고 심사했습니다. 문제의식은 단순합니다. AI를 여행에 흔히 쓰게 되면서 정보 탐색은 한결 쉬워졌는데, 정작 사람들은 여전히 여행 계획을 손으로 짭니다. 추천은 넘치는데 '진짜 갈 수 있는 경험'까지 좁혀주는

By 마이리얼트립
가장 중요한 문제에, 가장 잘 맞는 사람을 붙인다

가장 중요한 문제에, 가장 잘 맞는 사람을 붙인다

마이리얼트립의 프로덕트 엔지니어(PE)는 CTO 직속 PS팀(Product Strategy)에 모여 있습니다. 전사에서 가장 중요한 문제에 가장 잘 맞는 PE를 배치하고 한 명의 PE가 문제 정의부터 구현과 배포까지 끝까지 책임지는 조직입니다. 이렇게 한 데는 이유가 있습니다. 회사에서 가장 중요한 문제는 계속 바뀌는데, 사람이 특정 버티컬에 묶여 있으면 그 경계

By 마이리얼트립
돌려쓰던 테스트 환경을, 각자의 환경으로: 배포 병목을 없앤 이야기

돌려쓰던 테스트 환경을, 각자의 환경으로: 배포 병목을 없앤 이야기

PEPE 세션 — 회원주문개발팀 정현수 님 과거 마이리얼트립의 공용 테스트 환경은 쓰려는 사람에 비해 모자랐습니다. 누가 쓰는지 알기 어려워 "지금 써도 되냐"고 서로 물어 가며 차례를 기다리는 경우가 많았고, 내가 작업 중인 사이 다른 사람이 배포하지 않도록 조율해야 했습니다. 이 병목을 환경 개수를 늘리는 방식에서 각자 자기 환경을

By 마이리얼트립
예약에서 끝나지 않는 여행: 한 명이 10여 개 레포를 가로질러 만든 항공 여정 케어

예약에서 끝나지 않는 여행: 한 명이 10여 개 레포를 가로질러 만든 항공 여정 케어

마이리얼트립이 예약한 항공편의 운항 상태를 고객이 앱을 열지 않아도 실시간으로 받아보는 서비스를 선보였습니다. 출발 3시간 전 알림부터 게이트 변경과 지연, 결항, 회항, 출발, 도착, 수하물 상태까지, 비행의 흐름 전체를 고객이 찾기 전에 먼저 안내합니다. 여행은 항공권을 예약하는 순간 끝나지 않습니다. 짐을 싸고 공항으로 향하고 비행기에 올라 목적지에 내려 짐을 찾을

By 마이리얼트립