awizemann/harness

AI-driven user testing for iOS Simulator, macOS apps, and web apps. Write a goal in plain language; an LLM agent drives the UI and reports friction. macOS 14+, Swift 6.

해결하는 문제

Harness는 경직된 스크립트 기반 UI 테스트에 의존하는 대신 실제 인간의 행동을 시뮬레이션하여 사용자 테스트를 자동화합니다. AI 에이전트가 애플리케이션 내에서 특정 목표를 완료하도록 시도함으로써 개발자가 데드 엔드, 모호한 레이블 또는 반응하지 않는 컨트롤과 같은 UX 마찰을 식별하도록 돕습니다.

작동 방식

사용자가 평문으로 목표(예: "가입하고 목록 만들기")와 페르소나(예: "처음 사용하는 사용자")를 제공합니다. 그러면 LLM 에이전트가 스크린샷을 읽고 클릭, 타이핑 또는 스크롤과 같은 작업을 실행하여 대상 애플리케이션과 상호 작용합니다. 시스템은 "Set-of-Mark" 타겟팅을 사용하여 대화형 요소에 번호가 매겨진 배지를 오버레이하므로 에이전트가 부정확한 픽셀 좌표 대신 ID를 통해 클릭할 수 있습니다. Ollama를 통한 로컬 추론 또는 Anthropic, OpenAI, Google와 같은 클라우드 제공업체를 지원합니다.

대상

  • iOS/macOS 개발자: 시뮬레이터 또는 데스크톱 환경에서 네이티브 앱을 테스트하기 위함.
  • 웹 개발자: 임베디드 브라우저 뷰를 통해 웹 애플리케이션을 테스트하기 위함.
  • QA 엔지니어: 자율적인 사용자 흐름 테스트를 수행하고 성공, 실패 및 마찰 지점에 대한 상세 보고서를 받기 위함.

주요 특징

  • 멀티 플랫폼 지원: iOS 시뮬레이터, macOS 앱 및 웹 앱을 구동합니다.
  • 실제 사용자 시뮬레이션: 스크립트된 경로가 아닌 UX 마찰 및 목표 완료에 집중합니다.
  • Set-of-Mark 타겟팅: 대화형 요소에 번호가 매겨진 오버레이를 사용하여 에이전트의 정확한 상호 작용을 보장합니다.
  • 유연한 추론: Ollama(Qwen3-VL와 같은 비전 모델 사용)를 통한 로컬 실행 또는 고급 클라우드 LLM을 지원합니다.
  • 풍부한 아티팩트: 재생 가능한 작업 시퀀스, 성공/실패 요약 및 타임스탬프가 포함된 마찰 보고서를 생성합니다.