
QuickMail을 시험한 Claude는 가상 머신에 앱을 설치해 첫 실행 때 키보드 포커스가 어디에 놓이는지 확인했다. 앱을 지운 뒤에는 안전한 버튼에 포커스가 놓인 제거 확인 창이 제때 나타나는지도 살폈다.
켈리 포드(Kelly Ford)가 공개한 vmtest는 Claude가 윈도우 앱을 테스트할 때 실제 PC 대신 Hyper-V 가상 머신을 사용하게 하는 도구다. 화면 낭독기를 쓰면서 데스크톱 앱을 개발하거나 시험하는 사람은 테스트 창이 실제 작업을 방해하지 않도록 활용할 수 있다.
vmtest는 무엇을 하는 도구인가?
가상 머신은 한 컴퓨터 안에서 별도의 컴퓨터 환경을 실행하는 기능으로, 별도 작업 공간을 쓰는 경우를 떠올리면 쉽다. vmtest는 Hyper-V의 PowerShell Direct 기능을 통해 가상 머신과 통신하며, 네트워크 연결이나 화면 창을 열 필요가 없다.
가상 머신 안의 작은 도우미 프로그램이 앱을 실행하고, 접근성 트리(앱의 조작 요소와 상태를 나타내는 정보)를 읽는다. 버튼 누르기, 키 입력, 글자 입력, 화면 캡처, 설치 프로그램 실행도 맡는다. 각 작업 뒤에는 키보드 포커스가 어디에 놓였는지 알려준다.
저장소와 브랜치별 작업에는 각각 체크포인트가 생긴다. Claude는 앱을 실행한 상태로 작업을 멈췄다가 이어갈 수 있고, 작업을 병합한 뒤에는 가상 머신을 깨끗한 상태로 되돌린다. Claude는 접근성 정보에서 컨트롤의 역할·이름·상태와 포커스를 읽고 결과를 보고한다.
기존 테스트 방식과 무엇이 다른가?
기본 방식대로 실제 PC에서 테스트하면 빠르고 실제 환경에서 앱을 실행할 수 있지만, 창이 뜨면서 포커스가 이동하거나 엉뚱한 곳에 키 입력이 들어갈 수 있다. JAWS나 NVDA 같은 화면 낭독기도 테스트 창을 읽어 작업을 방해할 수 있다.
깃허브 작업 흐름(CI)만으로 테스트하면 실제 PC를 건드리지 않는다. 대신 검사마다 몇 분이 걸리고, 미리 작성한 테스트만 실행할 수 있어 Claude가 앱을 직접 살펴보며 시험할 수 없다.
vmtest는 PC에서 창을 띄우지 않으면서 결과를 몇 초 안에 돌려주고, Claude가 앱을 자유롭게 살펴보게 한다. 각 작업은 반복 가능한 깨끗한 시작 상태를 갖는다. 비용은 가상 머신이 실행되는 동안 필요한 메모리와 윈도우를 최신 상태로 유지하는 일이다.
켈리 포드는 창을 열지 않는 빌드와 테스트는 기존처럼 PC에서 실행하고, 창을 열거나 키를 보내거나 설치·제거를 하거나 접근성을 확인하는 작업은 가상 머신에서 한다. 전체 테스트 묶음은 안전망으로 모든 풀 리퀘스트에서 CI로 실행한다. 현재 대상은 윈도우 데스크톱 앱이다.
QuickMail 사례에서 자동 빌드 검사는 제거 확인 창이 적절한 시점에 나타나고 포커스가 안전한 버튼에 놓이는지 답할 수 없었다. 가상 머신 테스트에서는 이를 확인했고, 테스트 도중 vmtest 자체의 문제도 발견해 다른 Claude 세션이 수정했다.
설치 전에 무엇이 필요한가?
윈도우 11 Pro, Enterprise 또는 Education이 필요하다. Home에는 Hyper-V가 없다. Hyper-V 기능을 켜야 하며, 기본적으로 꺼져 있다. 가상 머신은 실행 중 약 2~8GB의 메모리를 사용하고, 저장된 상태에서는 메모리를 사용하지 않는다. Claude Code와 Arm64 또는 x64 PC도 필요하다. 제작자는 Snapdragon Surface에서 사용한다고 밝혔다.
어떻게 설정하나?
1. Hyper-V를 켠다
Hyper-V가 이미 켜져 있다면 이 단계는 건너뛸 수 있다. 기능을 켠 뒤에는 컴퓨터를 다시 시작해야 한다. 두 방법 가운데 하나를 쓰면 된다.
GUI로 설정하려면 Windows+R을 누르고 appwiz.cpl을 입력한 뒤 Enter를 누른다. ‘Windows 기능 켜기/끄기’로 탭 이동해 Enter를 누르고, 아래쪽 화살표로 Hyper-V를 찾는다. 체크되어 있는지 확인하고, 체크하려면 스페이스바를 누른다. 마지막으로 확인을 선택한다.
관리자 권한 PowerShell에서는 다음 명령을 실행한다.
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
2. Hyper-V Administrators 그룹에 추가한다
관리자 권한 PowerShell에서 한 번 실행한 뒤 로그아웃하고 다시 로그인한다. 이후 이 설정의 나머지 단계에는 관리자 권한이 필요하지 않다.
Add-LocalGroupMember -Group "Hyper-V Administrators" -Member "$env:USERDOMAIN\$env:USERNAME"
3. 테스트용 가상 머신을 만든다
ClaudeTesting이라는 이름의 윈도우 11 가상 머신을 만든다. 같은 저장소의 Hyper-V Manage 폴더에 있는 Hyper-V Manage는 윈도우 ISO 파일을 사용해 윈도우 설치 화면을 클릭하지 않고 가상 머신을 만든다. 스크립트를 쓰려면 hyperv-rdp-vm으로 같은 작업을 할 수 있다.
가상 머신은 인터넷에 연결되는 가상 스위치에 연결해야 한다.
4. 가상 머신을 준비한다
vmtest prepare를 한 번 실행한다. 이 명령은 가상 머신의 자동 로그인을 설정하고 도우미를 설치하며, 모든 테스트가 시작될 ‘Clean’ 체크포인트를 저장한다.
5. Claude가 vmtest를 사용하도록 설정한다
저장소의 vmtest 폴더에 있는 스킬 파일 skill\SKILL.md를 자신의 .claude\skills\vmtest 폴더에 복사한다. 파일 안의 경로를 vmtest를 둔 위치에 맞게 바꾼다. 그러면 윈도우 앱을 열거나 조작하거나 설치해야 하는 작업에서 Claude가 vmtest를 사용한다.
매번 선택 사항이 되지 않도록 전역 CLAUDE.md에 다음 한 줄을 추가할 수도 있다.
Test Windows desktop apps (anything that opens a window, sends keys, or installs) in the test VM with the vmtest skill, never on this PC.
마지막으로 매번 허가를 묻지 않고 vmtest를 실행하도록 권한 규칙을 추가한다. 정확한 규칙은 README에 안내되어 있다.
테스트 가상 머신 계정에는 임시 기본 비밀번호가 설정되어 있다. 테스트 전용 가상 머신이라면 괜찮지만, 실제 비밀번호를 재사용해서는 안 된다.
자동 테스트만으로 충분하지는 않다. vmtest가 앱을 직접 열기 전에 많은 문제를 찾아낼 수 있지만, 화면 낭독기와 다른 보조 기술, 실제 사용자가 쓰는 여러 설정과 구성으로 직접 사용해 보는 일도 필요하다. 원문은 저장소 주소와 권한 규칙의 구체적인 내용, 가격을 밝히지 않는다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요