Ответ
Monkey testing (или «обезьянье тестирование») — это техника тестирования, при которой приложение подвергается случайным, бессистемным входным данным или действиям без заранее определенных тест-кейсов. Цель — проверить устойчивость системы и обнаружить критические сбои, такие как падения (crashes), утечки памяти или зависания.
Ключевые характеристики:
- Случайность: Действия (клики, ввод, жесты) генерируются случайным образом.
- Отсутствие сценария: Тест не знает о структуре приложения.
- Фокус на надежность: Основная задача — «сломать» приложение, а не проверить функциональность.
Пример псевдокода для GUI-приложения:
import random
import time
actions = ["click", "input_text", "swipe", "press_back"]
for i in range(10000):
action = random.choice(actions)
x, y = random.randint(0, 1080), random.randint(0, 1920)
if action == "click":
device.click(x, y)
elif action == "input_text":
device.input(random_string())
# ...
time.sleep(random.uniform(0.1, 0.5))
| Плюсы и минусы: | Плюсы | Минусы |
|---|---|---|
| Может найти неочевидные, редкие баги. | Баги сложно воспроизвести. | |
| Не требует глубокого знания системы. | Низкое покрытие с точки зрения функциональности. | |
| Полезно для стресс-тестирования UI. | Требует тщательного анализа логов и мониторинга ресурсов. |
Разновидности: Smart Monkey (знает структуру приложения) и Dumb Monkey (полностью случайные действия).