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