Интуитивное тестирование (ad-hoc testing)
ad-hoc testing — вид тестирования, который выполняется без подготовки к тестам, без определения ожидаемых результатов, проектирования тестовых сценариев. Это неформальное, импровизационное тестирование. Он не требует никакой документации, планирования, процессов которых следует придерживаться в выполнении. Также на данный вид тестирования не пишутся тест-кейсы, что в свою очередь может вызвать определенные затруднения в попытках воспроизвести дефект в системе. Такой вид зачастую может дать сходу больше результата чем тестирование по заранее определенным сценариям. Это обусловлено тем, что тестировщик на первых шагах приступает к тестированию основного функционала и выполняет нестандартные проверки, точнее некоторые из его проверок будут нестандартными.
Часто интуитивное тестирование путают с исследовательским. Если говорить об ad-hoc testing и исследовательском тестировании. Ad-hoc testing — это более интуитивное и беспорядочное тестирование, когда тестировщик просто идет и проверяет, что ему хочется. У него нет определенной цели, структуры тестов в голове, какой-то системы. В свою очередь исследовательское тестирование более структурированное. Обычно тестировщик знает, что ему нужно проверить, у него в голове есть цель и какая-то система проведения тестов. Хоть тесты в этом случае не обязательно должны быть оформлены в виде тест кейсов.
Когда выполняется интуитивное тестирование (ad-hoc testing) ?
Чаще всего такое тестирование выполняется когда мало времени на точное и последовательное тестирование. При этом тестировщик полагается на свое общее представление о приложении и здравый смысл
Тестирование ad-hoc имеет смысл только в случае если тестировщик владеет общей информацией о продукте. Если человек совсем не будет знать продукт, то потратит время на его изучение, особенно если проект очень сложный и большой. Поэтому нужно хорошее представление о целях проекта, его назначению и основным функциям и возможностям. А дальше уже можно приступать к ad-hoc testing.
Виды интуитивного тестирования:
- buddy testing (совместное тестирование) — когда 2 человека, как правило разработчик + тестировщик, работают параллельно и находят дефекты в одном и том же модуле. Такой вид тестирования помогает тестировщику выполнять необходимые проверки, а программисту фиксить баги на ранних этапах.
- pair testing (парное тестирование) — когда 2 тестировщика проверяют один модуль и помогают друг другу. К примеру один может искать дефекты, а второй их документировать. Таким образом у одного тестера будет функция, скажем так обнаружителя, у другого — описателя 🙂
Различия между buddy testing и pair testing:
- Совместное тестирование — это сочетание юнит тестирования и системного тестирования между разработчиком и тестировщиком
- Парное тестирование выполняется только тестировщиками с разным уровнем знаний и опыта (такое сочетание поможет поделиться взглядами и идеями)
- monkey testing — произвольное тестирование программы с целью ее сломать
Основные преимущества ad-hoc testing:
- нет необходимости тратить время для подготовки документации
- самые важные дефекты обнаруживаются на ранних этапах
- часто применяется когда берут нового сотрудника. методом адхока человек схватывает за 3 дня то, что по тесткейсам разбирал бы неделю — это называется форсированное обучение новых сотрудников
- возможность найти хитрые дефекты, которые нельзя было бы найти используются стандартные сценарии проверок.
Что можно использовать при таком виде тестирования, какие навыки будут полезными?
Поскольку нет никакой применимой документации, все что остается использовать тестировщику — здравый смысл, логику и накопленный опыт. Стоит отметить что любое, даже не очень знакомое вам приложение должно быть интуитивно понятным. Действуйте больше с точки зрения пользователя, чем тестировщика.