# Техники тест-дизайна

### **1. Что такое техники тест-дизайна**

**Техники тест-дизайна** — это методы **создания тест-кейсов для эффективного покрытия требований и поиска дефектов**.\
Цель — оптимизировать тестирование, чтобы **не проверять всё комбинаторно, а выявлять баги эффективно**.

***

### **2. Основные виды техник**

#### **A. Эквивалентное разбиение (Equivalence Partitioning)**

* Разделение входных данных на **эквивалентные классы**, чтобы проверить **по одному значению из каждого класса**.
* **Пример:** возраст пользователя для регистрации:
  * Класс 1: <18 (недопустимо)
  * Класс 2: 18–65 (допустимо)
  * Класс 3: >65 (недопустимо)

#### **B. Анализ граничных значений (Boundary Value Analysis)**

* Проверка **крайних значений и рядом с ними**, где чаще всего возникают ошибки.
* **Пример:** минимальное и максимальное количество символов в пароле (8–16) → тестировать 7, 8, 16, 17 символов

#### **C. Decision Table Testing (Таблица решений)**

* Используется, когда поведение системы зависит от **комбинации условий**
* **Пример:** проверка скидок: пользователь VIP/не VIP, сумма >100$/≤100$ → разные действия

#### **D. State Transition Testing (Тестирование переходов состояний)**

* Для систем с **различными состояниями и переходами между ними**
* **Пример:** банкомат: Idle → Card Inserted → PIN Verified → Transaction → Idle

#### **E. Pairwise / Combinatorial Testing**

* Проверка всех **пар комбинаций входных данных**, чтобы сократить количество тестов при большом количестве переменных
* **Пример:** браузеры × ОС × разрешение экрана

#### **F. Error Guessing (Предугадывание ошибок)**

* Опытный тестировщик **угадывает, где могут быть ошибки**
* Часто используется для сложных или критичных функций

***

### **3. Дополнительно**

* Техники могут быть **ручными или автоматизированными**
* Часто комбинируются для максимального покрытия


---

# 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://kaze.gitbook.io/qa-theory/teoriya-ruchnogo-testirovaniya/tekhniki-test-dizaina.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.
