Test oracle
কম্পিউটিং, সফ্টওয়্যার ইঞ্জিনিয়ারিং এবং সফ্টওয়্যার পরীক্ষায়, একটি পরীক্ষা ওরাকল (বা কেবল ওরাকল) একটি পরীক্ষা উত্তীর্ণ হয়েছে বা ব্যর্থ হয়েছে কিনা তা নির্ধারণের জন্য একটি প্রক্রিয়া। ওরাকলগুলির ব্যবহারে পরীক্ষার অধীনে সিস্টেমের আউটপুট (গুলি) তুলনা করা হয়, একটি প্রদত্ত টেস্ট-কেস ইনপুটের জন্য, আউটপুট (গুলি) যা ওরাকল নির্ধারণ করে যে পণ্যটি থাকা উচিত। "টেস্ট ওরাকল" শব্দটি প্রথম উইলিয়াম ই. হাউডেন একটি গবেষণাপত্রে প্রবর্তন করেছিলেন। ইলেন ওয়েউকার বিভিন্ন ধরনের ওরাকল নিয়ে অতিরিক্ত কাজ করেছেন। ওরাকলগুলি প্রায়শই পরীক্ষার অধীনে থাকা সিস্টেম থেকে আলাদাভাবে কাজ করে। যাইহোক, পদ্ধতি পোস্টকন্ডিশনগুলি পরীক্ষার অধীনে সিস্টেমের অংশ, চুক্তি মডেল দ্বারা নকশায় স্বয়ংক্রিয় ওরাকল হিসাবে। প্রদত্ত ইনপুটের জন্য সঠিক আউটপুট নির্ধারণ করা (এবং প্রোগ্রাম বা সিস্টেম অবস্থার একটি সেট) ওরাকল সমস্যা বা টেস্ট ওরাকল সমস্যা হিসাবে পরিচিত, যা মনে হয় তার চেয়ে অনেক কঠিন সমস্যা, এবং নিয়ন্ত্রণযোগ্যতা এবং পর্যবেক্ষণযোগ্যতা সম্পর্কিত সমস্যাগুলির সাথে কাজ করা জড়িত। বিভাগ 1978 থেকে 2012 সাল পর্যন্ত একটি গবেষণা সাহিত্য সমীক্ষায় পরীক্ষার ওরাকলগুলির বেশ কয়েকটি সম্ভাব্য বিভাগ পাওয়া গেছে। নির্দিষ্ট এই ওরাকলগুলি সাধারণত সফ্টওয়্যার মডেলিং এবং সফ্টওয়্যার কোড নির্মাণের আনুষ্ঠানিক পদ্ধতির সাথে যুক্ত। এগুলি আনুষ্ঠানিক নির্দিষ্টকরণের সঙ্গে যুক্ত, মডেল-ভিত্তিক নকশা যা পরীক্ষার ওরাকল তৈরি করতে ব্যবহার করা যেতে পারে, স্টেট ট্রানজিশন নির্দিষ্টকরণ যার জন্য মডেল-ভিত্তিক পরীক্ষা এবং প্রোটোকল সঙ্গতিপূর্ণ পরীক্ষায় সহায়তা করার জন্য ওরাকলগুলি উদ্ভূত করা যেতে পারে এবং চুক্তি দ্বারা নকশা যার জন্য সমতুল্য পরীক্ষার ওরাকল একটি দাবি। নির্দিষ্ট টেস্ট ওরাকলগুলির বেশ কয়েকটি চ্যালেঞ্জ রয়েছে। আনুষ্ঠানিক নির্দিষ্টকরণ বিমূর্ততার উপর নির্ভর করে, যার ফলে স্বাভাবিকভাবেই অস্পষ্টতার একটি উপাদান থাকতে পারে কারণ সমস্ত মডেল সমস্ত আচরণ ধারণ করতে পারে না। একটি উদ্ভূত পরীক্ষার ওরাকল সিস্টেমের শিল্পকর্ম থেকে প্রাপ্ত তথ্য ব্যবহার করে সঠিক এবং ভুল আচরণকে আলাদা করে। এর মধ্যে ডকুমেন্টেশন, সিস্টেম এক্সিকিউশনের ফলাফল এবং পরীক্ষার অধীনে থাকা সিস্টেমের সংস্করণগুলির বৈশিষ্ট্য অন্তর্ভুক্ত থাকতে পারে। রিগ্রেশন টেস্ট স্যুট (বা রিপোর্ট) একটি উদ্ভূত টেস্ট ওরাকলের একটি উদাহরণ-এগুলি এই ধারণার উপর নির্মিত যে পূর্ববর্তী সিস্টেম সংস্করণের ফলাফল ভবিষ্যতের সিস্টেম সংস্করণের জন্য সহায়তা (ওরাকল) হিসাবে ব্যবহার করা যেতে পারে। পূর্বে পরিমাপ করা কর্মক্ষমতা বৈশিষ্ট্যগুলি ভবিষ্যতের সিস্টেম সংস্করণগুলির জন্য একটি ওরাকল হিসাবে ব্যবহার করা যেতে পারে, উদাহরণস্বরূপ, পর্যবেক্ষিত সম্ভাব্য কর্মক্ষমতা অবক্ষয় সম্পর্কে একটি প্রশ্ন ট্রিগার করতে। পূর্ববর্তী সিস্টেম সংস্করণ থেকে পাঠ্য ডকুমেন্টেশন ভবিষ্যতের সিস্টেম সংস্করণগুলিতে প্রত্যাশাগুলিকে গাইড করার জন্য একটি ভিত্তি হিসাবে ব্যবহার করা যেতে পারে। একটি ছদ্ম-ওরাকল উদ্ভূত পরীক্ষা ওরাকলের বিভাগে পড়ে। একটি সিউডো-ওরাকল, যা ওয়েইকার দ্বারা সংজ্ঞায়িত করা হয়েছে, একটি পৃথক লিখিত প্রোগ্রাম যা পরীক্ষার অধীনে থাকা প্রোগ্রাম বা সিস্টেমের মতো একই ইনপুট নিতে পারে যাতে তাদের আউটপুটগুলি তুলনা করে বোঝা যায় যে তদন্ত করার জন্য কোনও সমস্যা হতে পারে কিনা। একটি আংশিক ওরাকল হল নির্দিষ্ট পরীক্ষা ওরাকল এবং উদ্ভূত পরীক্ষা ওরাকলের মধ্যে একটি সংকর। এটি পরীক্ষার অধীনে সিস্টেমের গুরুত্বপূর্ণ (কিন্তু সম্পূর্ণ নয়) বৈশিষ্ট্যগুলি নির্দিষ্ট করে। উদাহরণস্বরূপ, রূপান্তরিত পরীক্ষা এই ধরনের বৈশিষ্ট্যগুলি কাজে লাগায়, যাকে রূপান্তরিত সম্পর্ক বলা হয়, সিস্টেমের একাধিক এক্সিকিউশন জুড়ে। অন্তর্নিহিত একটি অন্তর্নিহিত পরীক্ষার ওরাকল অন্তর্নিহিত তথ্য এবং অনুমানের উপর নির্ভর করে। উদাহরণস্বরূপ, একটি প্রোগ্রাম ক্র্যাশ থেকে কিছু অন্তর্নিহিত উপসংহার হতে পারে, অর্থাৎ। অবাঞ্ছিত আচরণ-একটি সমস্যা হতে পারে তা নির্ধারণ করার জন্য একটি ওরাকল। অবাঞ্ছিত আচরণ অনুসন্ধান এবং পরীক্ষা করার বেশ কয়েকটি উপায় রয়েছে, কেউ কেউ এটিকে নেতিবাচক পরীক্ষা বলে, যেখানে ফজিংয়ের মতো বিশেষ উপসেট রয়েছে। অন্তর্নিহিত পরীক্ষার ওরাকলগুলিতে সীমাবদ্ধতা রয়েছে-কারণ তারা অন্তর্নিহিত সিদ্ধান্ত এবং অনুমানের উপর নির্ভর করে। উদাহরণস্বরূপ, একটি প্রোগ্রাম বা প্রসেস ক্র্যাশ একটি অগ্রাধিকার সমস্যা নাও হতে পারে যদি সিস্টেমটি একটি ত্রুটি-সহনশীল সিস্টেম হয় এবং তাই স্ব-নিরাময়/স্ব-পরিচালনার একটি ফর্মের অধীনে কাজ করে। পরিবেশগত নির্ভরতার কারণে অন্তর্নিহিত পরীক্ষার ওরাকলগুলি মিথ্যা পজিটিভের জন্য সংবেদনশীল হতে পারে। সম্পত্তি ভিত্তিক পরীক্ষা অন্তর্নিহিত ওরাকলের উপর নির্ভর করে। মানব যখন নির্দিষ্ট, উদ্ভূত বা অন্তর্নিহিত পরীক্ষার ওরাকল ব্যবহার করা যায় না, তখন পরীক্ষার ওরাকল নির্ধারণের জন্য মানুষের ইনপুট প্রয়োজন হয়। এগুলিকে পরিমাণগত এবং গুণগত পন্থা হিসাবে বিবেচনা করা যেতে পারে। একটি পরিমাণগত পদ্ধতির লক্ষ্য হল পরীক্ষার অধীনে একটি সিস্টেমে (যেমন, পরীক্ষার ফলাফল) সঠিক পরিমাণে তথ্য সংগ্রহ করা যাতে কোনও অংশীদার উদ্দেশ্যের জন্য উপযুক্ত বা সফ্টওয়্যার প্রকাশের বিষয়ে সিদ্ধান্ত নিতে সক্ষম হয়। একটি গুণগত পদ্ধতির লক্ষ্য হল ইনপুট পরীক্ষার তথ্যের প্রতিনিধিত্ব এবং উপযুক্ততা এবং পরীক্ষার অধীনে থাকা সিস্টেম থেকে আউটপুটের প্রসঙ্গ খুঁজে বের করা। একটি উদাহরণ হল বাস্তবসম্মত এবং প্রতিনিধিত্বমূলক পরীক্ষার তথ্য ব্যবহার করা এবং ফলাফলগুলি বোঝা (যদি সেগুলি বাস্তবসম্মত হয়)। এগুলি অনুসন্ধানমূলক পদ্ধতির দ্বারা পরিচালিত হতে পারে, যেমন অন্তর্নিহিত প্রবৃত্তি, থাম্বের নিয়ম, চেকলিস্ট সহায়ক এবং পরীক্ষার অধীনে প্রোগ্রাম/সিস্টেমের জন্য নির্বাচিত নির্দিষ্ট সংমিশ্রণটি তৈরি করতে সহায়তা করার জন্য অভিজ্ঞতা। উদাহরণস্বরূপ, পরীক্ষার ওরাকলগুলি সাধারণত নির্দিষ্টকরণ এবং নথির উপর ভিত্তি করে তৈরি করা হয়। মডেল-ভিত্তিক নকশা এবং মডেল-ভিত্তিক পরীক্ষার ইনপুট হিসাবে ব্যবহৃত একটি আনুষ্ঠানিক নির্দিষ্টকরণ একটি নির্দিষ্ট পরীক্ষার ওরাকলের উদাহরণ হবে। মডেল-ভিত্তিক ওরাকল সিস্টেমের আচরণ তৈরি এবং যাচাই করতে একই মডেল ব্যবহার করে। ডকুমেন্টেশন যা পণ্যের সম্পূর্ণ নির্দিষ্টকরণ নয়, যেমন ব্যবহার বা ইনস্টলেশন গাইড, বা কর্মক্ষমতা বৈশিষ্ট্যের রেকর্ড বা সফ্টওয়্যারের জন্য ন্যূনতম মেশিনের প্রয়োজনীয়তা, সাধারণত একটি প্রাপ্ত পরীক্ষার ওরাকল হবে। একটি ধারাবাহিকতা ওরাকল সাদৃশ্যের জন্য একটি পরীক্ষা সম্পাদনের ফলাফলকে অন্যটির সাথে তুলনা করে। এটি একটি উদ্ভূত টেস্ট ওরাকলের আরেকটি উদাহরণ। একটি সফ্টওয়্যার প্রোগ্রামের জন্য একটি ওরাকল একটি দ্বিতীয় প্রোগ্রাম হতে পারে যা পরীক্ষার অধীনে পণ্য হিসাবে একই গাণিতিক অভিব্যক্তি মূল্যায়ন করার জন্য একটি ভিন্ন অ্যালগরিদম ব্যবহার করে। এটি একটি ছদ্ম-ওরাকলের উদাহরণ, যা একটি উদ্ভূত পরীক্ষা ওরাকল। গুগল অনুসন্ধানের সময়, ফিরে আসা ফলাফলের সংখ্যা সঠিক কিনা তা যাচাই করার জন্য আমাদের কাছে একটি সম্পূর্ণ ওরাকল নেই। আমরা একটি রূপান্তরিত সম্পর্ককে এমনভাবে সংজ্ঞায়িত করতে পারি যাতে একটি ফলো-আপ সংকীর্ণ অনুসন্ধান কম ফলাফল দেয়। এটি আংশিক ওরাকলের একটি উদাহরণ, যা নির্দিষ্ট পরীক্ষা ওরাকল এবং উদ্ভূত পরীক্ষা ওরাকলের মধ্যে একটি সংকর। একটি পরিসংখ্যানগত ওরাকল সম্ভাব্য বৈশিষ্ট্যগুলি ব্যবহার করে, উদাহরণস্বরূপ চিত্র বিশ্লেষণের ক্ষেত্রে যেখানে পরীক্ষার ওরাকলের জন্য কোনও মিল বা অন্য কোনও উচ্চারণের জন্য নিশ্চয়তা এবং অনিশ্চয়তার একটি পরিসীমা সংজ্ঞায়িত করা হয়। এটি মানব পরীক্ষার ওরাকলে একটি পরিমাণগত পদ্ধতির একটি উদাহরণ হবে। একটি হিউরিস্টিক ওরাকল পরীক্ষার ইনপুটগুলির একটি শ্রেণীর উপর প্রতিনিধিত্বমূলক বা আনুমানিক ফলাফল প্রদান করে। এটি মানব পরীক্ষার ওরাকলে গুণগত পদ্ধতির একটি উদাহরণ হবে। তথ্যসূত্র গ্রন্থপঞ্জি বাইন্ডার, রবার্ট ভি। (1999)। "অধ্যায় 18-ওরাকল" ইন টেস্টিং অবজেক্ট-ওরিয়েন্টেড সিস্টেমসঃ মডেল, প্যাটার্ন এবং টুলস, এডিসন-ওয়েসলি প্রফেশনাল, 7 নভেম্বর 1999, সফ্টওয়্যার টেস্টিং কম্পিউটিং ওরাকল