Вибіркове/хаотичне тестування (Random/monkey testing)
У ISTQB та інших джерелах ці поняття поділяються:
Вибіркове тестування (random testing): Розробка тестів методом чорної скриньки, при якому тестові сценарії вибираються для відповідності функціональному розрізу, зазвичай, за допомогою алгоритму псевдовипадкового вибору. Цей метод може використовуватися для тестування таких нефункціональних атрибутів, як надійність та продуктивність.
Хаотичне тестування (monkey testing): Тестування випадковим вибором з великого діапазону входів, випадковим натисканням кнопок, без співвіднесення з тим, як у реальності використовуватиметься система.
В інших джерелах вони використовуються як синоніми. У будь-якому випадку, окремо по Random testing мені не вдалося знайти хорошого великого матеріалу, так що поки що залишу як є.
Monkey Testing – це метод тестування чорної скриньки, при якому тестувальник надає випадкові вхідні дані та застосовує випадкові дії у програмному додатку для перевірки поведінки системи. Це допомагає нам оцінити, чи дає система збій при отриманні таких несподіваних вхідних даних. Тут вхідними даними можуть бути дані, які вводяться в програму, або натискання кнопки для наступної дії, або натискання посилання для переходу на іншу сторінку.
У Monkey testing тестувальником (іноді і розробником) вважається "Мавпа". Якщо мавпа використовує комп'ютер, вона довільно виконуватиме будь-яке завдання в системі зі свого розуміння. Точно так, як тестувальник буде застосовувати випадкові Test case в системі, що тестується, щоб знаходити bugs/errors без попереднього визначення тестового прикладу. У деяких випадках Monkey testing також присвячений модульному тестуванню або тестуванню GUI. Основне завдання: спробувати зламати систему.
Типи Мавп:
Тупа мавпа (Dumb Monkey): тестувальники не мають уявлення про систему та її функціональні можливості, флоу, валідність введення. Утруднено відтворення помилок;
Розумна мавпа (Smart Monkey): тестувальник має чітке уявлення про систему, її призначення та функціональність. Тестувальник переміщається по системі та надає дійсні дані для виконання тестування. Все це корисно під час відтворення помилок. Також розумна мавпа більше зосереджена на спробах зламати програму, ніж на пошуку випадкових помилок.
Видатна мавпа (Brilliant Monkey): тестувальники мають глибокі знання про додаток, виконують тестування відповідно до поведінки користувача і можуть вказати деякі ймовірності виникнення помилок у майбутньому;
Gorilla testing проводиться відповідно до методу ручного тестування, при якому тестувальник багаторазово тестує модуль, щоб перевірити його надійність. Тут розробник та тестувальник об'єднуються, щоб протестувати конкретний модуль у всіх аспектах. При тестуванні Gorilla кожен модуль програми береться по одному, і для перевірки цих модулів вводиться діапазон допустимих та неприпустимих вхідних даних. Ці вхідні значення беруться випадковим чином. Тестування Gorilla спрямоване вивчення можливостей окремих модулів. При тестуванні Gorilla кожен другорядний код програми перевіряється доти, доки він не почне розвалюватися або не дасть очікуваних результатів.
Оскільки Gorilla testing фокусується на тестуванні окремих модулів, воно може виявляти помилки на ранній стадії, тим самим знижуючи витрати при високому покритті;
Gorilla testing гарантує, що навіть заблудший користувач не зіткнеться з будь-якими збоями;
Gorilla testing допомагає команді зрозуміти рівень толерантності системи.
Monkey Testing
Gorilla Testing
Не використовує жодних тестових прикладів для тестування програми, це просто випадкові вхідні дані
Гарантує, що модуль не має проблем, виконуючи повторювані завдання зі вставки випадкових вхідних даних у модуль
Синонім Random testing
Також відомо як тестування, що повторюється, або Тестування на тортури або Тестування на відмовостійкість (repetitive testing or Torture Testing or Fault Tolerance Testing)
Перевіряє виконання всієї програми, використовуючи випадкові вхідні дані, щоб гарантувати, що система не вийде з ладу через несподівані значення
прагне ретельно протестувати окремий модуль
Може бути виконано будь-яким стейкхолдером проекту
Для проведення тестування gorilla потрібен розробник або тестувальник із гарним знанням програми
Фокусується на збої (crashing) всієї системи через випадкове введення
фокусується на тестуванні функціональності конкретного модуля
Monkey Testing
Ad-hoc Testing
Фокусується на ломанні програми випадковим уведенням
Фокусується на пошуку помилок, які не були виявлені існуючими кейсами
Помилки виявляються з урахуванням випадкових вхідних значень
Помилки виявляються на основі недосліджених областей програми
Тестувальники не знають програму, вони тестують програму, випадковим чином клацаючи або вводячи дані, щоб перевірити, чи не призводить це до помилки
Тестувальник повинен добре розумітися на додатку і розуміти його функції.
Від тестувальника не потрібно бути експертом у цій галузі або мати будь-які глибокі знання про програму.
Тестувальник буде знати точний робочий процес програми разом із знанням предметної області
Може бути виконано будь-яким стейкхолдером
Зазвичай виконується тестувальником, який знає програму
Якщо ми говоримо про ручне тестування, він може бути менш ефективним, ніж інші методи чорної скриньки. Але якщо ми додамо тули автоматизації, вона стане потужним інструментом. Просто уявіть, що кейси з різними наборами вхідних даних генеруються, виконуються та оцінюються автоматично у безперервному циклі, що дозволяє вам запускати тисячі та мільйони кейсів протягом розумного часу.
Last updated