Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

В то время как источник названия «обезьяны» является неопределенным, то , как полагают некоторые , что название связано с теоремой бесконечной обезьяны , [1] , который утверждает , что обезьяна , поражающие ключи в случайных на клавиатуре пишущей машинки для бесконечного количества time почти наверняка напечатает данный текст, такой как полное собрание сочинений Уильяма Шекспира . Некоторые считают, что это название происходит от классического приложения Mac OS «Обезьяна», разработанного Стивом Кэппсом до 1983 года. Оно использовало ловушки журналирования для подачи случайных событий в программы Mac и использовалось для тестирования ошибок в MacPaint . [2]

Monkey Testing также включен в Android Studio как часть стандартных инструментов тестирования для стресс-тестирования . [3]

Типы обезьяньих испытаний [ править ]

Тестирование обезьян можно разделить на интеллектуальные тесты обезьяны или тупые тесты на обезьянах .

Тесты умных обезьян [ править ]

Умных обезьян обычно идентифицируют по следующим характеристикам: [ необходима цитата ]

  • Получите краткое представление о приложении или системе
  • Знайте свое местоположение, куда он может пойти и где он был
  • Знайте свои собственные возможности и возможности системы
  • Сосредоточьтесь, чтобы сломать систему
  • Сообщайте об обнаруженных ими ошибках

Некоторые умные обезьяна также называют гениальными обезьянами , [ править ] , которые выполняют тестирование в соответствии с поведением пользователя и указать некоторые вероятности ошибок , чтобы быть повреждено.

Тесты на тупых обезьянах [ править ]

Глупые обезьяны, также известные как «невежественные обезьяны», обычно идентифицируются по следующим характеристикам: [ необходима цитата ]

  • Не знаете о приложении или системе
  • Не знаю, верны ли их действия или поведение.
  • Не знаю ни их, ни возможностей системы, ни потока приложения
  • Может находить меньше ошибок, чем умные обезьяны, но может также находить важные ошибки, которые сложно поймать умным обезьянам.

Преимущества и недостатки [ править ]

Преимущества [ править ]

Тестирование на обезьянах - эффективный способ выявления некоторых нестандартных ошибок. Поскольку тестируемые сценарии обычно являются специальными , тестирование на обезьянах также может быть хорошим способом выполнения нагрузочного и стресс-тестирования. Внутренняя случайность обезьяньего тестирования также делает его хорошим способом поиска серьезных ошибок, которые могут нарушить работу всей системы. Настройка тестирования на обезьянах проста, поэтому подходит для любого приложения. Умные обезьяны, если их правильно настроить с использованием точной модели состояния, могут действительно хорошо находить различные виды ошибок.

Недостатки [ править ]

Случайность тестирования на обезьянах часто делает обнаруженные ошибки трудными или невозможными для воспроизведения. Неожиданные ошибки, обнаруженные при тестировании на обезьянах, также могут быть сложными и трудоемкими для анализа. В некоторых системах тестирование на обезьянах может продолжаться долгое время, прежде чем будет обнаружена ошибка. Для умных обезьян способность сильно зависит от предоставленной модели состояния, а разработка модели хорошего состояния может быть дорогостоящей. [1]

Подобные техники и различия [ править ]

Хотя тестирование на обезьянах иногда трактуется так же, как тестирование с использованием нечеткого алгоритма [4], и эти два термина обычно используются вместе, [5] некоторые полагают, что они различаются, утверждая, что тестирование на обезьянах больше касается случайных действий, в то время как тестирование с помощью нечеткого алгоритма больше касается случайного ввода данных. . [6] Обезьянье тестирование также отличается от специального тестирования тем, что специальное тестирование выполняется без планирования и документации, а цель специального тестирования состоит в том, чтобы случайным образом разделить систему на части и проверить их функциональность, что не является случай в испытании обезьяны.

См. Также [ править ]

Ссылки [ править ]

  1. ^ a b «Что такое Monkey Testing | ИТ-обучение и консультирование - Exforsys» . www.exforsys.com . Проверено 22 апреля 2016 .
  2. ^ "Folklore.org: Monkey Lives" . www.folklore.org . Проверено 22 апреля 2016 .
  3. ^ "Обезьяна UI / Application Exerciser | Разработчики Android" . developer.android.com . Проверено 25 апреля 2016 .
  4. ^ Браммайер, Роберт; Лонсинг, Флориан; Биэр, Армин (11.07.2010). Стрихман, Офер; Шейдер, Стефан (ред.). Автоматизированное тестирование и отладка решателей SAT и QBF . Конспект лекций по информатике. Springer Berlin Heidelberg. С. 44–57. CiteSeerX 10.1.1.365.777 . DOI : 10.1007 / 978-3-642-14186-7_6 . ISBN  9783642141850.
  5. ^ "Fuzz Testing в Delphi - DelphiTools" . www.delphitools.info . Проверено 22 апреля 2016 .
  6. ^ "Разница между" нечетким тестированием "и" тестом обезьяны " " . stackoverflow.com . Проверено 22 апреля 2016 .