Что это
Ад-хок тестирование (Ad hoc testing) — это тестирование, выполняемое как бы “неформально” и “рандомно”, часто после того как завершено “формальное” тестирование. Цель ad hoc тестирования — найти баги в системе “случайным образом”, наугад. Также называется рендомным тестированием. Иногда ad hoc называют обезьяньим тестированием — и это не является большой ошибкой. Ад-хок тестирование не проводят упорядоченным образом, или по какой-то устоявшейся методологии. Поэтому ад-хок типологически относят к “неупорядоченному” тестированию.
Отдельный материал по ад-хок-тестированию — по ссылке.
Обезьянье тестирование (monkey testing), также называют рендомным тестированием, фазз-тестированием, или стохастическим тестированием. Суть: в систему вводят какие-то случайные данные, без написания тест-кейсов. При этом проверяют поведение системы: отвечает ли ошибкой? Падает?
Сравнение ad hoc тестирования и monkey тестирования:
Ад-хок тестирование | Обезьянье тестирование |
Является “случайным”, не предполагает написание/применение существующих тест-кейсов | Также не предполагает написание тест-кейсов |
Цель тестировщика: “положить” приложение, или найти где-то ошибку, работая в приложении “случайным” образом | Тестирование идет путем ввода рендомных или заведомо некорректных данных, чтобы увидеть, упадет ли приложение |
Тестировщик, или несколько их, тестирует то, что им кажется нужным, исходя из их базового понимания приложения | Тестировщик может почти ничего не знать о приложении, и тестирует полностью наугад, например кликает по первым попавшимся объектам, вводит случайные и заведомо некорректные данные, и смотрит, выдаст ли приложение ошибку |
Ad-hoc выполняется группой тестировщиков с хорошим пониманием, как работает приложение | Обезьянье тестирование выполняется тестировщиками, (почти) ничего не знающими о приложении |
Трудно фиксить баги, из-за того что не были написаны тест-кейсы (а часто и документация) | Крайне трудно воспроизвести баг, потому что невозможно воспроизвести рендомный ввод |
Чтобы улучшить качество ad hoc тестирования, тестировщики должны хорошо понимать как работает приложение, и вообще иметь высокую квалификацию | Чтобы улучшить качество monkey-тестирования, тестировщики должны быть хорошими специалистами в своем домене (например в финансовой сфере, если это приложение для банкинга) |
Ad hoc тестирование не дает гарантии, что баги будут найдены | Обезьянье тестирование также не гарантирует, что будут результаты в виде обнаруженных багов |
Поиск бага требует много времени, точнее неопределенное время | Monkey-тестирование может длиться и дольше чем ad hoc, поскольку нет каких-то “прописанных” этапов. Обычно находится меньше багов, чем в ad hoc тестировании |
Что такое torture-тестирование?
Специфический тип тестирования: тестируются модули приложения; в модуль многократно вводятся рендомные значения и наборы рендомных значений; проверяется функциональность модуля и отсутствие багов. Как правило это многократно повторяемое ручное тестирование (иногда тысячи раз), под силу только самым выносливым тестировщикам, почему и называется gorilla.
Горилла-тесты еще называются torture-тестами (и тогда их путают с нагрузочными), также Fault Tolerance Testing, или Frustrating Testing.
***