Monkey testing
सॉफ्टवेयर परीक्षण में, मंकी परीक्षण एक ऐसी तकनीक है जहाँ उपयोगकर्ता यादृच्छिक इनपुट प्रदान करके और व्यवहार की जाँच करके, या यह देखकर कि क्या अनुप्रयोग या प्रणाली दुर्घटनाग्रस्त हो जाएगी, अनुप्रयोग या प्रणाली का परीक्षण करता है। बंदर परीक्षण आमतौर पर यादृच्छिक, स्वचालित इकाई परीक्षणों के रूप में लागू किया जाता है। जबकि "मंकी" नाम का स्रोत अनिश्चित है, कुछ लोगों का मानना है कि यह नाम अनंत मंकी प्रमेय से संबंधित है, जिसमें कहा गया है कि एक बंदर जो एक टाइपराइटर कीबोर्ड पर यादृच्छिक रूप से अनंत समय के लिए कुंजी मारता है, वह लगभग निश्चित रूप से एक दिए गए पाठ को टाइप करेगा, जैसे कि विलियम शेक्सपियर की पूरी कृतियाँ। कुछ अन्य लोगों का मानना है कि यह नाम 1983 से पहले स्टीव कैप्स द्वारा विकसित क्लासिक मैक ओएस एप्लिकेशन "द मंकी" से आया है। यह मैक कार्यक्रमों में यादृच्छिक घटनाओं को फीड करने के लिए जर्नलिंग हुक का उपयोग करता था, और मैकपेंट में बग के लिए परीक्षण करने के लिए उपयोग किया जाता था। मंकी टेस्टिंग को एंड्रॉइड स्टूडियो में तनाव परीक्षण के लिए मानक परीक्षण उपकरणों के हिस्से के रूप में भी शामिल किया गया है। बंदर परीक्षण के प्रकार बंदर परीक्षण को स्मार्ट बंदर परीक्षण या मूक बंदर परीक्षण में वर्गीकृत किया जा सकता है। स्मार्ट बंदर परीक्षण आमतौर पर निम्नलिखित विशेषताओं द्वारा पहचाने जाते हैंः एप्लिकेशन या सिस्टम के बारे में एक संक्षिप्त विचार रखें, इसका अपना स्थान जानें, यह कहाँ जा सकता है और यह कहाँ गया है, इसकी अपनी क्षमता और सिस्टम की क्षमता जानें सिस्टम को तोड़ने के लिए ध्यान केंद्रित करें बग की रिपोर्ट करें उन्हें कुछ स्मार्ट बंदरों को ब्रिलियंट बंदर भी कहा जाता है, जो उपयोगकर्ता के व्यवहार के अनुसार परीक्षण करते हैं और कुछ बग की संभावना का अनुमान लगा सकते हैं। मूक बंदर परीक्षण, जिन्हें "अज्ञानी बंदर" के रूप में भी जाना जाता है, आमतौर पर निम्नलिखित विशेषताओं से पहचाने जाते हैंः अनुप्रयोग या प्रणाली के बारे में कोई जानकारी नहीं है पता नहीं है कि उनका इनपुट या व्यवहार वैध है या अमान्य है उनकी या प्रणाली की क्षमताओं को नहीं जानते हैं, न ही अनुप्रयोग का प्रवाह स्मार्ट बंदरों की तुलना में कम बग ढूंढ सकता है, लेकिन महत्वपूर्ण बग भी ढूंढ सकता है जिन्हें स्मार्ट बंदरों द्वारा पकड़ना मुश्किल है। चूँकि परीक्षण किए गए परिदृश्य आमतौर पर तदर्थ होते हैं, बंदर परीक्षण भी भार और तनाव परीक्षण करने का एक अच्छा तरीका हो सकता है। बंदर परीक्षण की आंतरिक यादृच्छिकता भी इसे प्रमुख बगों को खोजने का एक अच्छा तरीका बनाती है जो पूरी प्रणाली को तोड़ सकते हैं। बंदर परीक्षण का सेटअप आसान है, इसलिए किसी भी अनुप्रयोग के लिए अच्छा है। स्मार्ट बंदर, यदि एक सटीक राज्य मॉडल के साथ ठीक से स्थापित किए जाते हैं, तो विभिन्न प्रकार के कीड़े खोजने में वास्तव में अच्छे हो सकते हैं। नुकसान बंदर परीक्षण की यादृच्छिकता अक्सर कीड़े को पुनः उत्पन्न करना मुश्किल या असंभव बना देती है। बंदर परीक्षण द्वारा पाए गए अप्रत्याशित कीड़े भी चुनौतीपूर्ण हो सकते हैं और उनका विश्लेषण करने में समय लग सकता है। कुछ प्रणालियों में, बंदर परीक्षण एक बग खोजने से पहले लंबे समय तक चल सकता है। चतुर बंदरों के लिए, क्षमता प्रदान किए गए राज्य मॉडल पर अत्यधिक निर्भर करती है, और एक अच्छा राज्य मॉडल विकसित करना महंगा हो सकता है। समान तकनीक और भेद जबकि बंदर परीक्षण को कभी-कभी फ़ज़ परीक्षण के समान माना जाता है और दोनों शब्दों का आमतौर पर एक साथ उपयोग किया जाता है, कुछ का मानना है कि वे यह तर्क देकर अलग हैं कि बंदर परीक्षण यादृच्छिक कार्यों के बारे में अधिक है जबकि फ़ज़ परीक्षण यादृच्छिक डेटा इनपुट के बारे में अधिक है। बंदर परीक्षण भी तदर्थ परीक्षण से अलग है जिसमें तदर्थ परीक्षण बिना योजना और प्रलेखन के किया जाता है और तदर्थ परीक्षण का उद्देश्य प्रणाली को यादृच्छिक रूप से उपभागों में विभाजित करना और उनकी कार्यक्षमता की जांच करना है, जो बंदर परीक्षण में नहीं है। यादृच्छिक परीक्षण संदर्भ सॉफ्टवेयर परीक्षण भी देखें।