Кіріспе
Пайдаланушы қолданбаны немесе жүйені кездейсоқ деректер енгізу арқылы сынап көретін техника. Бағдарламалық қамтамасыз етуді сынау әдістемесі. Бағдарламалық қамтамасыз етуді сынауда, "маймыл сынағы" – пайдаланушы қолданбаны немесе жүйені кездейсоқ деректермен сынап, оның әрекетін бағалайтын немесе қолданбаның немесе жүйенің істен шығуына себеп болатынын анықтайтын әдіс. Маймыл сынағы көбінесе кездейсоқ, автоматтандырылған модульдік тесттер түрінде жүзеге асырылады. "Маймыл" атауының шығу тегі нақты белгісіз, бірақ кейбір мамандар бұл атау шексіз маймыл теоремасымен байланысты деп санайды. Бұл теорема бойынша, шексіз уақыт бойы пернетақтада кездейсоқ пернелерді басатын маймыл, әлдебір белгілі мәтінді, мысалы, Уильям Шекспирдің барлық туындыларын теруі мүмкін. Тағы бір болжам бойынша, бұл атау 1983 жылға дейін Стив Каппс жасаған классикалық Mac OS жүйесіндегі "The Monkey" атты қолданбадан алынған. Ол Mac бағдарламаларына кездейсоқ оқиғаларды жіберу үшін журналдық тіркемелерді пайдаланды және MacPaint бағдарламасындағы қателерді анықтауға көмектесті. Маймыл сынағы Android Studio-ға да стресс-тестілеудің стандартты құралдарының бір бөлігі ретінде қосылған.
the software testing methodology
In software testing, monkey testing is a technique where the user tests the application or system by providing random inputs and checking the behavior, or seeing whether the application or system will crash. Monkey testing is usually implemented as random, automated unit tests. While the source of the name "monkey" is uncertain, it is believed by some that the name has to do with the infinite monkey theorem, which states that a monkey hitting keys at random on a typewriter keyboard for an infinite amount of time will almost surely type a given text, such as the complete works of William Shakespeare. Some others believe that the name comes from the classic Mac OS application "The Monkey" developed by Steve Capps prior to 1983. It used journaling hooks to feed random events into Mac programs, and was used to test for bugs in MacPaint. Monkey Testing is also included in Android Studio as part of the standard testing tools for stress testing.
Маймылдарды сынап-тексеру түрлері
Маймылдарды сынақтан өткізуді «ақылды маймыл» сынағы немесе «ақымақ маймыл» сынағы деп жіктеуге болады.
Артықшылықтар
Маймыл сынағы – кейбір күтпеген қателерді анықтаудың тиімді тәсілі. Сынақтан өткізілетін сценарийлер көбінесе спонтанды болғандықтан, маймыл сынағы жүктеме және стресс-тестілеуді жүргізудің де жақсы жолы болуы мүмкін. Маймыл сынағының ішкі кездейсоқтығы бүкіл жүйені құлатуға әкелетін маңызды қателерді табуға да мүмкіндік береді. Маймыл сынағын орнату оңай, демек, кез келген қосымшаға қолайлы. Егер нақты күй моделімен дұрыс орнатылса, «ақылды маймылдар» түрлі ақауларды табуда өте тиімді болуы мүмкін.
Кемшіліктер
Маймыл тәсілімен сынақ жүргізудің кездейсоқтығы жиі табылған қателерді қайта табуды қиын немесе мүмкін емес етеді. Маймыл тәсілімен сынақ кезінде табылған күтпеген қателерді талдау да қиын және көп уақытты талап етеді. Кейбір жүйелерде маймыл тәсілімен сынақ жүргізу қателерді табу үшін ұзаққа созылуы мүмкін. "Ақылды маймыл" үшін мүмкіндік берілген күй моделіне байланысты, ал жақсы күй моделін жасау қымбатқа түсуі мүмкін. Екі термин көбінесе бірге қолданылса да, кейбіреулер маймыл тәсілімен сынақ – кездейсоқ әрекеттерге, ал fuzz testing – кездейсоқ деректерді енгізуге қатысты деп санайды, осылайша оларды ерекшелендіреді. Маймыл тәсілімен сынақ, ad hoc сынақтан да өзгеше, себебі ad hoc сынақ жоспарлау мен құжаттамасыз жүргізіледі және оның мақсаты – жүйені кездейсоқ кіші бөліктерге бөліп, олардың жұмыс істеуін тексеру, ал маймыл тәсілімен сынақта мұндай болмайды.