টিডিডিতে বল ঘূর্ণায়মান হন


10

আমি এমন বিকাশকারী দলের অংশ যা কমপক্ষে 15 বছর ধরে ব্যবহৃত একটি অ্যাপ্লিকেশন বজায় রাখতে এবং উন্নত করতে আরও অনেক দলের সাথে কাজ করে। এটি যখন প্রথম নির্মিত এবং ডিজাইন করা হয়েছিল, তখন টিডিডি শুনতে পেল না।

অ্যাপ্লিকেশনটি মোটামুটি স্থিতিশীল, এবং আমরা খুব কমই কোনও শো থামিয়ে বাগের মুখোমুখি হই but এই বাগগুলি বেশিরভাগ ক্ষেত্রে আঙুলের নির্দেশের কারণে এবং এটি ঠিক করার জন্য চিরকালের জন্য নেয় এবং আমাদের কাছে কেবলমাত্র পরীক্ষাটি হল ইন্টারফেস টেস্টিং। কারণ বাগটি ঠিক করার আগে যেখানে সেখানে প্রচুর সময় নষ্ট হয় সেখানে, আমি এবং অন্য বিকাশকারী পরীক্ষা চালিত বিকাশের প্রস্তাব দেওয়ার পরিকল্পনা করে। শীঘ্রই একটি নতুন ওভারহাল আসছে, এবং আমরা নতুন মডিউলগুলিতে সম্পূর্ণ ইউনিট পরীক্ষার কাজ দেখতে দেখতে চাই, আমরা উত্তরাধিকারসূত্রটি (যেমন, বাগ ফিক্স বা বৈশিষ্ট্য প্রয়োগকরণ) পরিবর্তনের জন্য যে কোনও কোডের জন্য পরীক্ষা ইউনিট তৈরির পরামর্শ দেওয়ারও পরিকল্পনা করি ), তবে কোডের জন্য পরীক্ষার কেসগুলি বিকশিত করতে সময় ব্যয় করা উচিত নয় যা সমস্যার সৃষ্টি করে না।

আমার কাছে এটি যুক্তিসঙ্গত বলে মনে হয়। এই মাসে আমাদের একটি বাগ ছিল যা ঠিক করতে দুই সপ্তাহের বেশি সময় নিয়েছিল, তবে ইউনিট টেস্টিং করা থাকলে মোতায়েনের আগে চিহ্নিত করা যেত। তবে আমাদের পরিচালকদের কাছে দেখে মনে হচ্ছে তারা আরও অর্থ ব্যয় করছে।

আমি কীভাবে আমাদের ক্লায়েন্টকে বোঝাতে পারি যে তারা ইউনিট টেস্টিং এবং পরীক্ষা চালিত বিকাশের জন্য অর্থ ব্যয় করতে চায়? ইউনিট টেস্টিংয়ের আরওআই দেখায় এমন কোন স্টাডি রয়েছে?


1
টিডিডির জন্য অনেক দেরী; মাইকেল পালকের "লিগ্যাসি কোডের সাথে কাজ করা" দেখুন
স্টিভেন এ লো।

পদক্ষেপ 1. অনুসন্ধান স্ট্যাক ওভারফ্লো। এটা জিজ্ঞাসা করা হয়েছে। এবং উত্তর। উদাহরণ: stackoverflow.com/search?q=starting+tdd
S.Lott

উত্তর:


6

লিগ্যাসি কোডে ফুল-ব্লোড টিডিডি সরাসরি সংযুক্তি, রক্ষণাবেক্ষণ প্রকল্পটি খুব শক্ত বিক্রয়। একটি কাজ যা আমি খুব ভাল কাজ দেখেছি এটি হ'ল। প্রতিটি বাগ আসার জন্য, বাগটি প্রদর্শন করে এমন একটি স্বয়ংক্রিয় নন-ইউনিট পরীক্ষা তৈরি করুন। "নন-ইউনিট" দ্বারা, আমি এমন কিছু বোঝাতে চাই যা সিস্টেমের অনেকগুলি অংশকে স্পর্শ করতে পারে, ডাটাবেস এবং ফাইল সিস্টেম হিট করে - এটি কোনও ধরণের পরীক্ষা যা আপনি আপনার ইভেন্টের স্যুটে কোনও ইভেন্টে চাইবেন। এটি লেখার ফলে অনেক কিছুই সম্পাদিত হয়: এটি আপনাকে কোডটি পরীক্ষামূলক করে তোলে, এমনকি যদি এটি খুব মোটা স্তরে থাকে এবং এটি আপনাকে কোডের নক্ষত্রের কাছে প্রকাশ করে যা আপনার বাগের সাথে কিছু করতে পারে, তাই এটি আপনাকে শিক্ষিত এবং অবহিত করে খুব নির্দিষ্টভাবে প্রাসঙ্গিক উপাদান।

তবে এটি এর শেষ নয়। একবার এই পরীক্ষাটি চালু হয়ে যাওয়ার পরে এবং লাল রঙের (কোডের মধ্যে ত্রুটিটি দেখানোর জন্য) চলার পরে, কী দোষ হয়েছে তা বের করার জন্য সময় নিন (কোনও ইভেন্টে আপনাকে এটি করতে হবে)। তবে এখনও এটি ঠিক করবেন না। আপনি যা ভাবেন সমস্যাটি একবার বিচ্ছিন্ন করার পরে - একটি ইউনিট লিখুনপরীক্ষা যে সমস্যা দেখায়। এখন আপনি এমন কিছু পেয়েছেন যার সাথে আপনি কাজ করতে পারেন (এবং ঘটনাক্রমে নয়, আপনাকে আরও বড় টেস্টাবলির দিকে আরও কিছু শিশুর চুল্লী পড়তে হতে পারে)। বাগ ঠিক করুন। ইউনিট পরীক্ষা পাস দেখুন। কিছু প্রান্তযুক্ত কেস দিয়ে এটি মাংসে পরিণত হতে পারে; সেই ইউনিটটি পান - এক যেটি আপনাকে কেবল দুটি সপ্তাহের জন্য ব্যয় করতে পারে - কঠিন এবং পরিষ্কার এবং ভাল-পরীক্ষিত। এখন রিগ্রেশন টেস্টটি চালান এবং এটি পাস হয়ে দেখুন (অবশ্যই যদি তা না হয় তবে আপনাকে আরও কিছু গবেষণা এবং ইউনিট-স্তরের কাজ করতে হবে - এটিও পাস না হওয়া পর্যন্ত পুনরাবৃত্তি করুন)। এটি সব পরীক্ষা করে দেখুন। আপনি কি পেয়েছেন? পূর্বে ব্যর্থ কোডের জন্য রিগ্রেশন টেস্ট। পূর্বে ব্যর্থ কোডের জন্য ইউনিট পরীক্ষা। ওয়ার্কিং কোড যা ব্যর্থ হয়েছিল। উন্নত ডিজাইন কোড, কারণ এখন এটি তার চেয়ে বেশি পরীক্ষামূলক। আপনার কোড বেসে আরও ভাল আত্মবিশ্বাস,

এটি "খাঁটি" টিডিডি নয়। তবে এটি ফলাফলগুলি দ্রুত প্রদর্শন করে এবং সময়ের সাথে সাথে আপনার কোডের মান উন্নত করে। ফলাফলগুলি আপনাকে ম্যানেজমেন্ট ক্রয় করতে সহায়তা করবে।


দুর্দান্ত পরামর্শ, তবে আমি মনে করি যে ওপি আরও দৃ conv় যুক্তি খুঁজছে যা এই ধরণের পদ্ধতির প্রয়োগের জন্য প্রয়োজনীয় অতিরিক্ত সময়কে ন্যায্য করে।
বার্নার্ড

আমার তখন এটির উচ্চারণ করতে হবে। আমি যেটি প্রকাশ করার চেষ্টা করেছি তা হ'ল বর্ণিত বেশিরভাগ প্রচেষ্টা যেভাবেই প্রয়োজন - অতিরিক্ত সময় খুব বিনয়ী, উল্লেখযোগ্য সুবিধার জন্য। দুঃখিত যদি এটি পরিষ্কার না হত।
কার্ল ম্যানাস্টার

এটি বিকাশকারী হিসাবে আমার কাছে স্পষ্ট, তবে আমি জানি যে পরিচালনার জন্য সাধারণত খুব দৃinc় যুক্তি প্রয়োজন (অর্থ ব্যয়কে ন্যায্যতা হিসাবে)।
বার্নার্ড

আমি আমার দ্বিতীয় অনুচ্ছেদে এটাই পরামর্শ দিয়েছি। আমরা "নতুন কোড" এর জন্য টিডিডি লিখব এবং বাগ-ফিক্স বা বৈশিষ্ট্য অনুরোধের মাধ্যমে আমরা পরিবর্তিত যে কোনও উত্তরাধিকার কোডের জন্য পরীক্ষার কেসগুলি লিখব।
ম্যালফিস্ট

3

আমার সংস্থায়, আমি কেবল জোয়েলঅনসোটওয়ার থেকে "কেবলমাত্র এক আকস্মিক" পদ্ধতি নিয়ে গিয়েছিলাম এবং যখনই আমি সাধারণত সাধারনত একত্রে কিছুটা কনসোল অ্যাপ্লিকেশন ছুঁড়ে মারতাম তখন ইউনিট পরীক্ষা লিখতে শুরু করি। আমি আরও স্থিতিশীল প্রকাশের সাথে জিনিসগুলি খুব দ্রুত সম্পন্ন করতে শুরু করেছিলাম এবং এটির জন্য আমি লক্ষ্য করেছি noticed আমি কী করছি জানতে চাইলে আমি বুঝিয়ে দিয়েছিলাম যে আমি যখনই পুরানো কোডটি সংশোধন করেছি বা কোনও নতুন কোড লিখেছি তখন আমি টিডিডি ব্যবহার এবং ইউনিট পরীক্ষা লিখতে শুরু করেছি। আমার সহকর্মী বিকাশকারীরা কৌতূহলী হতে শুরু করে এবং নিজেরাই ইন্টিগ্রেটেড ইউনিট পরীক্ষাগুলি ব্যবহার শুরু করে using আমি মনে করি না যে লেগ্যাসি কোডের জন্য টেস্ট লেখার পক্ষে একটি ভাল যুক্তি আছে, তবে আপনি যদি স্বরূপ পরীক্ষাগুলি লেখার পক্ষে কনসোল হ্যাক স্প্যাগেটি লেখার চেয়ে আরও দ্রুত এবং আরও সুবিধাজনক বলে মনে করতে পারেন তবে স্মার্ট বিকাশকারীরাও এটি অনুসরণ করবেন।অন্যান্য সুবিধাগুলি যা উচ্চমানের সফ্টওয়্যারগুলির ফলস্বরূপ সেখানে উপস্থিত হবে তবে বিকাশকারীদের সাইন ইন করার কীটি এটি দেখায় যে এটি তাদের জীবনকে আরও সহজ করে তোলে। ব্যবসায় সাইন ইন যতক্ষণ না, এটি আরও ভাল সফ্টওয়্যার তৈরির ফলস্বরূপ এবং সম্ভবত তাদেরকে বোঝানোর জন্য পর্যাপ্ত পরিমাণের চেয়ে বেশি হওয়া উচিত।


0

প্রথমত, গ্রাহকের অর্থের সাথে মানের মূল্য যুক্ত করার জন্য আপনার মনোভাব এবং আন্তরিকতার বোধকে প্রশংসা করা উচিত। এবং আপনি কীভাবে আপনার পরিচালক এবং ক্লায়েন্টকে বোঝাতে পারেন সে সম্পর্কে আমার চিন্তাভাবনাগুলি এখানে:

  • আপনি গত 6 মাসের জন্য যে বাগগুলি স্থির করে চলেছেন তার মেট্রিক সংগ্রহ করুন এবং আপনার বাগটি ঠিক করতে ন্যূনতম, গড় এবং সর্বাধিক সময় লাগবে।
  • আপনার যে সমস্ত ত্রুটিগুলি স্থির হয়েছে বা প্রসঙ্গ রয়েছে সেগুলির জন্য, সেই অঞ্চলগুলি কভার করে ইউনিট পরীক্ষা লেখার চেষ্টা করুন।
  • আপনি যে বাগগুলিতে কাজ করছেন এবং যেগুলি নিয়ে আপনি কাজ করছেন সেগুলির জন্য, কোনও পরিবর্তন করার আগেও সেই অঞ্চলগুলির চারপাশে ইউনিট পরীক্ষা লেখার চেষ্টা করুন। তারপরে কারণটি বের করার জন্য কোডটি লিখুন এবং এটি ঠিক করুন। এটি আপনার বিদ্যমান পরীক্ষার কেসটি ভেঙে দেয় কিনা দেখুন। যদি হ্যাঁ, তবে ইউনিট টেস্টগুলির গুরুত্ব বুঝতে আপনার সমবয়সীদের ব্যাখ্যা করুন এবং সহায়তা করুন।
  • সমস্ত বিকাশকারীরা একবার ইউনিট টেস্টের গুরুত্ব বুঝতে পারলে, আপনি এত দিন / সপ্তাহ ধরে যা করছেন তা করা চালিয়ে যেতে বলুন।
  • সময় বাড়ার সাথে সাথে দলগুলির উত্পাদনশীলতা এমন পরিমাণে উন্নত করা উচিত যে আপনার পরিচালক এবং গ্রাহকরা উভয়ই উত্পাদনশীলতার উন্নতির হার এবং কোডের মানের কারণে অবাক হয়ে যাবেন। এটি একটু সময়সাপেক্ষ, কিন্তু চেষ্টা করার মতো।

আর একটি উপায় আছে, এবং এটি হ'ল আশেপাশে ঘটে যাওয়া এগ্রিল কনফারেন্সগুলিতে অংশ নিতে আপনার পরিচালকের সাথে যোগ দেওয়ার চেষ্টা করা। এটি অবশ্যই উপস্থিত হওয়া উচিত।

যদি আপনি ভাবেন যে কিছুই কিছুই কাজ করে না, তবে এগিয়ে যান ... আপনার পক্ষে উপযুক্ত সেই জায়গায় যোগদান করুন। স্পষ্টতই, আমি এটিই করেছি। যখন সবকিছু ব্যর্থ হয়, আমি এগিয়ে চলে যাই;)

এবং কোডটি লেখার পরে ইউনিট কী পরীক্ষা করে তা আসলে টিডিডি নয়, তবে তা সর্বদা প্রথম পদক্ষেপ হতে পারে। এটি কমপক্ষে এখানে এত ভাল ফিট করে।

আপনার শুভকামনা এবং সাফল্য কামনা করি!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.