# Свободное / Интуитивное тестирование (Adhoc, Ad-hoc Testing)

*Свободное тестирование (ad hoc testing): Тестирование, выполняемое неформально; без формальной подготовки тестов, формальных методов проектирования тестов, определения ожидаемых результатов и руководства по выполнению тестирования. (ISTQB)*

*Парное тестирование (pair testing): Два человека (двое тестировщиков, разработчик и тестировщик, или конечный пользователь и тестировщик), работающих вместе над поиском дефектов. Обычно они работают за одним компьютером, в течение работы, передавая управление друг другу. (ISTQB)*

Свободное тестирование (ad-hoc testing) - это вид тестирования, который выполняется без подготовки к тестированию продукта, без определения ожидаемых результатов, проектирования тестовых сценариев. Это неформальное, импровизационное тестирование. Оно не требует никакой документации, планирования, процессов, которых следует придерживаться при выполнении тестирования. Такой способ тестирования в большинстве случаев дает большее количество заведенных отчетов об ошибке. Это обусловлено тем, что тестировщик на первых шагах приступает к тестированию основной функциональной части продукта и выполняет как позитивные, так и негативные варианты возможных сценариев.

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

**Виды свободного тестирования** (ad-hoc testing):

* Buddy testing - процесс, когда 2 человека, как правило разработчик и тестировщик, работают параллельно и находят дефекты в одном и том же модуле тестируемого продукта. Сразу после того, как разработчик завершает модульное тестирование, тестировщик и разработчик вместе работают над модулем. Этот вид тестирования позволяет обеим сторонам рассматривать эту функцию в более широком масштабе. Разработчик получит представление обо всех различных тестах, выполняемых тестером, а тестировщик получит представление о том, какова внутренняя конструкция, которая поможет ему избежать разработки недействительных сценариев;
* Pair testing - в этом тестировании два тестировщика (лучше с разным опытом) работают вместе над одним модулем. Идея, лежащая в основе этой формы тестирования состоит в том, чтобы заставить двух тестировщиков провести мозговой штурм идей и методов, чтобы выявить ряд дефектов. Оба могут разделять работу по тестированию и делать необходимую документацию по всем сделанным наблюдениям;
* Monkey testing - произвольное тестирование продукта с целью как можно быстрее, используя различные вариации входных данных, нарушить работу программы или вызвать ее остановку (простыми словами - сломать);

**Основные преимущества ad-hoc testing**:

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

| Adhoc Testing                                                                                | Exploratory Testing                                                                  |
| -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| Начинается с изучения приложения, а затем - с фактического процесса тестирования             | Начинается с тестирования приложения, а затем его понимания посредством исследования |
| Самостоятельный вид тестирования                                                             | Разновидность Adhoc Testing                                                          |
| Не требуется никакой документации                                                            | Обязательно наличие документации по деталям тестирования.                            |
| Adhoc Testing проводят тестировщики, обладающие глубокими знаниями о приложении              | Для изучения приложения не обязательно иметь эксперта.                               |
| Тестирование начинается после того, как будут собраны все данные для проведения тестирования | Сбор данных и тестирование происходят одновременно.                                  |
| Это работает для отрицательных сценариев тестирования                                        | В основном это касается положительных сценариев                                      |
| Ориентировано на улучшение процесса тестирования                                             | Ориентировано на изучение приложения                                                 |
| Зависит от творческих способностей и интуиции тестировщика                                   | Зависит от любопытства и понимания тестировщика                                      |
| Нет ограничений по времени                                                                   | Это ограниченный по времени метод                                                    |

Источники:

* [Ad-Hoc Testing: How To Find Defects Without A Formal Testing Process](https://www.softwaretestinghelp.com/ad-hoc-testing/)
* [Adhoc Testing Guide - What You Should Know](https://www.softwaretestingmaterial.com/adhoc-testing/)

Доп. материал:

* [Что такое ad-hoc тестирование?](https://testengineer.ru/chto-takoe-ad-hoc-testirovanie/)


---

# 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://vladislaveremeev.gitbook.io/qa_bible/vidy-metody-urovni-testirovaniya/svobodnoe-intuitivnoe-testirovanie-adhoc-ad-hoc-testing.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.
