요근래 chatGPT를 포함하여 AI가 엄청난 화제인데, 특히나 IT업계 종사자라면 하루가 멀다하고 바뀌는 업계동향때문에 머리가 아플 것 같다.
나도 사실 업계동향 따라가기가 너무 벅찬데 ㅋㅋㅋ 그래도 마냥 넋놓고 있을 수는 없어서 회사 스터디시간이나 틈틈히 인터넷을 하면서 알아보는 동향이나 사례 등을 좀 기록해볼까 한다.
https://www.anthropic.com/news/3-5-models-and-computer-use
https://openai.com/index/introducing-operator/
내가 느끼기에, 작년 후반기 즈음에 나왔던, AI의 가상 머신 활용 방법 이전의 AI활용방법은 주로 아래와 같았다.
이 과정에서 많은 능력자분들이 GPT나 Claude의 API를 활용해서 구글 스프레드 시트에 테스트케이스를 생성한다던지, 직접 GUI 어플리케이션을 만들어서 테스트 기법을 도출해내는 툴 등을 만들었었고, 인터넷 상에서 많이 볼 수 있었다.
위 가상 머신 기술이 등장하면서 테스트 업계에서도 이걸로 테스트를 자동으로 해볼 수 있지않을까? 라는 말이 솔솔 돌기 시작했다. 특히 웹 테스트의 경우는 보안문제와 가상 머신이 회사 내부망에 접근할 수 있다면 가능할 것 같다는 의견들이 종종 보이기 시작했는데, MCP가 등장하면서 AI를 활용한 테스트 방법이 한층 발전하게 되었다.
웹에서는 마이크로소프트에서 Playwright MCP를 공식 출시하였다.
Claude desktop, Github Copilot agent, Cursor, windsurf 등의 툴들에서 AI는 Playwright MCP를 통해 브라우저를 조작할 수 있다. 스냅샷과 비전모드가 있어서 원하는 모드로도 사용할 수 있어보였다.
나는 개인적으로 테스트로 사용하진 않았고, 원티드나 네이버, 무신사 등에서 웹서핑 용도로 사용해봤는데, 원하는 결과를 찾기 위해 AI 스스로가 검색창을 조작한다거나 카테고리를 뒤져가며 클릭하는 등의 모습을 보며 엄청 신기해했다.
Playwright MCP를 통해 웹 테스트를 수행하는 방법에서는 BDD를 이용해 테스트를 수행하는 방법이 꽤 보였다. 이 방법은 BDD자체가 자연어라서 코드에 익숙하지 않은 테스트 담당자라도 손쉽게 AI를 이용하여 테스트를 자동화시킬 수 있어보였다.
다만, 현재 AI의 동작은 반복실행해도 결과가 항상 동일하지 않을 수 있다 라는게 문제라, (동일 프롬프트를 실행해도 AI의 결과는 매번 다를 수 있음) 아직 이걸 이용해서 바로 테스트를 수행하기에는 쉽진 않겠다고 생각했는데, 얼마전 에이닷 테크 블로그에 올라온 포스트에서는 AI를 이용해서 기존 테스트케이스를 Playwright 조작 코드로 변환하고, 이것의 유지보수 또한 AI한테 맡기는 글이 올라왔었다.
https://devocean.sk.com/blog/techBoardDetail.do?ID=167378&boardType=techBlog
이런 방법을 이용하면 AI로 바로 실행하는 Playwright 에 대해서, 동일하지 않은 동작결과도 어느정도 보완해볼 수 있는, 과도기의 지금 시점에서 AI를 활용하는 좋은 예시인 것 같았다.
한 편, AI를 이용해서 테스트를 수행하더라도 테스트한 결과를 기록하고 이것을 리포트화한다거나 수치화하는 것도 필요한데, 이러한 테스트의 프레임워크화가 마땅치는 않아보였다.
이 때 Testcase management tool 등의 API를 이용하면 좋지 않을까 해서 오랜만에 Testrail api문서를 확인했는데 웬걸, BDD위한 API가 생겨있는 것을 확인했다.
https://support.testrail.com/hc/en-us/articles/7832161593620-BDDs#get-bdd-0-0
testrail은 아예 테스트케이스를 BDD형식으로 관리할 수 있게끔 해놓았었다. 이걸 이용하면 Playwright MCP와의 연계도 좀 더 수월해지고, 테스트케이스 실행결과 관리는 물론이고 리포트화하기도 편하겠다~ 라는 생각이 들었다.
물론 다른 Testcase management tool에서도 본문에 BDD 등의 자연어를 선언하고 API를 통해 끌어오면 충분히 활용가능할 것 이다.
이 와중에 Testrail MCP는 아직 없나~ 싶었는데, 몇몇 사람들이 이미 만들고 있었다.
https://github.com/bun913/mcp-testrail
https://github.com/sker65/testrail-mcp
이것들을 활용하면 충분히 테스트 프레임워크로서의 형태는 나오겠다~ 싶다.
Web의 경우 이미 많은 웹 개발 프레임워크가 만들어내는 html의 형태가 어느정도 정형화되어있는 반면, 모바일은 좀 더 어렵다. 에뮬레이터나 실제 기기냐에 따라 환경구성이라던지 테스트 실행방법도 조금씩 다르고, XML구조가 복잡하다던지 등의 문제가 있긴하지만, 그래도 아예 시도가 없는 건 아니다.
모바일에서도 mcp를 활용하려는 움직임이 보인다. 위 mcp관련한 영상도 있었던 것 같은데 못찾겠다.
Appium을 사용하는 것 같지는 않고, WebDriverAgent와 adb를 이용하는 것으로 보인다.
얼마 전 파이어베이스에서는 AI Testing agent라는 것을 출시했다.
https://youtu.be/sxSrHFuM3zM?si=EHpFc4vg3nVDdN27
https://firebase.blog/posts/2025/04/app-testing-agent
아직 안드로이드만 이용할 수 있고, 어떠한 테스트를 자연어 형식으로 입력해놓으면 이걸 실행하고 실행 결과를 스크린샷과 함께 보여주는 식이다.
run this test on a set of physical and/or virtual devices with different locales and orientations.
App distribution 메뉴에서 사용가능한데, 약간 BVT 느낌으로 이용하라는 식으로 만들어놓은 것 같다.
구글이라는 대기업이 참전했으니.. 이쪽도 발전속도가 많이 빨라질 것 같다. (모델은 gemini를 사용한다고 한다)
이건.. 우연찮게 회사 팀원이 알려주게 되어서 알게된 ai 테스트 에이전트. 코드를 작성하긴 해야하는데, 코드 내부에서 자연어 형식으로 기재하면 그걸 실행해주는 것 같다. 사용해보진 않았으나.. 이 것은 appium server를 사용해야하길래 이런 방식도 있구나~ 해서 기재해본다.
일단 아직까지는 과도기의 느낌이랄까, 어떻게든 AI를 소프트웨어 테스트에 활용하고 싶어서 다들 분주하게 이것저것 해보는 느낌이다. 한 편 AI업계의 발전속도가 너무 빨라서, 몇개월 후에는 또 어떻게 되어있을지 잘 모르겠다.
지금은 MCP나 A2A 등의 어떠한 프로토콜들이 나와서 서로가 서로를 엮어서 사용하는 식으로 발전해나가는 것 같은데, 또 몇 달, 몇 년 후에는 어떻게 되었을지..
테스트를 자동화시키는데에 AI를 이용하는 것은 아직은 제약이 있어보이는데,
정도 였다. 그렇지만 BVT나 Smoke test정도로는 테스트 범위나 테스트 대상 앱에 따라서는 충분히 가능하지 않나? 라는 생각도 들었다.
앞으로 테스트 자동화 엔지니어는 점점 인프라 엔지니어의 성격을 띄지않을까? 싶기도... AI가 직접 실제 단말기를 연결한다거나 그럴 순 없지않은가.
오히려 사용성 위주로 테스트를 한다던지, 아니면 프로젝트 전반의 품질을 챙기는 테스트 담당자가 미래가 창창할 수도 있겠다 싶기도 하다.
끝!
ref.