Test oracle
کمپیوٹنگ، سافٹ ویئر انجینئرنگ، اور سافٹ ویئر ٹیسٹنگ میں، ٹیسٹ اوریکل (یا صرف اوریکل) اس بات کا تعین کرنے کا ایک طریقہ کار ہے کہ آیا کوئی ٹیسٹ پاس ہوا ہے یا ناکام ہوا ہے۔ اوریکلز کے استعمال میں ٹیسٹ کے تحت سسٹم کے آؤٹ پٹ کا موازنہ، دیئے گئے ٹیسٹ کیس ان پٹ کے لیے، آؤٹ پٹ (آؤٹ پٹ) سے کرنا شامل ہے جو اوریکل طے کرتا ہے کہ پروڈکٹ ہونا چاہیے۔ "ٹیسٹ اوریکل" کی اصطلاح سب سے پہلے ولیم ای ہاؤڈن نے ایک مقالے میں متعارف کرائی تھی۔ ایلین ویوکر نے مختلف قسم کے اوریکلز پر اضافی کام کی کھوج کی۔ اوریکلز اکثر زیر جانچ نظام سے الگ کام کرتے ہیں۔ تاہم، طریقہ پوسٹ کنڈیشنز ٹیسٹ کے تحت سسٹم کا حصہ ہیں، جیسا کہ کنٹریکٹ ماڈلز کے ذریعہ ڈیزائن میں خودکار اوریکلز۔ کسی دیئے گئے ان پٹ (اور پروگرام یا سسٹم اسٹیٹس کے ایک سیٹ) کے لیے صحیح آؤٹ پٹ کا تعین کرنا اوریکل مسئلہ یا ٹیسٹ اوریکل مسئلہ کے نام سے جانا جاتا ہے، جو کہ لگتا ہے اس سے کہیں زیادہ مشکل مسئلہ ہے، اور اس میں قابو پانے اور مشاہدے سے متعلق مسائل کے ساتھ کام کرنا شامل ہے۔ زمرہ جات 1978 سے 2012 تک کے تحقیقی ادب کے سروے میں ٹیسٹ اوریکلز کے کئی ممکنہ زمرے پائے گئے۔ مخصوص یہ اوریکلز عام طور پر سافٹ ویئر ماڈلنگ اور سافٹ ویئر کوڈ کی تعمیر کے باضابطہ طریقوں سے وابستہ ہیں۔ وہ رسمی تفصیلات سے جڑے ہوئے ہیں، ماڈل پر مبنی ڈیزائن جو ٹیسٹ اوریکلز تیار کرنے کے لیے استعمال کیا جا سکتا ہے، ریاستی منتقلی کی تفصیلات جس کے لیے اوریکلز کو ماڈل پر مبنی جانچ اور پروٹوکول مطابقت کی جانچ میں مدد کے لیے اخذ کیا جا سکتا ہے، اور معاہدہ کے ذریعے ڈیزائن جس کے لیے مساوی ٹیسٹ اوریکل ایک دعوی ہے۔ مخصوص ٹیسٹ اوریکلز میں کئی چیلنجز ہوتے ہیں۔ رسمی تفصیلات تجریدی پر انحصار کرتی ہیں، جس کے نتیجے میں قدرتی طور پر بے ضابطگی کا عنصر ہو سکتا ہے کیونکہ تمام ماڈل تمام رویے کو نہیں پکڑ سکتے ہیں۔ ماخوذ ایک ماخوذ ٹیسٹ اوریکل نظام کے نمونوں سے حاصل کردہ معلومات کا استعمال کرکے درست اور غلط رویے میں فرق کرتا ہے۔ ان میں دستاویزات، نظام پر عمل درآمد کے نتائج اور زیر جانچ نظام کے ورژن کی خصوصیات شامل ہو سکتی ہیں۔ ریگریشن ٹیسٹ سوئٹ (یا رپورٹیں) ماخوذ ٹیسٹ اوریکل کی ایک مثال ہیں-وہ اس مفروضے پر بنائے گئے ہیں کہ پچھلے سسٹم ورژن کا نتیجہ مستقبل کے سسٹم ورژن کے لیے ایڈ (اوریکل) کے طور پر استعمال کیا جا سکتا ہے۔ پہلے ناپی گئی کارکردگی کی خصوصیات کو مستقبل کے سسٹم ورژن کے لیے اوریکل کے طور پر استعمال کیا جا سکتا ہے، مثال کے طور پر، مشاہدہ شدہ ممکنہ کارکردگی کے انحطاط کے بارے میں سوال کو متحرک کرنے کے لیے۔ پچھلے سسٹم ورژن سے ٹیکسٹ دستاویزات کو مستقبل کے سسٹم ورژن میں توقعات کی رہنمائی کے لیے ایک بنیاد کے طور پر استعمال کیا جا سکتا ہے۔ ایک فرضی اوریکل ماخوذ ٹیسٹ اوریکل کے زمرے میں آتا ہے۔ سیوڈو اوریکل، جیسا کہ ویوکر نے بیان کیا ہے، ایک علیحدہ تحریری پروگرام ہے جو ٹیسٹ کے تحت پروگرام یا سسٹم کی طرح ہی ان پٹ لے سکتا ہے تاکہ ان کے آؤٹ پٹ کا موازنہ یہ سمجھنے کے لیے کیا جا سکے کہ آیا تفتیش کرنے میں کوئی مسئلہ ہو سکتا ہے۔ جزوی اوریکل مخصوص ٹیسٹ اوریکل اور ماخوذ ٹیسٹ اوریکل کے درمیان ایک ہائبرڈ ہے۔ یہ جانچ کے تحت نظام کی اہم (لیکن مکمل نہیں) خصوصیات کی وضاحت کرتا ہے۔ مثال کے طور پر، میٹامورفک ٹیسٹنگ اس طرح کی خصوصیات کا استحصال کرتی ہے، جسے میٹامورفک ریلیشنز کہا جاتا ہے، نظام کی متعدد کارروائیوں میں۔ ایک مضمر ٹیسٹ اوریکل مضمر معلومات اور مفروضوں پر انحصار کرتا ہے۔ مثال کے طور پر، پروگرام کریش سے کچھ مضمر نتیجہ نکل سکتا ہے، یعنی۔ ناپسندیدہ طرز عمل-اس بات کا تعین کرنے کے لیے کہ کوئی مسئلہ ہو سکتا ہے ایک اوریکل۔ ناپسندیدہ رویے کو تلاش کرنے اور جانچنے کے کئی طریقے ہیں، چاہے کچھ لوگ اسے منفی جانچ کہیں، جہاں فجنگ جیسے خصوصی ذیلی سیٹ موجود ہیں۔ مضمر ٹیسٹ اوریکلز میں حدود ہیں-کیونکہ وہ مضمر نتائج اور مفروضوں پر انحصار کرتے ہیں۔ مثال کے طور پر، کوئی پروگرام یا عمل کریش ترجیحی مسئلہ نہیں ہو سکتا اگر نظام غلطی برداشت کرنے والا نظام ہے اور اس طرح خود شفا یابی/خود انتظام کی شکل میں کام کر رہا ہے۔ ماحولیاتی انحصار کی وجہ سے مضمر ٹیسٹ اوریکلز غلط مثبت ہونے کا شکار ہو سکتے ہیں۔ جائیداد پر مبنی جانچ مضمر اوریکلز پر منحصر ہے۔ انسان جب مخصوص، اخذ شدہ یا مضمر ٹیسٹ اوریکلز کا استعمال نہیں کیا جا سکتا، تو ٹیسٹ اوریکلز کا تعین کرنے کے لیے انسانی ان پٹ کی ضرورت ہوتی ہے۔ ان کو مقداری اور معیاری نقطہ نظر کے طور پر سمجھا جا سکتا ہے۔ مقداری نقطہ نظر کا مقصد اسٹیک ہولڈر کے لیے فٹ فار پرپز یا سافٹ ویئر کی ریلیز کے بارے میں فیصلے کرنے کے قابل ہونے کے لیے ٹیسٹ کے تحت سسٹم (مثال کے طور پر ٹیسٹ کے نتائج) پر جمع کرنے کے لیے صحیح مقدار میں معلومات تلاش کرنا ہے۔ کوالٹیٹو اپروچ کا مقصد ان پٹ ٹیسٹ ڈیٹا کی نمائندگی اور مناسبیت اور ٹیسٹ کے تحت سسٹم سے آؤٹ پٹ کے سیاق و سباق کو تلاش کرنا ہے۔ ایک مثال حقیقت پسندانہ اور نمائندہ ٹیسٹ ڈیٹا کا استعمال کرنا اور نتائج کو سمجھنا ہے (اگر وہ حقیقت پسندانہ ہیں)۔ جانچ کے تحت پروگرام/نظام کے لیے منتخب کردہ مخصوص امتزاج کو موزوں بنانے میں مدد کے لیے ان کی رہنمائی تحقیقی طریقوں سے کی جا سکتی ہے، جیسے کہ آنت کی جبلتیں، انگوٹھے کے اصول، چیک لسٹ ایڈز، اور تجربہ۔ مثال ٹیسٹ اوریکلز عام طور پر وضاحتیں اور دستاویزات پر مبنی ہوتے ہیں۔ ماڈل پر مبنی ڈیزائن اور ماڈل پر مبنی جانچ کے لیے ان پٹ کے طور پر استعمال ہونے والی ایک رسمی وضاحت ایک مخصوص ٹیسٹ اوریکل کی مثال ہوگی۔ ماڈل پر مبنی اوریکل نظام کے رویے کو پیدا کرنے اور تصدیق کرنے کے لیے ایک ہی ماڈل کا استعمال کرتا ہے۔ دستاویزات جو پروڈکٹ کی مکمل وضاحت نہیں ہے، جیسے کہ استعمال یا انسٹالیشن گائیڈ، یا کارکردگی کی خصوصیات کا ریکارڈ یا سافٹ ویئر کے لیے کم سے کم مشین کی ضروریات، عام طور پر ایک اخذ شدہ ٹیسٹ اوریکل ہوگی۔ ایک مستقل مزاجی اوریکل مماثلت کے لیے ایک ٹیسٹ پر عمل درآمد کے نتائج کا موازنہ دوسرے سے کرتا ہے۔ یہ ماخوذ ٹیسٹ اوریکل کی ایک اور مثال ہے۔ سافٹ ویئر پروگرام کے لیے اوریکل ایک دوسرا پروگرام ہو سکتا ہے جو ٹیسٹ کے تحت پروڈکٹ کے طور پر اسی ریاضیاتی اظہار کا اندازہ کرنے کے لیے ایک مختلف الگورتھم کا استعمال کرتا ہے۔ یہ ایک فرضی اوریکل کی مثال ہے، جو ایک ماخوذ ٹیسٹ اوریکل ہے۔ گوگل سرچ کے دوران، ہمارے پاس یہ تصدیق کرنے کے لیے مکمل اوریکل نہیں ہے کہ آیا واپس کیے گئے نتائج کی تعداد درست ہے یا نہیں۔ ہم ایک میٹامورفک تعلق کی وضاحت اس طرح کر سکتے ہیں کہ ایک فالو اپ تنگ تلاش کم نتائج پیدا کرے گی۔ یہ جزوی اوریکل کی ایک مثال ہے، جو مخصوص ٹیسٹ اوریکل اور مشتق ٹیسٹ اوریکل کے درمیان ایک ہائبرڈ ہے۔ ایک شماریاتی اوریکل ممکنہ خصوصیات کا استعمال کرتا ہے، مثال کے طور پر تصویری تجزیہ کے ساتھ جہاں ٹیسٹ اوریکل کے لیے میچ یا دوسری صورت میں تلفظ کرنے کے لیے یقین اور غیر یقینی کی حد کی وضاحت کی جاتی ہے۔ یہ انسانی ٹیسٹ اوریکل میں مقداری نقطہ نظر کی ایک مثال ہوگی۔ ایک ہیورسٹک اوریکل ٹیسٹ ان پٹ کی ایک کلاس پر نمائندہ یا تخمینہ نتائج فراہم کرتا ہے۔ یہ انسانی ٹیسٹ اوریکل میں کوالٹیٹو اپروچ کی ایک مثال ہوگی۔ حوالہ جات کتابچہ بائنڈر، رابرٹ وی۔ (1999)۔ "چیپٹر 18-اوریکلز" ان ٹیسٹنگ آبجیکٹ اورینٹڈ سسٹمز: ماڈلز، پیٹرنز، اینڈ ٹولز، ایڈیسن ویسلے پروفیشنل، 7 نومبر 1999، سافٹ ویئر ٹیسٹنگ کمپیوٹیشن اوریکلز