গত কয়েক সপ্তাহ ধরে আমি কীভাবে আমাদের পরীক্ষার পদ্ধতিতে একটি ফাঁক পূরণ করতে পারি তা নিয়ে গবেষণা করছি। সরলীকৃত পদগুলিতে ইউনিট পরীক্ষাগুলি খুব ছোট এবং 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
"মিনি" ইন্টিগ্রেশন পরীক্ষার জন্য? এবং এই পরীক্ষাগুলি এবং ইউনিট পরীক্ষার মধ্যে পরীক্ষার উদ্বেগগুলি পৃথক করতে কত প্রচেষ্টা করা উচিত? বা পরীক্ষার ফাঁক পূরণ করার আরও ভাল উপায় আছে কি?