Test double
কম্পিউটার প্রোগ্রামিং এবং কম্পিউটার বিজ্ঞানে, প্রোগ্রামাররা সফ্টওয়্যারে বাগ হওয়ার সম্ভাবনা কমাতে অটোমেটেড ইউনিট টেস্টিং নামে একটি কৌশল ব্যবহার করে। প্রায়শই, চূড়ান্ত রিলিজ সফ্টওয়্যারটি চূড়ান্ত ফলাফল তৈরি করতে একসাথে মিথস্ক্রিয়া করার জন্য বস্তু বা পদ্ধতির একটি জটিল সেট নিয়ে গঠিত। স্বয়ংক্রিয় একক পরীক্ষায়, এমন বস্তু বা পদ্ধতি ব্যবহার করা প্রয়োজন হতে পারে যা তাদের মুক্তি-উদ্দেশ্যযুক্ত প্রতিরূপগুলির মতো দেখতে এবং আচরণ করে, তবে প্রকৃতপক্ষে সরলীকৃত সংস্করণ যা জটিলতা হ্রাস করে এবং পরীক্ষার সুবিধার্থে। একটি টেস্ট ডাবল হল একটি সাধারণ (মেটা) শব্দ যা এই বস্তু বা পদ্ধতির জন্য ব্যবহৃত হয়। টেস্ট ডাবলস-এর প্রকারগুলি জেরার্ড মেসজারোস "টেস্ট ডাবলস"-এর জন্য বেশ কয়েকটি শব্দ চিহ্নিত করেছেন। তাঁর শব্দভান্ডার ব্যবহার করে, কমপক্ষে পাঁচ ধরনের টেস্ট ডাবল রয়েছেঃ টেস্ট স্টাব-যা "পরোক্ষ ইনপুট" সহ পরীক্ষিত কোড সরবরাহ করার জন্য ব্যবহৃত হয়। মক অবজেক্ট-পরীক্ষিত কোডের "পরোক্ষ আউটপুট" যাচাই করার জন্য ব্যবহৃত হয়, পরীক্ষিত কোডটি কার্যকর করার আগে প্রথমে প্রত্যাশাগুলি সংজ্ঞায়িত করে। টেস্ট স্পাই-পরীক্ষিত কোডের "পরোক্ষ আউটপুট" যাচাই করার জন্য ব্যবহৃত হয়, পরে প্রত্যাশার উপর জোর দিয়ে, পরীক্ষিত কোডটি কার্যকর করার আগে প্রত্যাশার সংজ্ঞা না দিয়ে। এটি তৈরি পরোক্ষ বস্তু সম্পর্কে তথ্য রেকর্ড করতে সহায়তা করে। নকল বস্তু-একটি সহজ বাস্তবায়ন হিসাবে ব্যবহৃত হয়, যেমন। প্রকৃত ডাটাবেস অ্যাক্সেস করার পরিবর্তে পরীক্ষায় একটি ইন-মেমরি ডাটাবেস ব্যবহার করা। ডামি অবজেক্ট-ব্যবহৃত হয় যখন পরীক্ষিত পদ্ধতির জন্য একটি প্যারামিটারের প্রয়োজন হয় কিন্তু প্রকৃতপক্ষে প্যারামিটারটি ব্যবহার করার প্রয়োজন হয় না। পরিষেবা ভিত্তিক আর্কিটেকচার সিস্টেম বা মাইক্রোসার্ভিসেসের ম্যানুয়াল এবং স্বয়ংক্রিয় ব্ল্যাক বক্স পরীক্ষার জন্য, সফ্টওয়্যার ডেভেলপার এবং পরীক্ষকরা টেস্ট ডাবলস ব্যবহার করেন যা একটি নেটওয়ার্ক প্রোটোকলের মাধ্যমে পরীক্ষার অধীনে সিস্টেমের সাথে যোগাযোগ করে। সরঞ্জাম বিক্রেতার উপর নির্ভর করে এই টেস্ট ডাবলসগুলিকে বিভিন্ন নাম বলা হয়। একটি সাধারণভাবে ব্যবহৃত শব্দ হল সার্ভিস ভার্চ্যুয়ালাইজেশন। ব্যবহৃত অন্যান্য নামগুলির মধ্যে রয়েছে এপিআই সিমুলেশন, এপিআই মক, এইচটিটিপি স্টাব, এইচটিটিপি মক, ওভার দ্য ওয়্যার টেস্ট ডাবল। টেস্ট ডাবল-এর আরেকটি রূপ হল যাচাইকৃত জাল, একটি নকল বস্তু যার আচরণ যাচাইকৃত জাল এবং প্রকৃত বাস্তবায়ন উভয়ের বিরুদ্ধে চলা পরীক্ষার একটি সেট ব্যবহার করে আসল বস্তুর সাথে মেলে তা যাচাই করা হয়েছে। যদিও টেস্ট ডাবল এবং বিভিন্ন ধরনের জন্য কোনও উন্মুক্ত মান নেই, এই পদ্ধতিতে এই পদগুলির অব্যাহত ব্যবহারের জন্য গতি রয়েছে। মার্টিন ফাউলার তাঁর প্রবন্ধ 'মকস আর নট স্টাবস'-এ মেসজারোসের বই উল্লেখ করে এই শব্দগুলি ব্যবহার করেছেন। "এক্সপ্লোরিং দ্য কন্টিনিউম অফ টেস্ট ডাবলস" শিরোনামে একটি নিবন্ধে মাইক্রোসফ্টও একই শব্দ এবং সংজ্ঞা ব্যবহার করেছে। আরও দেখুন মক অবজেক্ট সফ্টওয়্যার টেস্টিং সার্ভিস ভার্চ্যুয়ালাইজেশন এপিআই সিমুলেশন সরঞ্জামগুলির তুলনা ইউনিট টেস্টিং কাঠামোর তালিকা অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং টেস্ট-চালিত উন্নয়ন রেফারেন্স বাহ্যিক লিঙ্ক জেরার্ড মেসজারোসঃ টেস্ট ডাবল টেস্ট ডাবল প্যাটার্ন মকস, ফেকস, স্টাবস এবং ডামিজ মার্টিন ফাউলারঃ টেস্ট ডাবল, 17 জানুয়ারী 2006 ওপেন সোর্সঃ ইএলএফ স্পাই-সি + + ফেকইটে নকল এবং গুপ্তচর-সি + + গুগল মক-সি + + জেমক-টেস্ট ড্রাইভেন ডেভেলপমেন্ট উইথ মকসিটো-জাভার জন্য মকিং ফ্রেমওয়ার্ক unittest.mock-পাইথন সফ্টওয়্যার টেস্টিং সফ্টওয়্যার ডিজাইন প্যাটার্নের সাথে মকিং সফ্টওয়্যার ডেভেলপমেন্ট প্রক্রিয়া