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