আমি রেভাবিঙ্গোর উত্তরটি সত্যিই পছন্দ করি কারণ তিনি পরামর্শ দিয়েছেন যে 100% র দিকে লড়াই আপনাকে অব্যবহৃত কোড সাফ করতে বা মুছতে পারে। অন্যান্য উত্তরে আমি যা দেখিনি তা হ'ল কখন আপনার উচ্চ কভারেজ প্রয়োজন এবং কখন আপনি করবেন না তা অনুভূতি। এটি শুরু করার সময় আমি ছুরিকাঘাত করেছিলাম। আমি মনে করি যে এই জাতীয় একটি কোডের জন্য বিশদ যুক্ত করা একটি কোড কভারেজ নম্বর যা সমস্ত কোডের জন্য সঠিক ছিল তার চেয়ে আরও বেশি দরকারী কাজ হবে।
100%
Java.util সংগ্রহের মতো একটি পাবলিক এপিআই-তে, এটি কোনও ডেটাবেজে মিলিত হয় না এবং এইচটিএমএল ফেরত দেয় না, আমি মনে করি 100% কভারেজ একটি আদিম লক্ষ্য, এমনকি যদি আপনি সময় বা অন্যান্য কারণে 90-95% স্থিতিশীল হন তবে সীমাবদ্ধতার। আপনার সম্পূর্ণ বৈশিষ্ট্যযুক্ত হওয়ার পরে পরীক্ষার কভারেজ বাড়ানো অন্য ধরণের কোড পর্যালোচনার চেয়ে তদন্তের আরও বিশদ স্তরের জোর করে। যদি আপনার এপিআই মোটামুটি জনপ্রিয় হয়, লোকেরা এটি যেভাবে আশা করতে পারে না সেভাবে এটি ব্যবহার করবে, এটি সাবক্লাস করবে, ডিজিটালাইজড করবে। আপনি চান না যে তাদের প্রথম অভিজ্ঞতাটি কোনও বাগ খুঁজে পাওয়া, বা ডিজাইনের তদারকি করতে হবে!
90%
ব্যবসায়ের অবকাঠামো কোডের জন্য, যা ডেটা স্ট্রাকচার গ্রহণ করে এবং ডেটা স্ট্রাকচার রিটার্ন করে, 100% সম্ভবত সম্ভবত একটি ভাল সূচনা লক্ষ্য, তবে এই কোডটি যদি প্রচুর অপব্যবহারের আমন্ত্রণ জানাতে যথেষ্ট জনসাধারণী না হয়, তবে 85% এখনও গ্রহণযোগ্য?
75%
স্ট্রিংগুলি গ্রহণ করে এবং ফেরত দেয় এমন কোডের জন্য, আমি মনে করি ইউনিট পরীক্ষাটি অনেক বেশি ভঙ্গুর, তবে এখনও অনেক পরিস্থিতিতে কার্যকর হতে পারে।
50% বা তারও কম
আমি এইচটিএমএল ফিরিয়ে দেয় এমন ফাংশনগুলির জন্য লেখার পরীক্ষাগুলি ঘৃণা করি কারণ এটি এত ভঙ্গুর। যদি কেউ সিএসএস, জাভাস্ক্রিপ্ট, বা আপনি ফিরে আসা এইচটিএমএল এবং ইংলিশির পুরো ব্লবটি মানুষের শেষ ব্যবহারকারীদের জন্য কোনও বুদ্ধি না করে? আপনি যদি এমন কোনও ফাংশন খুঁজে পেতে পারেন যা সামান্য এইচটিএমএল তৈরি করতে প্রচুর ব্যবসায়িক যুক্তি ব্যবহার করে, তবে এটি পরীক্ষার পক্ষে ভাল। তবে বিপরীত পরিস্থিতি মোটেও পরীক্ষার জন্য উপযুক্ত নয়।
0% কাছাকাছি
কিছু কোডের জন্য, "সঠিক" এর সংজ্ঞাটি "শেষ ব্যবহারকারীকে বোঝায়"। এই কোডের বিরুদ্ধে আপনি স্বয়ংক্রিয় ব্যাকরণ-চেকিং বা এইচটিএমএল যেমন আউটপুটকে বৈধতা দেওয়ার জন্য অপ্রথাগত পরীক্ষা করতে পারেন। এমনকি সামান্য অসঙ্গতিগুলির জন্য আমরা গ্রেপ স্টেটমেন্টগুলিও সেট আপ করেছি, আমরা সাধারণত কাজের ফাঁকে ফাঁকে ফাঁকে পড়ে যাই, যেমন "লগইন" বলার মতো যখন সিস্টেমের বাকি অংশগুলি "সাইন ইন" বলে calls এই ব্যক্তিটি কঠোরভাবে ইউনিট পরীক্ষা নয়, তবে নির্দিষ্ট আউটপুট আশা না করে বিষয়গুলি ধরার সহায়ক উপায়।
শেষ পর্যন্ত যদিও, কোনও মানুষই বিচার করতে পারেন যা মানুষের কাছে বোধগম্য। ইউনিট টেস্টিং আপনাকে সেখানে সাহায্য করতে পারে না। কখনও কখনও এটি সঠিকভাবে বিচার করতে বেশ কয়েকটি মানুষকে লাগে।
সম্পূর্ণ 0%
এটি একটি দুঃখজনক বিভাগ এবং আমি এটি লেখার জন্য কোনও ব্যক্তির মতো কম মনে করি। তবে পর্যাপ্ত পরিমাণে যে কোনও প্রকল্পে খরগোশের ছিদ্র রয়েছে যা কোনও ব্যবসায়ের সুবিধা না দিয়ে ব্যক্তি-সপ্তাহের সময় ধরে চুষতে পারে।
আমি একটি বই কিনেছিলাম কারণ এটি হাইবারনেট পরীক্ষার জন্য কীভাবে ডেটাটিকে স্বয়ংক্রিয়ভাবে উপহাস করতে হবে তা দেখানোর দাবি করেছে। তবে এটি কেবল হাইবারনেট এইচকিউএল এবং এসকিউএল অনুসন্ধানগুলি পরীক্ষা করেছে। আপনার যদি অনেকগুলি এইচকিউএল এবং এসকিউএল করতে হয় তবে আপনি সত্যিই হাইবারনেটের সুবিধা পাচ্ছেন না। হাইবারনেট ইন-মেমরি ডাটাবেসের একটি ফর্ম রয়েছে, তবে পরীক্ষাগুলিতে কীভাবে এটি কার্যকরভাবে ব্যবহার করা যায় তা নির্ধারণের জন্য আমি সময় বিনিয়োগ করিনি। যদি আমার এই চলমান থাকে, তবে হাইবারনেটকে কিছু অনুসন্ধান চালিয়ে যাওয়ার কারণে কোনও বস্তু গ্রাফ নেভিগেট করে স্টাফ গণনা করে এমন কোনও ব্যবসায়ের যুক্তির জন্য আমি উচ্চ (50% -100%) পরীক্ষার কভারেজ রাখতে চাই। এই কোডটি পরীক্ষা করার জন্য আমার ক্ষমতা এখনই 0% এর কাছাকাছি এবং এটি একটি সমস্যা। তাই আমি প্রকল্পের অন্যান্য ক্ষেত্রে পরীক্ষার কভারেজটি উন্নত করি এবং ডাটাবেস অ্যাক্সেস করে এমনগুলির তুলনায় খাঁটি ফাংশনগুলিকে প্রাধান্য দেওয়ার চেষ্টা করি, মূলত কারণ এই ফাংশনগুলির জন্য পরীক্ষা লিখতে আরও সহজ। এখনও,