দৈনন্দিন, ব্যবহারিক পদে কথা বললে, আমি মনে করি এটি সম্পূর্ণ প্রসঙ্গে নির্ভর করে ।
একটি মধ্যম-বড় দলে, উচ্চ / খুব উচ্চমানের কাজ করে (ব্যাংকিং, সামরিক, বৃহত্তর স্কেল, উচ্চ বাজেট বা ব্যবসায় সমালোচনামূলক সিস্টেমগুলি ভাবেন) তবে আমি মনে করি স্পষ্টতই "ডিবাগিং" "পরীক্ষার ফলাফল" হওয়া উচিত , এবং সেগুলি স্পষ্টভাবে খুব আলাদা জিনিস । আদর্শভাবে পরীক্ষার ফলে ডিবাগিং হয় (মঞ্চ পরিবেশে) এবং উত্পাদনে আমাদের উভয়ের মধ্যে শূন্যের কাছাকাছি দরকার।
টেস্টিংয়ের পরিধি বিস্তৃত, নিয়মিত এবং খুব আনুষ্ঠানিকভাবে - ডিবাগিং একটি নির্দিষ্ট প্রক্রিয়া যা মাঝে মধ্যে ঘটে যখন একটি নির্দিষ্ট ব্যর্থতা সংশোধন করার প্রয়োজন হয় - যা সুস্পষ্ট নয় এবং এটি সিস্টেমের কার্যকারিতা এবং ফলস্বরূপ ফলাফলগুলির গভীর তদন্তের প্রয়োজন।
এখানে আমার মনে পরীক্ষার প্রয়োজনীয়তা রয়েছে, তবে ডিবাগিং একটি নির্দিষ্ট সরঞ্জাম প্রয়োজন কেবল তখনই যখন ব্যর্থতার সমাধানটি অস্বচ্ছ হয়।
আমি "বগি" না পারার চেয়ে বড় দল এবং বা সিস্টেমগুলির জন্য টিডিডির সুস্পষ্ট ইউটিলিটিটি পুরোপুরি বুঝতে পারি । জটিল (প্রায়শই "ব্যাক-এন্ড") সিস্টেমগুলির জন্য বা আউটপুটটির তুলনায় কোডে জটিলতার একটি উচ্চ অনুপাত থাকলে এটি স্পষ্টভাবে অনেকটা বোঝায়। তারপরে কখন এবং কেন ব্যর্থতা ঘটে তা অবহিত করার জন্য "টেস্টিং" এর বাস্তবসম্মত সুযোগ রয়েছে। যে সিস্টেমগুলি অনেক জটিল কাজ করে এবং বা পরিস্কারভাবে পরিমাপযোগ্য আউটপুটগুলির ফলস্বরূপ হয় সেগুলি সাধারণত সহজেই টেস্টযোগ্য হয় এবং তাই পরীক্ষাটি ডিবাগিং থেকে পৃথক। এই ক্ষেত্রে পরীক্ষার দৃ strongly়তার সাথে প্রত্যাশা এবং প্রকৃত আউটপুটের মিলকে নিশ্চিত বা অক্ষম-নিশ্চিত করার পদ্ধতি ভিত্তিক, আনুষ্ঠানিক পদ্ধতি প্রয়োগ করে। টেস্টিং সর্বদা ঘটে থাকে এবং মাঝে মাঝে আমাদের ডিবাগিংয়ের প্রয়োজনীয়তা সম্পর্কে অবহিত করে।
এটি সুন্দর ছিল যদি এটি সর্বব্যাপী সত্য ছিল, আমি এটি পছন্দ করতাম যদি আমার দেবচক্রগুলি স্পষ্টভাবে সংজ্ঞায়িত বাইনারি আউটপুট (লাল, সবুজ) দ্বারা সীমিত করা হত তবে ...
আমার ক্ষেত্রে (যা স্বীকৃতভাবে বিশেষভাবে বলা হয় - ছোট মাঝারি আকারের 98% একক কাজ করা, আন্ডার ফান্ডেড ওয়েব ভিত্তিক, ডেটা ফোকাসযুক্ত কর্পোরেট অ্যাডমিন সিস্টেম) আমি সত্যিই দেখতে পাচ্ছি না টিডিডি কীভাবে আমাকে সহায়তা করতে পারে। অথবা বরং "ডিবাগিং" এবং "টেস্টিং" কার্যত এক।
মূলত যদিও "টেস্টিং" শব্দটির ব্যবহারটি টিডিডি এর পদ্ধতির সাথে নিবিড়ভাবে / নিবিড়ভাবে জড়িত।
আমি জানি এটি সম্পূর্ণরূপে, সম্পূর্ণরূপে আন-জাইটিজিস্ট "অবিশ্বাসীদের দূরে সরিয়ে দাও, দূরে সরে যাও", তীব্রভাবে বলা উচিত নয়। তবে আমার প্রসঙ্গে প্র্যাকটিসাল টুপি নিয়ে আমার প্রসঙ্গের কথা চিন্তা করে আমার বুনো কল্পিত ধারণাটি দেখুন যে কীভাবে টিডিডি আমাকে ক্লায়েন্টদের কাছে অর্থের আরও বেশি মূল্য দিতে সহায়তা করবে।
বা বরং, আমি এই সাধারণ ধারণার সাথে দৃ strongly়ভাবে একমত নই যে "টেস্টিং" একটি আনুষ্ঠানিক কোড ভিত্তিক প্রক্রিয়া।
আমার প্রাথমিক আপত্তি (আমার নির্দিষ্ট * প্রসঙ্গে প্রযোজ্য ) হ'ল ...
যদি আমি কোড লিখতে নাকিসুরে কথা যে নির্ভরযোগ্যভাবে কাজ করে - তারপর কিভাবে জাহান্নাম আমি লিখি কোড যে নির্ভরযোগ্যভাবে কাজ করে অনুমিত করছি পরীক্ষা সম্ভবতঃ বলেন সাব স্ট্যান্ডার্ড কোড।
আমার কাছে আমি কোনো উদাহরণ কিংবা যুক্তি হল যে (আমার বিশেষ প্রেক্ষাপটে) দেখিনি আমাকে পর্যাপ্ত enthused এমনকি বিরক্ত করার জন্য চিন্তা সম্পর্কে একটি একক পরীক্ষা লেখার , আমি এই মুহূর্তে, হয়তো "আমার সংগ্রহস্থলের রিটার্ন একটি ব্যবহারকারী আছে কিছু laughably অবাস্তব পরীক্ষামূলক কোড লেখা যেতে পারে নাম সহ সত্তা == এক্স, যখন আমি একেবারে জিজ্ঞাসা করি - এবং কেবল - তবে? ", তবে সম্ভবত আমার এই স্ট্রিমিংটি লেখার আরও বেশি উপযোগিতা রয়েছে, সম্ভবত-ইন্টারনেট-সত্যই-কেবল-খাঁটি-বোকা-স্পাউটিং- স্ব-সন্তুষ্টি-বর্বরতার অধীনে-রক্ত-উচ্চারিত-বিহীন-মূর্খ আবর্জনা, তবে আমি এখানে শয়তানের উকিলকে খেলার প্রয়োজন বোধ করি। (কেউ আশা করে যে কেউ আমাকে আলো দেখায় এবং আমাকে রূপান্তরিত করে, সম্ভবত এটি আমার ক্লায়েন্টদের অর্থের জন্য আরও ভাল মূল্য প্রদান করবে?)
তর্কযুক্তভাবে "ডিবাগিং" কখনও কখনও "টেস্টিং" এর সমান। এর মাধ্যমে আমি সত্যিই বলতে চাইছি যে আমার প্রতিদিনের কর্মজীবনে আমি আমার সিস্টেমের স্থানীয় সংস্করণটি বিভিন্ন ব্রাউজারগুলিতে খেলে আমার কমপক্ষে এক তৃতীয়াংশ ব্যয় করি, মরিয়া হয়ে আমার কাজ ভাঙার প্রয়াসে বিভিন্ন বিড়াল জিনিসগুলি চেষ্টা করে এবং তদন্ত করে যাচ্ছি কেন এটি ব্যর্থ হয়েছে এবং তাদের সংশোধন করেছে।
আমি 100% টিডিডি মন্ত্র "লাল / সবুজ / রিফ্যাক্টর" এর সুস্পষ্ট ইউটিলিটির সাথে একমত, তবে আমার জন্য (স্বল্প-মধ্যম বাজেটে কাজ করছেন, একা দেব আরআইএ জমিতে) আমি সত্যিই কাউকে ভালবাসতে চাই দয়া করে আমাকে দেখানোর জন্য আমি কীভাবে পারি সম্ভবত , যুক্তিসঙ্গতভাবে এবং জোরালোভাবে বাস্তবসম্মতভাবে আমার প্রচেষ্টার পূর্ণ (এবং মূলত কেবলমাত্র) আউটপুট যা মূলত সত্যিকারের মানুষের মিথস্ক্রিয়ায় আবদ্ধ হয় তার সাথে মিথস্ক্রিয়া করার চেয়ে বেশি ( ঠিক তেমন সম্ভাব্য ত্রুটিযুক্ত টেস্টিং কোড) লেখার চেয়ে কোনও অতিরিক্ত মান পেতে পারি।
আমার জন্য যখন বিকাশকারীরা "পরীক্ষার" বিষয়ে কথা বলেন তখন এটি সাধারণত টিডিডি বোঝায়।
আমি কোডগুলি চেষ্টা করি যেন পরীক্ষাগুলি ছিল, আমি মনে করি যে সমস্ত নিদর্শন / অনুশীলন এবং প্রবণতাগুলি যা এই সমস্ত পরীক্ষার কেন্দ্রীভূত বিকাশকে উত্সাহিত করেছে তা দুর্দান্ত এবং সুন্দর, তবে আমার ছোট্ট বিশ্বের "টেস্টিং" আমার পক্ষে আরও কোড লিখছেন না, এটি আসলে বাস্তব বিশ্বের পরীক্ষা এটি একটি বাস্তবসম্মত পদ্ধতিতে আউটপুট করে, এবং এটি কার্যত ডিবাগিংয়ের সমান, বা বরং এখানে সক্রিয় পরিবর্তন "ডিবাগিং" যা মানুষের, আউটপুট কেন্দ্রিক অ-স্বয়ংক্রিয় "পরীক্ষার" এর প্রত্যক্ষ ফলাফল। এটি "টেস্টিং" কে স্বয়ংক্রিয় এবং আনুষ্ঠানিক কিছু হিসাবে এবং "ডিবাগিং" কে মানুষের এবং অ্যাড-হক বা অ-কাঠামোগত কিছু হিসাবে সাধারণভাবে গৃহীত মতামতের বিপরীতে।
যদি লক্ষ্যটি অর্থ / প্রচেষ্টার জন্য সত্যই মূল্যবান হয় এবং আপনি ওয়েব ভিত্তিক ইন্টারেক্টিভ অ্যাপ্লিকেশনগুলি তৈরি করে থাকেন তবে সেই প্রচেষ্টাটির আউটপুট হ'ল ওয়েব পৃষ্ঠাগুলি এবং খুব প্রয়োজনীয়ভাবে তারা কীভাবে মানব ইনপুটকে প্রতিক্রিয়া জানায় - তাই "পরীক্ষার" পরীক্ষার মাধ্যমে সেরা অর্জন করা হয় সেই ওয়েব পৃষ্ঠাগুলি, সত্যিকারের মানুষের মিথস্ক্রিয়ার মাধ্যমে। যখন এই মিথস্ক্রিয়াটি অপ্রত্যাশিত বা অনাকাঙ্ক্ষিত ফলাফলের দিকে পরিচালিত করে, তখন "ডিবাগিং" ঘটে। ডিবাগিং এছাড়াও প্রোগ্রামের স্থিতির রিয়েল টাইম পরিদর্শনের ধারণার সাথে ঘনিষ্ঠভাবে সম্পর্কিত। টেস্টিং সাধারণত অটোমেশনের সাথে সম্পর্কিত যা আমি মনে করি প্রায়শই একটি দুর্ভাগ্যজনক সমিতি।
লক্ষ্যটি যদি প্রচেষ্টার জন্য সত্যই মূল্যবান হয় এবং স্বয়ংক্রিয় পরীক্ষণটি দক্ষ এবং অত্যন্ত উপকারী তবে ডিবাগিং হয় কেবলমাত্র সেই পরীক্ষার আউটপুট, বা স্বয়ংক্রিয় পরীক্ষার জন্য একটি দুর্বল বিকল্প, তবে কেন বিশ্বের দ্বিতীয় দেখার ওয়েবসাইটটি (ফেসবুক)? ) প্রায়শই অন্ধভাবে পরিষ্কার (ব্যবহারকারীদের কাছে, তবে স্পষ্টভাবে টেস্টিং দল এবং পরীক্ষার কোডটি নয়) বাগগুলি নিয়ে ছাঁটাই হয়?
সম্ভবত এটি হ'ল কারণ তারা সবুজ আলোকে আশ্বস্ত করার দিকে মনোনিবেশ করছেন এবং তাদের কাজের আউটপুটগুলি আসলে ব্যবহার করতে ভুলে যাচ্ছেন?
আপনি কি অনেকগুলি বিকাশকারী মনে করেন পরীক্ষাটি কোড সহ এমন কিছু যা আপনি আইডিই দিয়ে মাঝেমধ্যে করেন যা কোনও আইকন লাল হয়ে যায় এবং আপনি কেন কাজ করতে পারবেন না? আমি মনে করি এই শব্দগুলির সাথে দুর্ভাগ্যজনক মূল্যবোধের রায় রয়েছে, যা প্রত্যাশা এবং ফলাফলগুলির মধ্যে ফাঁকগুলি বন্ধ করার জন্য আমাদের কী মনোনিবেশ করা উচিত তা ব্যবহারিক বাস্তবতাকে অস্পষ্ট করে তোলে।