대규모 언어 모델(LLM) 에이전트는 도구를 사용해 비즈니스 작업을 수행하고 애플리케이션 데이터 및 서비스와 직접 상호작용하는 경우가 증가하고 있습니다. 이러한 에이전트는 사용자 요청을 완료하는 것 외에도, 어떤 행동이 허용되는지, 그리고 어떤 데이터나 리소스가 영향을 받을 수 있는지를 제한하는 도메인별 비즈니스 규칙을 준수해야 합니다. 이러한 규칙을 위반할 경우, 작업이 성공적으로 보이는 상황에서도 비즈니스 로직 버그를 초래할 수 있습니다. 하지만 이 규칙들은 명시적이고 테스트 가능한 사양으로 제공되는 경우가 드물기 때문에, 이러한 버그를 탐지하기는 어렵습니다. 이 규칙들은 시스템 프롬프트와 도구 정의에 분산되어 있거나, 혹은 도메인 지식 속에 암묵적으로 남아있는 경우가 많습니다. 기존의 에이전트 테스트 접근 방식은 일반적으로 작업 성공 여부, 미리 정의된 정책, 또는 알려진 공격 시나리오를 평가하는 데 그칩니다. 이는 이전에 명시되지 않은 비즈니스 규칙 위반을 체계적으로 발견할 수 있는 능력을 제한합니다. 본 논문에서는 AgenTest를 제시하며, 이는 시스템 프롬프트, 도구 정의 및 도메인 지식으로부터 비즈니스 규칙을 마이닝하고, 이를 Given-When-Then 사양으로 정제한 다음, 각 사양을 체계적으로 테스트합니다. 추출된 각 사양에 대해, AgenTest는 만족하는 환경 상태와 시뮬레이션 사용자(simulated user)를 구성하여 주어진(Given) 조건을 인스턴스화하고, 다중 턴 상호작용(multi-turn interactions)을 통해 에이전트를 실행하며, 하이브리드 오라클(hybrid oracle)을 사용하여 메시지, 도구 호출 및 상태 변경에 대한 당위(Then) 조건을 확인합니다. tau2-bench의 항공, 소매, 통신 에이전트에 대해 두 가지 기반 모델을 사용했을 때, AgenTest는 551개의 정제된 사양을 생성했으며, 각각 89개와 121개의 고유한 사양 위반을 탐지했습니다. 이는 모든 베이스라인 조합보다 각각 3.4배, 2.5배 더 많은 수치입니다. 오직 AgenTest만이 에이전트가 다른 사용자의 데이터에 부적절하게 접근하거나 수정하는 경우를 탐지합니다. 더욱이, 버그를 유발하는 실행 중 약 60%는 최종 상태만으로는 감지할 수 없으며, 이는 명시적인 비즈니스 규칙과 전체 상호작용을 확인해야 할 필요성을 강조합니다.