# Переход состояний

В технике переход состояния изменение входных условий приводит к изменению состояния тестируемого приложения (AUT). Тестировщик использует как валидные, так и невалидные входные тестовые значения для оценки поведения системы.

**Рекомендации по использованию техники перехода состояний:**

* Переход состояний следует использовать для проверки приложения с ограниченным набором входных значений.
* Данная техника тест-дизайна должна использоваться, когда требуется проверить последовательность событий, происходящих в тестируемом приложении.
* Как правило, после анализа возможных действий и соответствующих им состояний системы создается диаграмма, наглядно демонстрирующая весь процесс.

**Пример:**

Необходимо протестировать вход в систему. Если пользователь введет правильный пароль в любой из первых трех попыток, ему будет предоставлен доступ. Если он введет неверный пароль в первой или второй попытке, ему будет предложено ввести пароль повторно. Если пользователь в третий раз введет пароль неверно, то в доступе будет отказано, а учетная запись заблокирована.

### Диаграмма перехода состояний <a href="#state-transition-diagram" id="state-transition-diagram"></a>

<figure><img src="https://qarocks.ru/wp-content/uploads/2023/08/053018_0554_softwaretes2.webp" alt="" height="368" width="656"><figcaption></figcaption></figure>

На данной диаграмме показана последовательность переходов состояний системы в зависимости от действий пользователя: когда пользователь вводит верный PIN-код, система переходит в состояние “Доступ разрешен” (Access granted) и т.д. На основе приведенной диаграммы можно также создать таблицу переходов состояний.

### Таблица переходов состояний <a href="#state-transition-table" id="state-transition-table"></a>

|                       | Правильный PIN-код | Неверный PIN-код |
| --------------------- | ------------------ | ---------------- |
| S1) Старт             | S5                 | S2               |
| S2) 1-я попытка       | S5                 | S3               |
| S3) 2-я попытка       | S5                 | S4               |
| S4) 3-я попытка       | S5                 | S6               |
| S5) Доступ разрешен   | –                  | –                |
| S6) Счет заблокирован | –                  | –                |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://qabook.gitbook.io/start/teoriya-testirovaniya/test-dizain/perekhod-sostoyanii.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
