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