গত কয়েক সপ্তাহ ধরে আমি কীভাবে আমাদের পরীক্ষার পদ্ধতিতে একটি ফাঁক পূরণ করতে পারি তা নিয়ে গবেষণা করছি। সরলীকৃত পদগুলিতে ইউনিট পরীক্ষাগুলি খুব ছোট এবং traditionalতিহ্যগত একীকরণের পরীক্ষাগুলি খুব বড়।
যেখানে Aএবং Bউভয়ই উপাদান ব্যবহার করে সেখানে একটি ঘন ঘন দৃশ্য আসে C। তবে Aএবং Bজন্য কিছুটা ভিন্ন প্রয়োজনীয়তা আছে, এবং সম্পর্কে কিছুটা ভিন্ন অনুমানের করা C। আমি যদি Aআমার অনুমানগুলি কীভাবে এবং কোথায় পরীক্ষা করি তার বিকাশকারী হন C?
স্পষ্টতই Aসম্পর্কে বিদ্রূপিত অনুমানের সাথে ইউনিট টেস্টিং বিচ্ছিন্নকরণের Cপরীক্ষার জন্য ভাল A, তবে এটি অনুমানগুলি নিজেরাই পরীক্ষা করে না।
আরেকটি সম্ভাবনা হ'ল ইউনিট পরীক্ষা যুক্ত করা C। তবে এটি আদর্শ নয় কারণ, Aবিকাশে থাকাকালীন , Cবিকশিত অনুমানের সাথে পরীক্ষাগুলি পরিবর্তন করা Aঅত্যধিক আনাড়ি হবে। প্রকৃতপক্ষে Aবিকাশকারীদের ইউনিট পরীক্ষায় C(যেমন একটি বাহ্যিক গ্রন্থাগার) এর পর্যাপ্ত অ্যাক্সেস নাও থাকতে পারে ।
আরও কংক্রিটের উদাহরণ সহ এটি ফ্রেম করতে: ধরে নিন যে এটি নোড অ্যাপ্লিকেশন। A, এবং কোনও ফাইল পড়ার Bউপর নির্ভর করে C(অন্যান্য জিনিসগুলির মধ্যে) এবং পাস করা বস্তুটিতে ফাইলের সামগ্রী সংরক্ষণ করে C। প্রথমে যে সমস্ত ফাইল Cপরিচালনা করে সেগুলি ছোট এবং উল্লেখযোগ্য ব্লকিং ছাড়াই একযোগে পড়া যায়। তবে বিকাশকারী Bবুঝতে পারে যে তার ফাইলগুলি বিশাল আকার ধারণ করছে এবং Cএকটি অ্যাসিঙ্ক রিডে স্যুইচ করা দরকার । এটি একটি বিক্ষিপ্ত সিঙ্ক্রোনাইজেশন বাগের ফলস্বরূপ A, যা এখনও ধরে নিচ্ছে Cযে ফাইলগুলি সিঙ্ক্রোনালি পড়ছে।
এটি সম্পূর্ণরূপে সংহতকরণের পরীক্ষাগুলি থেকে ট্র্যাক করা কুখ্যাত এবং এটি ইন্টিগ্রেশন পরীক্ষায় মোটেই ধরা পড়বে না। এটি Aএস ইউনিট পরীক্ষায় ধরা পড়ে না কারণ Aএস অনুমানগুলি ঠাট্টা করে। তবে এটি সহজে একটি "মিনি" ইন্টিগ্রেশন পরীক্ষা যে শুধু ব্যায়াম হাতে ক্যাচ যেতে পারে Aএবং C।
এই ধরণের পরীক্ষার জন্য আমি কেবলমাত্র কয়েকটি রেফারেন্স পেয়েছি। ছোট ইন্টিগ্রেশন , কম্পোনেন্ট ইন্টিগ্রেশন পরীক্ষার , ইউনিট ইন্টিগ্রেশন টেস্টিং। এটি আনুষ্ঠানিক টিডিডি ইউনিট পরীক্ষার পরিবর্তে কিছুটা বিডিডি পরীক্ষার দিকের সাথেও সম্পর্কিত ।
আমি এই পরীক্ষার ফাঁকটি কীভাবে পূরণ করব? বিশেষত - আমি এই জাতীয় পরীক্ষা কোথায় রাখি? আমি ইনপুট কিভাবে উপহাস না Aএবং C"মিনি" ইন্টিগ্রেশন পরীক্ষার জন্য? এবং এই পরীক্ষাগুলি এবং ইউনিট পরীক্ষার মধ্যে পরীক্ষার উদ্বেগগুলি পৃথক করতে কত প্রচেষ্টা করা উচিত? বা পরীক্ষার ফাঁক পূরণ করার আরও ভাল উপায় আছে কি?