মাঝারি থেকে বড় প্রকল্পের জন্য বিডিডি কি স্কেলযোগ্য?


22

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

তাই আমি ভাবছি, বিডিডি কি আসলেই এর মূল্যবান? এটি কী এমন সমস্যার সমাধান করে যা অন্যান্য কৌশলগুলি না করে!


খুব খারাপ, আমি মনে করি যে ইস্যুটি বিডিডি ইদানীং আরও বেশি জনপ্রিয় হয়েছে বলে বিবেচনা করে এটি বেশ গঠনমূলক।
ডিডি

1
পর্যাপ্ত প্রতিনিধি সহ যে কেউ যদি পুনরায় খোলার পরামর্শ দিতে পারেন তবে তা দুর্দান্ত লোক হবে।
ডিডি

আমি আবার খুলতে চাই, তবে আপনি ইতিমধ্যে প্রথম উত্তরটি গ্রহণ করেছেন ...
ম্যাটড্যাভি

1
আমি এটি গ্রহণ করেছি কারণ এটি বন্ধ ছিল, তাই আমি জানতাম যে আর কোনও উত্তর সম্ভব নয়, তবে আমি এই বিষয়ে আরও অভিজ্ঞতার প্রতিবেদনে সত্যই আন্তরিকভাবে প্রকাশ করেছি, আমি এখনই এটি গ্রহণ করব না
ডিডি

2
ঠিক আছে দুর্দান্ত :) আমি মনে করি আপনার প্রশ্নটি একটু সম্পাদনা করা উচিত। আমি মনে করি আপনার প্রশ্নটি বড় প্রকল্পগুলিতে বিডিডির স্কেলিবিলিটি সম্পর্কে is "বিডিডি কি আসলেই ভাল" বিষয়গত, "বিডিডি কি বড় প্রকল্পগুলিতে ভাল স্কেল করে" কিছুটা উদ্দেশ্যমূলক।
ম্যাটড্যাভি

উত্তর:


6

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

যদি আপনার পরীক্ষাগুলিতে জিনিসগুলি জটিল বা অতি জটিল হয় তবে সম্ভবত আপনি কোনও ভুল করছেন। বিডিডি এবং টিডিডির ক্ষেত্রেও এটি একই রকম। ভাল পরীক্ষা লেখা শক্ত এবং এটি শিখতে কয়েক মাস সময় লাগে takes


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

আপনি কিছু জটিল বিডিডি পরীক্ষা সংযুক্ত করতে পারেন এবং এগুলি আরও সহজ করার জন্য কী করা যেতে পারে তা আমি দেখতে পেতাম।
পাইট্র পেরাক

এটি এতটা সহজ নয়, আমার এখানে যেগুলি রয়েছে সেগুলি ইংরেজিতে নয় তবে আমি তাদের অনুবাদ করতে হবে, যদি অসুস্থভাবে কোনও প্রয়োজনীয়তা পাওয়া যায় যা আমি সহজেই ইংরেজিতে অনুবাদ করতে পারি তবে আমি এটি সংযুক্ত করতে পারি, তবে এরপরেও কোডটি একটি সমস্যা রয়েছে যা হতে পারে এখানে একটি পোস্টে সংযুক্ত করার জন্য খুব বড়।
ডিডি

কেন এই নিম্নমানের ছিল? আমি দুর্দান্ত সংস্থান দিয়েছি যা ওপিকে তার সমস্যাগুলি সমাধান করতে সহায়তা করবে।
পাইটর পেরাক

যা আমার অপ্রয়োজনীয়, আমি ক্ষতিপূরণ করতে +1 দেব তবে আমি আজ 14 দিনের মধ্যে আমার 30 টি ভোট ব্যবহার করায় এটি 14 ঘন্টার মধ্যেই করতে পারি।
ডিডি

5

এটি বুঝতে অনুধাবন করতে পারে যে বিডির ফোকাসটি কথোপকথন । বিডিডি সত্যিই একটি বিশ্লেষণ সরঞ্জাম যা একটি দুর্দান্ত বাই-প্রোডাক্ট হিসাবে কিছু রিগ্রেশন টেস্ট সরবরাহ করতে ঘটে।

আমি কথোপকথনে সব ধরণের স্তরে দৃশ্যাবলী ব্যবহার করেছি; একটি রিলিজ সম্ভবত ভালভাবে গ্রহণযোগ্য হবে কিনা তা দেখার জন্য মডিউল বা শ্রেণীর আচরণ কীভাবে করা উচিত তা নিয়ে কাজ করার জন্য বিভিন্ন স্টেকহোল্ডারদের সনাক্তকরণ থেকে

এটি আরও সহজ করার জন্য আমি পরামর্শ দিতে পারি এমন বেশ কয়েকটি ইঙ্গিত এবং টিপস রয়েছে।

যদি আপনি এটি আগে কখনও করেন নি, এটি পরিবর্তন হতে চলেছে।

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

সমস্ত প্রকল্পের তাদের কিছু দিক রয়েছে যা নতুন, বা আপনি এগুলি করছেন না।

আপনি যদি আগে এটি করেন তবে এটি বিরক্তিকর।

পাশাপাশি নতুন, পার্থক্যমূলক দিকগুলি, প্রকল্পগুলির সাধারণত তাদের কাছে কিছু জিনিসযুক্ত দিক থাকে যা ইতিমধ্যে সম্পন্নগুলির মতো similar উদাহরণস্বরূপ, যদি আমি একটি নতুন মোবাইল ফোন উত্পাদন করতাম তবে তার জন্য এখনও কল করা দরকার। "একটি ফোন কল করুন" এমন একটি সুপরিচিত দৃশ্য যা আমাদের এর মাধ্যমে কথা বলার দরকার পড়বে না। একইভাবে, "লগইন" বা "ব্যবহারকারী নিবন্ধকরণ" এর মতো জিনিসও বিরক্তিকর।

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

যদি কেউ এটি আগে করে থাকে তবে পরিস্থিতিগুলির মাধ্যমে কথা বলতে সহায়তা করতে পারে।

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

দৃশ্যের মাধ্যমে কথা বলা ডেভ দলকে আচরণ আবিষ্কার করতে, বিশেষজ্ঞের জ্ঞানের উপর দৃষ্টি আকর্ষণ করতে এবং পরিচিত, মূল্যবান আচরণটি ধরা পড়েছে কিনা তা নিশ্চিত করতে সহায়তা করতে পারে।

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

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

আরও পড়া

আপনি যদি এতে আগ্রহী হন তবে এখানে আমি লিখেছি এমন কিছু জিনিস যা সাহায্য করতে পারে।

বিডিডি বড়

ডেভসের জন্য সাইনেফিন , যা এই তিনটি অঞ্চলে আরও বিশদে বিস্তৃত

আমার টিউটোরিয়াল স্লাইডগুলি , যা আপনার জন্য সমস্ত সুন্দর এবং টীকাযুক্ত এবং পুরো স্ট্যাকটিও কভার করে।


এই তথ্যবহুল উত্তরের জন্য আপনাকে ধন্যবাদ, আপনার সংযুক্ত লিঙ্কগুলি অসুস্থ করে পড়ুন
ডিডি

3

আমরা সর্বশেষ পতনের দিকে একটি মোটামুটি জটিল ( ডোমেন জটিলতা ) প্রকল্প তৈরি করেছি এবং আমি সত্যই বলতে পারি যে বিডিডির সামনে কাজটি প্রকল্পটি সংরক্ষণ করে saved আমি ডোমেন জটিলতা এবং বিডিডির সুবিধার মধ্যে একটি দৃ corre় সম্পর্ক স্থাপন করেছি seen

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

এবং আপনি যখন পরে জিনিসগুলি বোঝার চেষ্টা করে ফিরে আসেন, তখন সেই পরীক্ষামূলক বৈশিষ্টটি জীবন রক্ষাকারী।


1

বিডিডি টিডিডি ভিত্তিক একটি উন্নয়ন প্রক্রিয়া (টেস্ট চালিত বিকাশ) আমার ব্যক্তিগত অভিজ্ঞতা থেকে আঁকা টিডিডির কিছু উপকারিতা এবং বিষয়গুলি এখানে দেওয়া হল:

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

কনস:

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

আমি 900,000 এরও বেশি লাইনের কোড সহ একটি প্রকল্পে কাজ করি। এবং আমি এখনও বিডিডি অনুসরণ করি ne একটি বড় বিষয় যা আপনার বিবেচনা করা উচিত তা হল পরীক্ষার মামলার কারণে খাঁটিভাবে ধরা পড়ার সম্ভাব্য সংখ্যা catch কয়েক বছর নীচে, আপনি বিডিডি দিয়ে শপথ করবেন!


2
বিডিডি এবং টিডিডি এবং যেখানে ডিডিডি অংশটি আসে তার মধ্যে পার্থক্য সম্পর্কে আপনাকে আরও বিস্তারিত জানানো উচিত
বেনজামিন গ্রুইনবাউম

1
@ বেঞ্জামিন গ্রুয়েনবাউম আদর্শভাবে, বিডিডি এবং টিডিডির মধ্যে কোনও পার্থক্য নেই। যথাযথভাবে অনুসরণ করার পরে বিডিডি টিডিডির সমান! সুতরাং আমি উত্তরের অংশ হিসাবে পার্থক্য আনার কোনও কারণ দেখতে পাইনি। যদিও পরামর্শ জন্য ধন্যবাদ!
রিকিটশিপ

1
"টিডিডি দ্রুত সফ্টওয়্যার বিকাশের অনুমতি দেয়।" এটির নিশ্চয়তা দেওয়ার মতো কোন গবেষণা ছিল? উৎসুক. আমি আরও উল্লেখ করব যে গতি-আপ লিনিয়ার নয়।
ডেন

2
@ আলেকজান্ডারমার্টিনস হাহ, একেবারে! এগুলি সনাক্ত করার চেয়ে আরও গুরুত্বপূর্ণ যে আপনারা ভাল মানের আইএমও হওয়ার ভান করার চেয়ে আপনার মানের মানের পরীক্ষা এবং পরিস্থিতি থাকতে পারে।
লুনিভোর

2
@ লুনিভোর হ্যাঁ বিডিডি / টিডিডি-র ক্ষেত্রে আমাকে বিরক্ত করে। পরীক্ষার কেসগুলি শক্ত হওয়া দরকার। দুর্ভাগ্যক্রমে উন্নয়ন সম্প্রদায়ের এই মতামত আছে যে যতক্ষণ পরীক্ষার মামলা রয়েছে ততক্ষণ ঠিক আছে! আমি একবার একটি পরীক্ষার কেস দেখতে পেলাম যেখানে সেখানে একটি সিকিএল স্টেটমেন্ট ব্যবহার করে একটি টেবিলের মধ্যে একটি সারি সন্নিবেশ করা হচ্ছিল এবং পরের ধাপে একই জোর দেওয়া হয়েছিল! বিকাশকারী কি ওরাকল কার্যকারিতা পরীক্ষা করার চেষ্টা করছিল ?!
রিকিতিশিপ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.