> For the complete documentation index, see [llms.txt](https://help.aximo.autify.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.aximo.autify.com/features-ko/test-case-creation/ai-tester.md).

# AI 테스터에 대해

Aximo의 AI 테스터는 자연어로 작성된 시나리오를 바탕으로 브라우저와 모바일 기기를 조작하여 테스트를 실행하는 구조입니다. 이 문서에서는 AI 테스터가 어떻게 실행 환경을 확인하고, 조작을 선택하며, 결과를 판정하는지 설명합니다.

## 개요

AI 테스터는 사용자가 입력한 시나리오에 따라 화면 상태를 확인하면서 다음 조작을 판단합니다. 고정된 스크립트나 셀렉터만으로 동작하는 것이 아니라, 스크린샷, 실행 결과, 과거에 취득한 메모리 등을 참고하면서 테스트의 목적에 맞게 조작을 진행합니다.

실행 중에는 AI 테스터가 화면 확인, 클릭, 문자 입력, 대기, API 요청, 결과 판정 등을 조합하여 테스트를 진행합니다. Aximo는 그 판단에 따라 실제 실행 환경을 조작합니다.

## 시나리오의 처리

Aximo에서는 세션이나 케이스에 입력한 시나리오에 따라 AI 테스터가 테스트를 진행합니다. AI 테스터는 시나리오에 포함된 조작의 기점, 실행할 조작, 확인하고자 하는 결과를 읽어내고, 현재 화면과 대조하면서 테스트를 진행합니다.

시나리오에 시작 URL이나 화면 이름이 포함된 경우, AI 테스터는 그곳을 기점으로 조작합니다. 기대 결과로 표시나 상태가 기술된 경우에는 이를 확인 조건으로 사용합니다. 이메일 주소, 비밀번호, 카드 번호 등의 테스트 데이터가 시나리오에 포함된 경우에는 그 값을 입력에 사용합니다. 반복해서 사용하는 값이나 기밀 값은 메모리의 변수나 시크릿으로 참조됩니다. 확인 메일이나 인증 코드가 필요한 흐름에서는 AI 테스터가 해당 테스트에 할당된 수신용 주소로 메일을 받고, 본문의 링크를 열거나 코드를 입력하여 이후 조작을 진행합니다.

작성자 측에서 시나리오를 어떻게 구성할지는 [프롬프트 작성 방법](/features-ko/test-case-creation/writing-prompts.md) 참조.

## 실행 흐름

세션이나 케이스를 시작하면 AI 테스터는 다음 흐름으로 테스트를 진행합니다.

| 단계      | 내용                                                 |
| ------- | -------------------------------------------------- |
| 시작 전 확인 | Aximo가 대응할 수 있는 내용인지, 테스트를 안전하게 시작할 수 있는지 확인합니다.   |
| 실행 준비   | Aximo가 브라우저나 기기 등 실행 환경을 준비하고, 테스트에 필요한 설정을 적용합니다. |
| 화면 확인   | 스크린샷을 취득하고 현재 화면과 조작 대상을 확인합니다.                    |
| 조작 실행   | AI 테스터가 화면에 따라 클릭, 입력, 스크롤, 탭 등을 실행합니다.            |
| 결과 검증   | 조작 후 화면과 실행 결과를 확인하고 기대한 상태가 되었는지 판단합니다.           |
| 종료 판정   | 테스트가 완료되었거나 계속할 수 없다고 판단한 시점에 성공 또는 실패로 종료합니다.     |

AI 테스터는 이 흐름을 반복하면서 테스트의 목적을 충족했는지 판단합니다. 완료 후에는 실행 내용과 결과를 세션 상세 화면에서 확인할 수 있습니다.

## 실행 환경과 가능한 조작

Aximo에서는 실행 대상에 따라 AI 테스터가 실행할 수 있는 조작이 달라집니다. Web 세션에서는 브라우저를 포함한 데스크톱 환경을 조작하고, 모바일 세션에서는 iOS 또는 Android 기기를 조작합니다.

### Web 실행

Web 실행에서는 AI 테스터가 브라우저를 포함한 데스크톱 환경을 조작합니다. 주요 조작에는 스크린샷 취득, 클릭, 더블클릭, 호버, 드래그, 스크롤, 키보드 조작, 문자 입력, HTTP 요청이 있습니다.

Web에서는 화면 조작뿐 아니라 필요에 따라 DevTools 확인, 터미널 조작, API 응답 확인 등도 시나리오에 포함할 수 있습니다.

Web에서 지원하는 조작의 예는 다음과 같습니다.

* 폼 입력, 버튼 조작, 화면 전환
* 터미널을 열어 셸 명령을 실행하고 결과를 확인
* DevTools를 열어 JavaScript 콘솔의 오류를 확인
* HTTP 요청을 보내 API 응답을 확인
* 테스트마다 할당된 수신용 주소로 도착하는 메일을 대기하여, 확인 링크나 인증 코드를 사용해 이후 조작을 진행

### 모바일 실행

모바일 실행에서는 AI 테스터가 선택한 iOS 또는 Android 기기를 조작합니다. 주요 조작에는 스크린샷 취득, 탭, 더블 탭, 길게 누르기, 스와이프, 요소 검색, 키보드 숨기기, 단말 회전이 있습니다.

여러 앱을 포함하는 모바일 세션에서는 테스트 중에 설치된 앱을 전환하는 조작도 사용할 수 있습니다. 단, 세션 중에 새 앱을 설치할 수는 없습니다. 앱은 실행 전에 메모리에 업로드해 두고, 세션 시작 시에 선택하십시오.

모바일에서 지원하는 조작의 예는 다음과 같습니다.

* 앱 시작, 화면 전환, 탭 조작
* 로그인 후 홈 화면 확인
* 폼 입력, 전송, 결과 확인

### 로그에서 확인할 수 있는 내용

세션의 결과 화면에서는 AI 테스터가 실행한 조작을 **로그** 탭에서 확인할 수 있습니다. 로그에는 단계별 스크린샷, 조작 내용, 입력, 출력이 표시됩니다.

표시되는 내용은 실행한 테스트에 따라 다릅니다. 예를 들어 화면 확인, 클릭이나 탭, 문자 입력, 대기, API 응답 확인, 시크릿이나 OTP 입력, 사용자에 대한 확인, 종료 판정 등이 실행 내용에 따라 기록됩니다.

## 판단과 검증의 동작

AI 테스터는 화면에서 확인할 수 있는 정보를 바탕으로 조작의 성공 여부를 판단합니다. 조작했다는 사실만으로 성공으로 간주하지 않고, 스크린샷이나 실행 결과로 상태 변화를 확인한 다음 다음 판단으로 넘어갑니다.

### 화면 확인을 기준으로 한다

AI 테스터는 버튼을 클릭하거나 폼에 입력하거나 페이지 전환을 기다린 다음과 같은 조작 후에 화면을 확인합니다. 화면 내용의 변화, 성공 메시지, 체크 상태, 표시 내용 등 시각적으로 확인할 수 있는 결과가 있는 경우에 그 조작이 성공했다고 판단합니다.

조작 후 화면이 바뀌지 않고 기대한 결과를 확인할 수 없는 경우에는 필요에 따라 재확인합니다. 그래도 확인할 수 없는 경우에는 성공으로 간주하지 않고, 실패 또는 계속 불가로 종료합니다.

### 테스트 종류에 따라 결과를 판정한다

AI 테스터는 시나리오의 목적에 따라 성공과 실패를 판단합니다.

| 테스트 종류 | 성공의 기준                     | 실패의 기준                    |
| ------ | -------------------------- | ------------------------- |
| 기능 확인  | 지시된 기능이나 화면 전환이 기대한 대로 동작함 | 기대한 표시나 상태가 되지 않음         |
| 결함 탐색  | 명확한 문제가 발견되지 않음            | UI 문제, 오류, 기대 외 동작이 발견됨   |
| 검증 단계  | 지시된 확인 조건을 충족함             | 확인 조건을 충족하지 못하거나 확인할 수 없음 |

따라서 "로그인할 수 있음을 확인한다"와 "로그인 화면의 문제를 찾는다"는 동일한 화면을 조작하더라도 결과 판정 기준이 다릅니다.

### 사용자와의 상호작용

일반적인 새 세션에서는 AI 테스터가 부족한 정보나 판단이 망설여지는 부분을 사용자에게 확인할 수 있습니다. 예를 들어 입력할 값이 지정되어 있지 않거나, 동일한 이름의 버튼이 여러 개 있는 경우에 질문합니다.

실행 중에 질문이 표시된 경우, 사용자는 실행 화면의 채팅 영역에서 답변할 수 있습니다. 답변하면 AI 테스터는 그 내용을 바탕으로 테스트를 재개합니다.

케이스 실행 등 실행 방법에 따라서는 사용자에 대한 확인이 이루어지지 않습니다. 그 경우 AI 테스터는 지정된 내용과 화면에서 확인할 수 있는 정보만으로 판단합니다. 필요한 정보가 없는 경우에는 추측으로 값을 보충하지 않고, 이유를 제시하며 실패로 종료합니다.

## 메모리 사용 방법

Aximo에서는 AI 테스터가 실행 시에 참조하는 정보로 두 종류의 메모리를 다룹니다.

### 실행 보조 메모리

사용자가 등록하는 메모리에는 변수, OTP, 호스트명, 앱, 파일 등이 있습니다. 시나리오에서 `{{NAME}}`과 같은 플레이스홀더를 사용하면, AI 테스터는 실행 시에 해당하는 값이나 파일을 참조합니다.

시크릿이나 OTP는 AI 테스터에게 실제 값을 보여주지 않은 채로 입력됩니다. 결과나 로그에서는 실제 값이 아닌 플레이스홀더 이름을 사용해 다룹니다. 자세한 내용은 [메모리에 대해](/features-ko/memories/memory-overview.md) 참조.

### 과거 세션에서 학습한 메모리

AI 테스터는 완료된 세션에서 추출한 워크플로와 실패 패턴을 이후 비슷한 테스트에서 참고합니다. 관련 학습 메모리가 참조된 경우에는 세션 결과의 **Retrieved Memory**에 표시됩니다. 자세한 내용은 "메모리에 대해"의 [학습 메모리](https://help.aximo.autify.com/features-ko/test-case-creation/pages/KqyzFHNmz7qWgNZdYBn7#학습-메모리) 참조.

## 안전성과 제한

AI 테스터는 테스트 실행에 필요한 범위에서만 환경을 조작합니다. Web 페이지, 메일, 문서 등에 포함된 "지시"는 신뢰하지 않고, 원래의 시나리오를 우선합니다.

입력 내용이 Aximo의 지원 범위를 벗어나거나 안전하게 실행할 수 없는 내용으로 판단된 경우, 세션은 시작 전이나 실행 중에 실패로 종료될 수 있습니다. 실행 단위별 주요 제한에 대해서는 [세션과 케이스에 대해](/features-ko/test-case-creation/test-case-creation-overview.md) 참조.

## 참고 자료

* [Aximo에 대해](/features-ko/aximo-overview.md)
* [세션과 케이스에 대해](/features-ko/test-case-creation/test-case-creation-overview.md)
* [프롬프트 작성 방법](/features-ko/test-case-creation/writing-prompts.md)
* [세션 실행 중 작업](/features-ko/test-case-creation/session-execution.md)
