# Эквивалентное разделение

**Эквивалентное разбиение** – это разновидность техники тестирования “черного ящика”, которая может применяться на всех уровнях тестирования ПО, таких как модульное, интеграционное, системное и т.д. Идея состоит в том, чтобы разделить все возможные входные данные на группы или классы таким образом, чтобы все значения внутри одного класса считались эквивалентными.

* Это методика, которая разделяет входные данные ПО на различные классы эквивалентных данных.
* Данную технику можно применять, когда в поле ввода есть диапазон.

#### Пример 1: <a href="#example-1" id="example-1"></a>

* Рассмотрим поведение текстового поля Order Pizza (“Заказать пиццу”).
* Значения пиццы от 1 до 10 считаются валидными. Отображается сообщение об успехе.
* Значения от 11 до 99 считаются недопустимыми для заказа, и появляется сообщение об ошибке: “Можно заказать только 10 пицц”.

**Вот условия проверки**:

1. Любое число меньше 1, введенное в поле Order Pizza, недействительно.
2. Валидными считаются числа от 1 до 10.
3. Любое число больше 10 считается недействительным.
4. Любое трехзначное число также считается недействительным.

Из-за большого количества возможных входных значений мы не можем протестировать каждый отдельный случай. Для решения этой проблемы мы используем методику эквивалентного разбиения, в которой мы делим возможные входные значения на группы или наборы, как показано ниже:

<figure><img src="https://qarocks.ru/wp-content/uploads/2023/06/032316_0620_equivalence4.webp" alt="Использование эквивалентного разбиения значений на группы в тестировании" height="214" width="590"><figcaption></figcaption></figure>

Разделенные наборы называются эквивалентными разбиениями или эквивалентными классами. Мы выбираем только одно значение из каждого класса для тестирования. Идея состоит в том, **что если одно условие/значение в классе проходит**, то все остальные также пройдут. Аналогично, если одно условие в наборе **не выполняется, то все остальные условия тоже не выполняются**.


---

# 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/ekvivalentnoe-razdelenie.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.
