Обезьянье тестирование - Monkey testing

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

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

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

Виды обезьяньего тестирования

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

Умные обезьяны тесты

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

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

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

Тесты на тупых обезьянах

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

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

Преимущества и недостатки

Преимущества

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

Недостатки

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

Подобные техники и различия

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

Смотрите также

Рекомендации

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