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