# Обзор техник тест-дизайна

### Содержание:

* [Эквивалентное разделение](#id-1.-ekvivalentnoe-razdelenie-equivalence-partitioning)
* [Анализ граничных значений](#id-2.-analiz-granichnykh-znachenii-boundary-value-analysis)
* [Таблица принятия решений](#id-3.-tablicy-reshenii-alternativ-decision-table-testing)
* [Переход состояний](#id-4.-tablicy-sostoyanii-i-perekhodov-state-transition-testing)
* [Сценарии использования](#id-5.-scenarii-ispolzovaniya-use-case-testing)
* [Попарное тестирование](#id-6.-poparnoe-testirovaniya-pairwise-testing)
* [Матрица трассировки требований](#id-7.-matrica-trassirovki-trebovanii-requirements-traceability-matrix)
* [Предугадывание ошибок](#id-8.-predugadyvanie-oshibok)

#### 1. Эквивалентное разделение (Equivalence Partitioning)

Тестовые данные необходимо разбивать на группы (классы эквивалентности), внутри которых результат выполнения тестов идентичен. Группы могут быть как для позитивных, так и для негативных значений.\
Читаем тут: <https://vk.com/wall-172009645_386>

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

Является продолжением предыдущего метода и говорит нам о том, что необходимо брать значения, которые лежат на границе классов.

читаем тут <https://vk.com/wall-172009645_386>

#### 3. Таблицы решений (альтернатив) (Decision Table Testing)

Используется в тех случаях, когда для разных выходных значений используется комбинация входных данных. Основной целью является проверка бизнес-логики и тестового покрытия.

#### 4. Таблицы состояний и переходов (State Transition Testing)

Проще говоря, у нас есть объект, который может находиться в разных состояниях (вода, лед и пар). Переход от одного состояния к другому обычно чем-то обусловлен, например, каким-нибудь действием над объектом (нагревание, охлаждение).  Эти состояния и действия над объектом нам необходимо смоделировать. Под объектом мы обычно понимаем тестируемую фичу или ее часть.

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

2 статьи <https://vk.com/wall-172009645_515> и <https://vk.com/wall-172009645_583>

#### 5. Сценарии использования (Use Case Testing)

Сценарии использования — это перечень действий, сценарий по которому пользователь взаимодействует с приложением для выполнения какого-либо действия для достижения конкретной цели. (Часто используется при разработке тестов к требованиям). Пример: как пользователь - я хочу иметь возможность делать …, это поможет мне делать … (фотоаппарат в телефоне поможет делать снимки)

#### 6. Попарное тестирования (Pairwise Testing)

Используется, когда необходимо не просто протестировать продукт, а продукт с множеством взаимосвязанных входных данных. Подробнее тут <https://vk.com/wall-172009645_468>

Генератор: [pairwise.teremokgames.com](https://pairwise.teremokgames.com/) или PICT от Микрософт.

#### 7. Матрица трассировки требований (Requirements Traceability Matrix)

Двумерная таблица, содержащая соответствие функциональных требований продукта (functional requirements) и подготовленных тестовых сценариев (test cases)

#### 8. Предугадывание  ошибок

Угадывание ошибок – это техника, основанная на угадывании ошибки, которая потенциально может возникнуть в коде. Эта методика в значительной степени основана на опыте тестировщика, который способен выявить проблемную часть тестируемого приложения. Следовательно, для более точного угадывания ошибок тестировщики должны иметь обширный опыт и высокую квалификацию.

В рамках данной методики составляется список возможных ошибок или ситуаций, которые могут привести к ошибкам. Затем тестировщик пишет тест-кейсы для выявления этих ошибок.

### Видео по теме "Техники тест-дизайна":

[Техники тест дизайна или как правильно покрывать тестами приложение?](https://youtu.be/hBl5pV2xnQg) \
Артем Быковец. QA Fest 2015

[ТОП 10 техник-дизайна iSTQB](https://youtu.be/ptGGQPFk1zw)

[QA практикум. Техники тест дизайна. Часть 1](https://youtu.be/gcWiWCrje44)

[QA практикум. Техники тест дизайна. Часть 2](https://youtu.be/BQPdfQujJU8)


---

# 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/obzor-tekhnik-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.
