প্রথমে আপনার প্রশ্নের উত্তর দেওয়ার জন্য: হ্যাঁ, আপনি যদি আমাকে জিজ্ঞাসা করেন তবে এগুলি অবশ্যই নিরন্তর সংহতকরণের একটি অংশ। তবে আমি মনে করি আমাদের ইন্টিগ্রেশন টেস্টগুলি কী তা পরিষ্কার করা দরকার।
মার্টিন ফওলার দ্রুত মোতায়েনের সম্পূর্ণ বিল্ড প্রক্রিয়াটি স্বয়ংক্রিয় করার উপায় হিসাবে অবিচ্ছিন্ন সরবরাহের কথা বলছিলেন। এর জন্য বিকাশকারীদের অবিচ্ছিন্ন একীকরণ প্রক্রিয়া দ্বারা সরবরাহ করা দ্রুত প্রতিক্রিয়া পাওয়া দরকার। সুতরাং তিনি এমন পর্যায়গুলি সংজ্ঞায়িত করেছেন যা বিল্ডের মধ্য দিয়ে যাওয়া উচিত :
- একটি অঙ্গীকারবদ্ধ
- পুরো পরীক্ষা
- বিস্তৃতি
বিকাশকারীদের দ্রুত প্রতিক্রিয়ার কারণে, প্রতিশ্রুতিবদ্ধ বিল্ডটি তিনি বলেছেন যে 10 মিনিটের বেশি সময় লাগবে না।
এখানে আমি কীভাবে জিনিস দেখছি: প্রথম ধাপে, সর্বশেষ প্রতিশ্রুতি আনুন এবং এটি তৈরি করুন। এটি যদি সফল হয় তবে আপনার শ্রেণি / শ্রেণি গোষ্ঠীগুলি সংজ্ঞায়িত এবং প্রত্যাশার মতো কাজ করছে কিনা তা জানতে আপনি আপনার ইউনিট পরীক্ষা চালান।
এটি সফল হলে আপনি ইন্টিগ্রেশন পরীক্ষার অংশে পাবেন। এখানে আপনি কেবল সফলভাবে পরীক্ষিত ইউনিটগুলির ইন্টারঅ্যাকশন পরীক্ষা করেছেন। এর মধ্যে ইউনিটগুলিকে ইনপুট সহ খাওয়ানো এবং তাদের অবস্থা / মিথস্ক্রিয়া / আউটপুট দেখা জড়িত। মনে রাখবেন যে আমরা এখনও প্রতিশ্রুতিবদ্ধ প্রতিশ্রুতিতে রয়েছি, তাই আমরা এটিও দ্রুত হতে চাই। সুতরাং দ্রুত প্রয়োগের জন্য ফাইল সিস্টেম, একটি ডেটাবেস, নেটওয়ার্ক পিয়ার এবং এর মতো ইন্টারঅ্যাকশনগুলিকে স্ট্যাব করতে হবে। মার্টিন ফোলার ইন-মেমরি-ডাটাবেসগুলির প্রয়োজনের জন্য ইঙ্গিত দেয়, কেবলমাত্র সিআই সার্ভারে দ্রুত কার্যকর রাখা।
ইউনিটগুলি প্রয়োজনীয় হিসাবে কাজ করছে এবং ইন্টারঅ্যাক্ট করছে তা নিশ্চিত করার পরে, আপনি সাধারণত পরীক্ষার কভারেজ সম্পর্কে জানতে চান (কেবলমাত্র একটি ছোট সাবসিস্টেমের পরীক্ষা করা সাধারণত পর্যাপ্ত নয়) এবং পরীক্ষিত নিদর্শনগুলি কার্যকরী পরীক্ষার জন্য / কিউএ / স্থাপনার জন্য উপলব্ধ করে তুলুন ( পড়ুন: পুঙ্খানুপুঙ্খ পরীক্ষা) যদি আপনি মনে করেন যে আপনি পরীক্ষাগুলি আপনার প্রোগ্রামের যথেষ্ট পরিমাণ কভার করে। ঠিক তখনই, আপনি একটি পরীক্ষার পরিবেশ সরবরাহ করেন যা আপনি যে পরিবেশের পরিবেশকে টার্গেট করছেন এবং তা পরীক্ষা করে চালায় যা একটি বাস্তব ডাটাবেস, বাস্তব ফাইল, বাস্তব নেটওয়ার্ক সহকর্মী ইত্যাদি জড়িত
শেষ পর্যন্ত, ইন্টিগ্রেশন টেস্টগুলি কোড পরিবর্তন সম্পর্কে। আপনি নিশ্চিত করতে চান যে আপনার যে পরিবর্তনগুলি হয়েছে তা বর্তমান সিস্টেমটি ভেঙে যাচ্ছে না, অর্থাত তারা ভালভাবে সংহত হয়েছে। তারা কিনা তা খুঁজে বের করার জন্য আপনাকে নিশ্চিত করতে হবে যে তারা নিজের মধ্যে সঠিকভাবে আচরণ করে, তারপরে যদি তারা তাদের নির্ভরতাগুলির সাথে সঠিকভাবে ইন্টারঅ্যাক্ট করে এবং যদি সেগুলি পরীক্ষা করেও নেওয়া হয়েছিল। এই সমস্ত পরীক্ষায় পাস করার পরে আপনি আপনার সিস্টেম সম্পর্কে শান্ত আত্মবিশ্বাসী থাকতে পারেন।
যদি পরবর্তী পর্যায়ে আপনার প্রোগ্রামে কোনও সমস্যা দেখা দেয় (যেমন যখন আপনার ডাটাবেস কোনও নির্দিষ্ট মান ফেরত দেয়, আপনার নেটওয়ার্ক সংযোগটি থামবে) আপনার ইন্টিগ্রেশন পরীক্ষায় এই পরীক্ষাগুলি আটকানোর চেষ্টা করা উচিত। কমিট বিল্ড সম্ভবত QA এর চেয়ে দ্রুত;)