Test oracle
कम्प्यूटिंग, सॉफ्टवेयर इंजीनियरिंग और सॉफ्टवेयर परीक्षण में, एक परीक्षण ओरेकल (या सिर्फ ओरेकल) यह निर्धारित करने के लिए एक तंत्र है कि क्या एक परीक्षण उत्तीर्ण हुआ है या विफल हुआ है। ऑरेकल के उपयोग में परीक्षण के तहत प्रणाली के आउटपुट (ओं) की तुलना, दिए गए परीक्षण-केस इनपुट के लिए, उस आउटपुट (ओं) से करना शामिल है जो ऑरेकल निर्धारित करता है कि उत्पाद होना चाहिए। "टेस्ट ऑरेकल" शब्द को पहली बार विलियम ई. हॉडेन द्वारा एक पेपर में पेश किया गया था। इलेन वेयुकर द्वारा विभिन्न प्रकार के दैवज्ञों पर अतिरिक्त काम की खोज की गई थी। ओरेकल अक्सर परीक्षण के तहत प्रणाली से अलग काम करते हैं। हालांकि, विधि के बाद की शर्तें परीक्षण के तहत प्रणाली का हिस्सा हैं, अनुबंध मॉडल द्वारा डिजाइन में स्वचालित दैवज्ञ के रूप में। किसी दिए गए इनपुट (और प्रोग्राम या सिस्टम अवस्थाओं के एक समूह) के लिए सही आउटपुट का निर्धारण ओरेकल समस्या या परीक्षण ओरेकल समस्या के रूप में जाना जाता है, जो कि एक बहुत कठिन समस्या है, और इसमें नियंत्रणीयता और अवलोकन से संबंधित समस्याओं के साथ काम करना शामिल है। श्रेणियाँ 1978 से 2012 तक के एक शोध साहित्य सर्वेक्षण में परीक्षण ऑरेकल की कई संभावित श्रेणियाँ पाई गईं। निर्दिष्ट ये दैवज्ञ आम तौर पर सॉफ्टवेयर मॉडलिंग और सॉफ्टवेयर कोड निर्माण के औपचारिक दृष्टिकोण से जुड़े होते हैं। वे औपचारिक विनिर्देशन, मॉडल-आधारित डिजाइन से जुड़े होते हैं जिसका उपयोग परीक्षण ऑरेकल उत्पन्न करने के लिए किया जा सकता है, राज्य संक्रमण विनिर्देशन जिसके लिए मॉडल-आधारित परीक्षण और प्रोटोकॉल अनुरूपता परीक्षण में सहायता के लिए ऑरेकल प्राप्त किए जा सकते हैं, और अनुबंध द्वारा डिजाइन जिसके लिए समकक्ष परीक्षण ऑरेकल एक दावा है। विनिर्दिष्ट परीक्षण ओरेकल के सामने कई समस्याएं हैं। औपचारिक विनिर्देशन अमूर्तता पर निर्भर करता है, जिसमें स्वाभाविक रूप से अशुद्धि का एक तत्व हो सकता है क्योंकि सभी मॉडल सभी व्यवहार को नहीं पकड़ सकते हैं। व्युत्पन्न एक व्युत्पन्न परीक्षण दैवज्ञ प्रणाली की कलाकृतियों से प्राप्त जानकारी का उपयोग करके सही और गलत व्यवहार को अलग करता है। इनमें प्रलेखन, प्रणाली निष्पादन परिणाम और परीक्षण के तहत प्रणाली के संस्करणों की विशेषताएँ शामिल हो सकती हैं। प्रतिगमन परीक्षण सुइट (या रिपोर्ट) एक व्युत्पन्न परीक्षण ओरेकल का एक उदाहरण है-वे इस धारणा पर बनाए गए हैं कि पिछले सिस्टम संस्करण के परिणाम का उपयोग भविष्य के सिस्टम संस्करण के लिए सहायता (ओरेकल) के रूप में किया जा सकता है। पहले मापी गई प्रदर्शन विशेषताओं का उपयोग भविष्य के प्रणाली संस्करणों के लिए एक दैवज्ञ के रूप में किया जा सकता है, उदाहरण के लिए, देखे गए संभावित प्रदर्शन क्षरण के बारे में एक प्रश्न को ट्रिगर करने के लिए। पिछले प्रणाली संस्करणों से पाठ्य प्रलेखन का उपयोग भविष्य के प्रणाली संस्करणों में अपेक्षाओं का मार्गदर्शन करने के लिए एक आधार के रूप में किया जा सकता है। एक छद्म-ऑरेकल व्युत्पन्न परीक्षण ऑरेकल की श्रेणी में आता है। एक छद्म-ऑरेकल, जैसा कि वेयुकर द्वारा परिभाषित किया गया है, एक अलग से लिखित प्रोग्राम है जो परीक्षण के तहत प्रोग्राम या सिस्टम के समान इनपुट ले सकता है ताकि उनके आउटपुट की तुलना यह समझने के लिए की जा सके कि क्या जांच करने के लिए कोई समस्या हो सकती है। एक आंशिक दैवज्ञ निर्दिष्ट परीक्षण दैवज्ञ और व्युत्पन्न परीक्षण दैवज्ञ के बीच एक संकर है। यह परीक्षण के तहत प्रणाली के महत्वपूर्ण (लेकिन पूर्ण नहीं) गुणों को निर्दिष्ट करता है। उदाहरण के लिए, कायापलट परीक्षण प्रणाली के कई निष्पादनों में ऐसे गुणों का उपयोग करता है, जिन्हें कायापलट संबंध कहा जाता है। अंतर्निहित एक अंतर्निहित परीक्षण दैवज्ञ निहित जानकारी और मान्यताओं पर निर्भर करता है। उदाहरण के लिए, प्रोग्राम क्रैश से कुछ निहित निष्कर्ष हो सकते हैं, अर्थात। अवांछित व्यवहार-यह निर्धारित करने के लिए एक दैवज्ञ कि कोई समस्या हो सकती है। अवांछित व्यवहार के लिए खोज और परीक्षण करने के कई तरीके हैं, चाहे कुछ इसे नकारात्मक परीक्षण कहें, जहां फ़ज़िंग जैसे विशेष उपसमुच्चय हैं। अंतर्निहित परीक्षण ऑरेकल में सीमाएँ हैं-क्योंकि वे निहित निष्कर्षों और धारणाओं पर भरोसा करते हैं। उदाहरण के लिए, एक कार्यक्रम या प्रक्रिया दुर्घटना एक प्राथमिकता मुद्दा नहीं हो सकता है यदि प्रणाली एक दोष-सहिष्णु प्रणाली है और इसलिए आत्म-उपचार/आत्म-प्रबंधन के रूप में काम कर रही है। अंतर्निहित परीक्षण ऑरेकल पर्यावरण निर्भरताओं के कारण गलत सकारात्मक के लिए अतिसंवेदनशील हो सकते हैं। संपत्ति आधारित परीक्षण अंतर्निहित दैवज्ञों पर निर्भर करता है। जब निर्दिष्ट, व्युत्पन्न या अंतर्निहित परीक्षण ऑरेकल का उपयोग नहीं किया जा सकता है, तो परीक्षण ऑरेकल को निर्धारित करने के लिए मानव इनपुट की आवश्यकता होती है। इन्हें मात्रात्मक और गुणात्मक दृष्टिकोण के रूप में सोचा जा सकता है। एक मात्रात्मक दृष्टिकोण का उद्देश्य एक हितधारक के लिए उपयुक्त उद्देश्य या सॉफ्टवेयर जारी करने पर निर्णय लेने में सक्षम होने के लिए परीक्षण के तहत एक प्रणाली (जैसे, परीक्षण परिणाम) पर एकत्र करने के लिए सही मात्रा में जानकारी खोजना है। एक गुणात्मक दृष्टिकोण का उद्देश्य परीक्षण के तहत प्रणाली से इनपुट परीक्षण डेटा और आउटपुट के संदर्भ की प्रतिनिधित्वशीलता और उपयुक्तता का पता लगाना है। एक उदाहरण यथार्थवादी और प्रतिनिधि परीक्षण डेटा का उपयोग करना और परिणामों को समझना है (यदि वे यथार्थवादी हैं)। इन्हें परीक्षण के तहत कार्यक्रम/प्रणाली के लिए चुने गए विशिष्ट संयोजन को तैयार करने में मदद करने के लिए शोध दृष्टिकोण, जैसे कि आंत की प्रवृत्ति, अंगूठे के नियम, चेकलिस्ट सहायक और अनुभव द्वारा निर्देशित किया जा सकता है। उदाहरण परीक्षण ऑरेकल आमतौर पर विनिर्देशों और प्रलेखन पर आधारित होते हैं। मॉडल-आधारित डिजाइन और मॉडल-आधारित परीक्षण के लिए इनपुट के रूप में उपयोग किया जाने वाला एक औपचारिक विनिर्देश एक निर्दिष्ट परीक्षण दैवज्ञ का एक उदाहरण होगा। मॉडल-आधारित दैवज्ञ प्रणाली व्यवहार उत्पन्न करने और सत्यापित करने के लिए एक ही मॉडल का उपयोग करता है। प्रलेखन जो उत्पाद का पूर्ण विनिर्देश नहीं है, जैसे कि उपयोग या स्थापना मार्गदर्शिका, या प्रदर्शन विशेषताओं का रिकॉर्ड या सॉफ्टवेयर के लिए न्यूनतम मशीन आवश्यकताएं, आमतौर पर एक व्युत्पन्न परीक्षण ऑरेकल होगा। एक सुसंगतता दैवज्ञ समानता के लिए एक परीक्षण निष्पादन के परिणामों की तुलना दूसरे से करता है। यह एक व्युत्पन्न परीक्षण दैवज्ञ का एक और उदाहरण है। एक सॉफ्टवेयर प्रोग्राम के लिए एक ओरेकल एक दूसरा प्रोग्राम हो सकता है जो परीक्षण के तहत उत्पाद के समान गणितीय अभिव्यक्ति का मूल्यांकन करने के लिए एक अलग एल्गोरिथ्म का उपयोग करता है। यह एक छद्म-ओरेकल का एक उदाहरण है, जो एक व्युत्पन्न परीक्षण ओरेकल है। गूगल सर्च के दौरान, हमारे पास यह सत्यापित करने के लिए एक पूर्ण ऑरेकल नहीं है कि क्या वापस किए गए परिणामों की संख्या सही है। हम एक रूपांतरित संबंध को इस तरह से परिभाषित कर सकते हैं कि एक अनुवर्ती संकीर्ण खोज कम परिणाम देगी। यह एक आंशिक दैवज्ञ का एक उदाहरण है, जो निर्दिष्ट परीक्षण दैवज्ञ और व्युत्पन्न परीक्षण दैवज्ञ के बीच एक संकर है। एक सांख्यिकीय दैवज्ञ संभावित विशेषताओं का उपयोग करता है, उदाहरण के लिए छवि विश्लेषण के साथ जहां परीक्षण दैवज्ञ के लिए एक मिलान या अन्यथा उच्चारण करने के लिए निश्चितता और अनिश्चितता की एक श्रृंखला को परिभाषित किया जाता है। यह मानव परीक्षण दैवज्ञ में एक मात्रात्मक दृष्टिकोण का एक उदाहरण होगा। एक हेयुरिस्टिक ओरेकल परीक्षण इनपुट के एक वर्ग पर प्रतिनिधि या अनुमानित परिणाम प्रदान करता है। यह मानव परीक्षण दैवज्ञ में एक गुणात्मक दृष्टिकोण का एक उदाहरण होगा। संदर्भ ग्रंथ सूची बाइंडर, रॉबर्ट वी. (1999)। ऑब्जेक्ट-ओरिएंटेड सिस्टमः मॉडल, पैटर्न और टूल्स, एडिसन-वेस्ले प्रोफेशनल, 7 नवंबर 1999, सॉफ्टवेयर टेस्टिंग कम्प्यूटेशन ओरेकल में "चैप्टर 18-ओरेकल"