আমাদের প্রোডাক্ট গ্রুপে আমরা ইউনিট পরীক্ষাগুলি থেকে 50-70% কোড কভারেজ এবং ইউনিট টেস্ট এবং টেস্ট অটোমেশন মিলিয়ে 90% + কভারেজ লক্ষ্য করি। লেখার ইউনিট পরীক্ষাগুলিতে বাজেট করা সাধারণ সময়টি প্রতিটি বৈশিষ্ট্যের জন্য প্রায় 1 দিন সময় লাগে যা কোডিংয়ে 3-4 দিনের মাথা নেয়। তবে এটি অনেক কারণের সাথে পরিবর্তিত হতে পারে।
99% কোড কভারেজ দুর্দান্ত। ইউনিট পরীক্ষা দুর্দান্ত। কিন্তু একক টেস্টিং থেকে 99% কোড কভারেজ? আমি বিশ্বাস করি যে আপনি একক ইউনিট পরীক্ষার মাধ্যমে এতটা কভারেজ পেতে পারেন তা বিশ্বাস করা শক্ত ।
আপনি যে শ্রেণীর জন্য পরীক্ষা লেখার ক্ষেত্রে 3 দিন অতিবাহিত করেছিলেন তা ক্ষেত্রে, অন্যথায় প্রয়োগ করতে 1 দিন লেগেছিল। কেন এটি বেশি সময় নিয়েছে বা কোনও কোড ভাগ করে নিয়েছে সে সম্পর্কে আপনি বিশদটি জানাননি। জল্পনা থেকে, আমি অনুমান করছি যে আপনি সত্যই আপনার ক্লাসের জন্য একটি সত্য ইউনিট পরীক্ষা লিখছেন না, তবে প্রকৃতপক্ষে পরীক্ষার অটোমেশন লিখছিলেন । এবং এটিতে আসলে কোনও ভুল নেই - যতক্ষণ না আপনি দুটি ভিন্ন ধরণের পরীক্ষার মধ্যে পার্থক্যটি স্বীকৃত হন।
তবে আপনি বলেছিলেন যে তিনদিনের পরীক্ষা লেখার সময়টি কেবল একটি একক শ্রেণির জন্য ছিল। সম্ভবত ক্লাস নিজেই ইউনিট পরীক্ষার জন্য ডিজাইন করা হয়নি। শ্রেণিটি কি ইউআই বাস্তবায়ন করে? নেটওয়ার্কিং? ফাইল আই / ও? যদি তা হয় তবে জাভা রানটাইম পরীক্ষা করার জন্য আপনি রানটাইমের সাথে ইন্টারেক্ট করে এমন আপনার ব্যবসায়িক যুক্তির চেয়ে আরও কোড লিখে শেষ করেছেন।
টিডিডি আপনাকে নির্ভরতার ইন্টারফেস এবং ইন্টারফেসের ক্ষেত্রে বিবেচনা করে। সেই একক শ্রেণি যা একক বৈশিষ্ট্যের জন্য ইউআই, নেটওয়ার্কিং এবং ফাইল / আইও প্রয়োগ করে সেগুলি একাধিক শ্রেণিতে বিভক্ত হতে পারে - একটি নেটওয়ার্কিংয়ের জন্য, একটি ফাইল / আইও, এবং ইউআই মডেল-ভিউয়ার-কন্ট্রোলার ডিজাইনে বিভক্ত। তারপরে আপনি নির্ভরতার জন্য সাধারণ মক অবজেক্টের সাথে প্রত্যেকটির জন্য যথাযথ পরীক্ষাগুলি প্রয়োগ করতে পারেন। অবশ্যই, এই সবগুলি আরও বেশি সময় নেয়। সুতরাং কোডে 1 দিন এবং টেস্ট লেখার 3 দিনের পরিবর্তে, এই ধরণের ডিজাইনের জন্য 3 দিনের কোডিং এবং 1 দিনের লেখার পরীক্ষার প্রয়োজন হতে পারে। তবে কোডটি আরও ভাল রক্ষণাবেক্ষণযোগ্য এবং পুনরায় ব্যবহারযোগ্য হবে।