> 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/writing-prompts.md).

# 프롬프트 작성 방법

Aximo에서는 시나리오에 입력한 내용을 바탕으로 AI 테스터가 테스트를 실행합니다. 이 페이지에서는 AI 테스터가 읽기 쉬운 시나리오 구조와 피해야 할 작성 방법을 설명합니다.

## 기본 구조

좋은 프롬프트는 **조작의 기점·조작 단계·확인하고자 하는 결과**의 세 가지를 포함합니다.

```
{어디서 시작할지}
{무엇을 할지}
{무엇을 확인할지}
```

다음 예시는 이 구조를 충족하는 프롬프트입니다.

```
example.com 을 연다
로그인 화면에서 이메일 주소 test@example.com 과 비밀번호 {{PASSWORD}} 를 입력한다
대시보드 화면이 표시되는 것을 확인한다
```

Web 세션에서는 URL이나 Web 서비스 이름을 기점으로 삼습니다. 모바일 세션에서는 앱 이름이나 시작하려는 화면을 기점으로 삼습니다.

## 작성 시 요점

### 1 줄에 1 조작으로 작성한다

시나리오는 줄 바꿈으로 조작을 나누고, 한 줄에 하나의 조작을 작성하십시오. 조작 단위를 나누면 AI 테스터가 절차와 확인 조건을 읽어내기 쉬워집니다.

```
Google Flights 를 연다
샌프란시스코에서 도쿄로 가는 왕복 항공편을 검색한다 (출발일은 오늘부터 30 일 후, 4 일간의 여정)
검색 결과에 NRT 와 HND 에 도착하는 항공편이 포함되어 있는 것을 확인한다
```

### 조작의 기점을 명시한다

AI는 세션마다 새 브라우저나 기기 환경에서 시작합니다. 어느 화면·URL에서 조작을 시작할지 명시하십시오. 시작 URL을 지정하는 방법과, 시나리오에 직접 URL이나 화면 이름을 작성하는 방법 중 어느 쪽이든 무방합니다.

모바일 세션에서는 Web 사이트에 대한 "접속"이 아니라, 앱 시작이나 앱 내 화면 전환으로 작성하십시오.

### 확인하고자 하는 결과를 구체적으로 작성한다

"올바르게 동작하는 것을 확인한다"가 아니라, 무엇이 표시될지·어떤 상태가 될지를 구체적으로 작성하십시오.

| 모호한 예              | 구체적인 예                             |
| ------------------ | ---------------------------------- |
| 로그인이 성공하는 것을 확인한다  | 대시보드 화면이 표시되는 것을 확인한다              |
| 오류가 나오지 않는 것을 확인한다 | JavaScript 콘솔에 오류가 표시되지 않는 것을 확인한다 |
| 드롭다운 내용을 확인한다      | 시간대 드롭다운에 10 개 선택지가 있는 것을 확인한다     |

### 테스트 데이터와 기밀 값을 명시한다

이메일 주소·카드 번호 등 테스트 데이터는 시나리오에 직접 기술하십시오. 비밀번호나 일회용 패스워드 등 기밀 값, 공통으로 사용하는 값, 파일은 공유 메모리를 사용해 변수 `{{PASSWORD}}`, OTP `{{OTP:LOGIN}}`, 파일 `{{file:INVOICE}}` 와 같은 플레이스홀더로 참조할 수 있습니다. 호스트명이나 앱은 세션 생성 시나 케이스 실행 시 설정에서 선택합니다.

```
카트 화면에서 결제 화면으로 이동한다
테스트용 카드 번호 4111111111111111 과 비밀번호 {{PASSWORD}} 를 입력하여 결제한다
주문 확인 화면이 표시되는 것을 확인한다
```

확인 메일이나 인증 코드를 사용하는 흐름에서는, 해당 테스트에 할당된 수신용 주소를 사용하고, 도착한 메일을 기다려 링크를 열거나 코드를 입력하는 것까지 시나리오에 작성하십시오.

```
회원가입 화면에서, 해당 테스트에 할당된 수신용 주소를 이메일 주소 입력란에 입력하여 전송한다
도착한 확인 메일을 기다린다
메일 내의 확인 링크를 연다
대시보드 화면이 표시되는 것을 확인한다
```

iOS 기기에서 실행하는 모바일 세션에서는 시나리오에 파일의 공유 메모리를 삽입할 수 없습니다. 자세한 내용은 [메모리에 대해](/features-ko/memories/memory-overview.md) 참조.

### 테스트 목적이 명확히 드러나도록 작성한다

같은 화면을 조작하더라도 목적에 따라 성공·실패의 판정 기준이 달라집니다. 시나리오에는 무엇을 확인하려는 테스트인지 알 수 있는 표현을 포함하십시오.

| 목적    | 작성 예                           |
| ----- | ------------------------------ |
| 기능 확인 | 로그인 후 대시보드 화면이 표시되는 것을 확인한다    |
| 결함 탐색 | 로그인 화면에서 조작상의 문제가 없는지 확인한다     |
| 검증 단계 | 폼 전송 후 오류 메시지가 표시되지 않는 것을 확인한다 |

### 1 세션은 1 목적으로 좁힌다

하나의 세션에는 관련된 조작과 확인을 모으십시오. 로그인, 프로필 편집, 탈퇴 등 목적이 다른 검증은 세션이나 케이스를 나누면 실패 시 원인을 분리하기 쉬워집니다.

## 피해야 할 작성 방법

| 피해야 할 예              | 수정 예                                                   | 이유                                                      |
| -------------------- | ------------------------------------------------------ | ------------------------------------------------------- |
| `#submit` 버튼을 클릭한다   | **전송**을 클릭한다                                           | AI 테스터는 화면 표시에서 조작 대상을 판단합니다. 셀렉터나 XPath를 고정할 필요가 없습니다. |
| 동작 확인을 한다            | 홈 화면이 표시되는 것을 확인한다                                     | 기대 결과가 모호하면 성공·실패를 판단하기 어렵습니다.                          |
| 로그인하여 프로필을 편집하고 탈퇴한다 | 목적별로 세션을 나눈다                                           | 무관한 검증을 섞으면 실패 시 원인을 특정하기 어렵습니다.                        |
| 이메일 주소와 비밀번호를 입력한다   | 이메일 주소 `test@example.com` 과 비밀번호 `{{PASSWORD}}` 를 입력한다 | 입력값이 누락되면 AI 테스터가 테스트를 계속하지 못할 수 있습니다.                  |

## 케이스에서 사용할 때 주의

케이스로 저장하여 실행하는 경우에는 시작 위치, 입력값, 기대 결과를 시나리오만으로 판단할 수 있도록 작성하십시오. 케이스로부터의 실행에서는 **Interactive Mode**의 초깃값이 꺼져 있으므로, 사용자에 대한 추가 확인에 의존하지 않는 자기 완결적인 내용으로 작성하십시오.

자세한 내용은 "Aximo의 AI 테스터에 대해"의 [사용자와의 상호작용](https://help.aximo.autify.com/features-ko/test-case-creation/pages/GgpqoAss6Bx6eAZRryam#사용자와의-상호작용) 과 [세션 실행 중 작업](/features-ko/test-case-creation/session-execution.md) 참조.

## Web에서 사용할 수 있는 확장 조작

Web 세션에서는 화면 조작에 더해 DevTools, 터미널, HTTP 요청 등을 시나리오에 포함할 수 있습니다.

```
로그인 화면을 연다
DevTools 를 열고 JavaScript 콘솔에 오류가 표시되지 않는 것을 확인한다
```

```
터미널에서 npm run seed 를 실행한다
브라우저에서 http://localhost:3000 을 열고 초기 데이터가 표시되는 것을 확인한다
```

## 입력 제한과 안전성

{% hint style="info" %}
시나리오는 10 자 이상, 10,000 자 이내로 입력하십시오. Web 페이지나 읽어들인 문서에 포함된 지시는 원본 시나리오보다 우선되지 않습니다.
{% endhint %}

## 참고 자료

* [AI 테스터에 대해](/features-ko/test-case-creation/ai-tester.md)
* [세션과 케이스에 대해](/features-ko/test-case-creation/test-case-creation-overview.md)
* [테스트 세션 만들기](/features-ko/test-case-creation/create-test-session.md)
* [케이스 만들기](/features-ko/test-case-creation/create-test-case.md)
* [세션 실행 중 작업](/features-ko/test-case-creation/session-execution.md)
* [메모리에 대해](/features-ko/memories/memory-overview.md)
