আমি আচরণের চালিত বিকাশ পদ্ধতির (ওরফে বিডিডি) কিছুটা সোচ্চার প্রবক্তা। আমি এখন কয়েক বছর ধরে বিডিডি প্রয়োগ করছি, এবং ডটনেট অ্যাপ্লিকেশনগুলি বিকাশ করার সময় স্টোরকিউকে আমার পছন্দসই কাঠামো হিসাবে গ্রহণ করেছি । যদিও আমি বহু বছর ধরে ইউনিট টেস্টিং করে চলেছি, এবং এর আগে একটি পরীক্ষার প্রথম পদ্ধতির দিকে চলে এসেছি, আমি খুঁজে পেয়েছি যে আমি বিডিডি কাঠামো ব্যবহার করে অনেক বেশি মূল্য পেয়েছি, কারণ আমার পরীক্ষাগুলি তুলনামূলকভাবে প্রয়োজনীয়তার উদ্দেশ্যকে ক্যাপচার করে আমার কোডের মধ্যে ইংলিশ পরিষ্কার করুন, এবং কারণ আমার পরীক্ষাগুলি পরীক্ষার অর্ধেক পথ না শেষ করে একাধিক দাবি নির্বাহ করতে পারে - যার অর্থ আমি দেখতে পাচ্ছি কোন নির্দিষ্ট দৃser়তা প্রমাণ করতে ডিবাগিং ছাড়াই এক নজরে পাস / ব্যর্থ হয়েছে।
এটি আমার জন্য সত্যই আইসবার্গের সূচনা ছিল, যেহেতু আমি আরও লক্ষ্য করেছি যে আমি আরও পরীক্ষামূলক এবং বাস্তবায়ন কোড উভয়ই আরও লক্ষ্যবস্তুভাবে ডিবাগ করতে সক্ষম হয়েছি, ফলস্বরূপ যে আমার উত্পাদনশীলতা উল্লেখযোগ্যভাবে বৃদ্ধি পেয়েছে এবং আমি আরও কিছু করতে পারি বিল্ড লগগুলিতে প্রবেশের ফলে আউটপুট হওয়ার কারণে কোনও সমস্যা যদি ইন্টিগ্রেশন বিল্ডের সমস্ত পথে তৈরি করতে সমস্যা ঘটে তবে সহজেই নির্ধারণ করুন। আরও, স্টোরকিউ এপিআইয়ের একটি দুর্দান্ত সাবলীল সিনট্যাক্স রয়েছে যা শিখতে সহজ এবং যা ব্যবহার করার জন্য কোনও বাহ্যিক নির্ভরতার প্রয়োজন হয় না, এটি অসাধারণ সংখ্যক উপায়ে প্রয়োগ করা যেতে পারে।
সুতরাং এই সমস্ত সুবিধাগুলির সাথে, আপনি এই ধারণাটি দলের বাকিদের সাথে পরিচিত করা সহজ বলে মনে করবেন। দুর্ভাগ্যক্রমে, অন্যান্য দলের সদস্যরা স্টোরকিউকে এটি সঠিকভাবে মূল্যায়ন করতে এমনকি দেখতে নারাজ (বিডিডি প্রয়োগের ধারণাটি একা উপভোগ করুন) এবং একে অপরকে আমাদের নিজস্ব মূল পরীক্ষার কাঠামো থেকে এমনকি অনেকগুলি স্টোরকিউ উপাদানগুলি অপসারণের চেষ্টা এবং সরিয়ে নিতে রাজি করেছেন even যদিও তারা মূলত স্টোরিকিউ ব্যবহারকে সমর্থন করেছিল এবং তারা যে কোডটি সরিয়ে ফেলতে চায় তা আমাদের পরীক্ষার সিস্টেমের অন্য কোনও অংশে প্রভাব ফেলবে না। এটি করার ফলে আমার কাজের চাপ যথেষ্ট পরিমাণে বাড়বে এবং সত্যই শস্যের বিপরীতে চলে যাবে, যেমনটি আমি অভিজ্ঞ অভিজ্ঞতার মাধ্যমে নিশ্চিত হয়েছি যে এটি আমাদের নির্দিষ্ট কাজের পরিবেশে পরীক্ষার প্রথম পদ্ধতিতে কাজ করার একটি ভাল উপায়, এবং কেবলমাত্র আরও বড় হতে পারে আমাদের দেওয়া সফটওয়্যারটির মান উন্নতি, ' প্রথমে বিডিডি ব্যবহার করে পরীক্ষার সাথে লেগে থাকা আরও সহজ হয়েছে। আরও স্পষ্ট করে বলতে গেলে, আমাদের বেশিরভাগ ইউনিট পরীক্ষাগুলি বেশ ভঙ্গুর এবং বজায় রাখা কঠিন হয়ে পড়েছে, বছরের পর বছর খারাপভাবে প্রয়োগ করা পরীক্ষার একটি হোল্ডওভার যেখানে পরীক্ষা-চালিত প্রক্রিয়াটি চালিয়ে যেতে অনীহা দেখা গেছে, বিকাশকারীরা পুরানো অভ্যাসে ফিরে এসেছেন এবং প্রকল্পের শেষে তাদের সমস্ত টেস্টিং করুন (এই একই লোকেরা চটপটে বলে দাবি করেছেন!)।
সুতরাং প্রশ্নটি আসলে নীচে নেমে আসে:
- আমি কী যুক্তি দিয়ে সত্যই পয়েন্ট হোমটি চালাতে পারি যে এই দলের পক্ষে স্টোরকিউ ব্যবহার করা ভাল, বা খুব কমপক্ষে বিডিডি পদ্ধতিটি গ্রহণ করা ভাল?
- আপনি আমাকে কোনও পছন্দসই প্রমাণের দিকে চিহ্নিত করতে পারেন যা আমি আমাদের পছন্দসই মানক পদ্ধতি হিসাবে বিডিডি গ্রহণ করার জন্য আমার যুক্তি সমর্থন করতে পারি?
- আপনি কোন পাল্টা যুক্তি সম্পর্কে এটি ভাবতে পারেন যে টিমকে বিডিডি গ্রহণ করতে উত্সাহিত করার ইচ্ছাটি ভুল হতে পারে? হ্যাঁ, যুক্তিটি যদি সঠিক হয় তবে আমি ভুল প্রমাণিত হতে পেরে খুশি।
দ্রষ্টব্য : আমি আমাদের পরামর্শ দিচ্ছি না যে আমরা আমাদের পরীক্ষাগুলি তাদের সম্পূর্ণরূপে পুনর্লিখন করি, বরং ভবিষ্যতের সমস্ত পরীক্ষামূলক কাজের জন্য এবং অন্যায়ভাবে আমাদের গ্রাহকদের যে পদ্ধতিতে নিযুক্ত করি তার পক্ষে কেবল ভিন্ন পদ্ধতিতে কাজ শুরু করা।
এবং আপনারা যারা বিডিডি সম্পর্কে আরও জানতে চান, তাদের জন্য নিম্নলিখিত লিঙ্কগুলি কার্যকর হতে পারে:
- http://dannorth.net/introducing-bdd/
- http://en.wikipedia.org/wiki/Behaviour_driven_development
- http://behaviour-driven.org/Introduction
যারা আরও বিশদে আগ্রহী তাদের জন্য, আমরা 4 টির একটি ছোট দল প্রায় 5 টি বড় প্রকল্পে কাজ করছি। বিডিডির জন্য "পাইলট ট্রায়াল" প্রাথমিকভাবে প্রায় 2 মাস চলেছিল, প্রায় 4 মাস সময়সীমা অনুসরণ করে। দলটি গ্রহণ করেছে যে আমার এভাবে কাজ করা চালিয়ে যাওয়া উচিত এবং তাদের নিজের পরীক্ষা করা উচিত। বিচার শেষ হওয়ার পর থেকে আমি প্রায় ২ বছর ধরে বিডিডি-ইনগ করছি, অন্যরা ইস্যুটিকে ডাকাতে খুব ভাল হয়ে উঠেছে। ইস্যুটি নিয়ে "দ্বন্দ্ব" জোর করার পরিবর্তে আমি দলকে তাদের সম্মিলিত পিছনে নামতে এবং তাদের কিছুটা করার জন্য সময় দেওয়ার জন্য আলতোভাবে রাজি করার উপায়গুলি সন্ধান করছি।