পরীক্ষা চালিত উন্নয়ন কে করে?


23

আমি গত 4½ বছর ধরে এন্টারপ্রাইজ স্পেসে কাজ করছি এবং লক্ষ্য করেছি যে সাধারণত কথা বললে, উদ্যোগগুলি পরীক্ষার প্রথম শৈলীর উন্নয়নের জন্য অনুকূল পরিবেশ নয়। প্রকল্পগুলি সাধারণত স্থির-ব্যয়, নির্দিষ্ট সময়রেখা এবং জলপ্রপাত শৈলী হয়। যেকোন ইউনিট টেস্টিং, যদি কিছু করা হয় তবে সাধারণত QA পর্যায়ে উন্নয়নের পরে আসে এবং অন্য দল দ্বারা সম্পন্ন হয়।

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

কোন ধরণের দোকান, সংস্থাগুলি এবং ক্লায়েন্টরা পরীক্ষা-চালিত উন্নয়নের কাজ সবচেয়ে ভাল করে? কোন ধরণের প্রকল্পগুলির জন্য টিডিডি উপযুক্ত হবে?


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

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

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

@ রেইন: আমেন, ভাই !!
আইএবস্ট্র্যাক্ট

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

উত্তর:


33

আমার লেখা কোডের প্রতিটি লাইন পরীক্ষা চালিত বিকাশ ব্যবহার করে using ম্যানেজমেন্ট যদি প্রথমে রাইটিং টেস্ট নিয়ে বোর্ডে না থাকে তবে আমি এ সম্পর্কে ম্যানেজমেন্টকে বলি না। আমি অনুভব করি যে দৃ driven়ভাবে পরীক্ষা চালিত বিকাশ একটি ভাল প্রক্রিয়া।


19
আমি আপনাকে বিশেষভাবে টিডিডি করার কারণে তা উত্সাহিত করেছি, তবে অনুমতি না চেয়ে আপনি যা সঠিক বলে মনে করছেন তা করার কারণে। পেশাদাররা তাই করেন।
সেরজিও আকোস্টা

24
@ সার্জিও - এটি একটি পেশাদার যা করেন তার একটি ভয়াবহ সংজ্ঞা। কিছু সঠিক বলে মনে করে অগত্যা এটির প্রয়োজন হয় না, বিশেষত ইঞ্জিনিয়ারিংয়ের ক্ষেত্রে। কিছু করার জন্য কিছু সময় নিয়ম ভাঙার একটা সময় এবং জায়গা রয়েছে তবে পেশাদারের চিহ্নটি হ'ল অনুমতি না জিজ্ঞাসা করে যা সঠিক মনে হয় তা করা (বিশেষত যখন আপনি কোনও নির্দিষ্ট প্রক্রিয়া করার জন্য বেতন পাচ্ছেন), এটি একটি জটিল বিষয় একটি স্থূল ওভারসিম্লিফিকেশন।
luis.espinal

6
আমি কী বলেছি তা পেশাদার হিসাবে কী সংজ্ঞা হিসাবে গ্রহণ করবেন না take কোনও জটিল বিষয়টির গভীরতার সাথে চিকিত্সা করার জন্য দুটি বাক্যটির মন্তব্য আশা করবেন না। দুঃখিত।
সার্জিও আকোস্টা

22
এটি সম্পর্কে কীভাবে: "একজন পেশাদার এটি করার জন্য বলা না করে সঠিক জিনিসটি করেন"। উত্তম? এটাই আমি বোঝাতে চাইছিলাম।
সার্জিও আকোস্টা

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

17

আমার মনিব এই বিষয়ে আমাকে আজ একটি ভাল খাওয়ালেন, আমি মনে করি যে আমি এটি চুরি করতে যাচ্ছি তিনি অন্য কারও কাছ থেকে এটি চুরি করছিলেন।

"কোনও ছুতার বোর্ডটি কাটার আগে তার মাপকাঠি আশা করবেন?"

আমি হাই স্কুলে কাঠের দোকান ক্লাস নিয়েছি এবং স্কুলের মাধ্যমে নির্মাণ কাজ করেছি। আমাদের মন্ত্রটি সর্বদা "দুবার পরিমাপ করা, একবার কাটা" ছিল যা ব্যঙ্গাত্মক দ্বারা অনুসরণ করা হয়েছিল "আমি এটিকে কেটে ফেললাম এবং আবার এটি কেটে ফেললাম এবং এটি এখনও খুব ছোট ছিল!"


আমি এই উপমাটির সাথে একমত হতে পারি না with এটি আসলে উন্নয়নের জটিলতার কাছে আসে না to তবে আবার, আমি টিডিডিতে পুরোপুরি বিশ্বাস করি না।
xil3

@ xil3 হ্যাঁ, উপমাটি ভাল নয়। এটি আরও "প্রায় পরিমাপ করা হবে, পরে চেক করা হবে না এবং তারপরে কাটা হবে" be তবে উত্তরটি এখনও খুব ভাল

12

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

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

আপনি জলপ্রপাত প্রকল্পেও ড্রাইভ কোড পরীক্ষা করতে পারেন, এটি একটি ইঞ্জিনিয়ারিং শৃঙ্খলা, কোনও প্রকল্প পরিচালনার কৌশল নয়।

আমি কোনও উপায়ে টিডিডি পাগল নই, তবে এটি আপনাকে সফ্টওয়্যার ডিজাইন সম্পর্কে অনেক কিছু শেখায়।


1
"আপনি যদি পরে পরীক্ষা করেন তবে আপনি যে কোডটি লিখেছেন তা পরীক্ষা করে নেওয়া কঠিন হয়ে যাবে বলে আপনি পুনরায় কাজ করেন।" এটি আসলে সত্য নয়। আপনি যদি শিথিল কোডযুক্ত কোড না তৈরি করেন তবে এটি সত্য হবে। তুমি নিশ্চিত আপনি করতে পারবেন না এটা প্রথম পরীক্ষা ছাড়া testable কোড লিখতে?

@ ডেভুরড ইলিজিয়াম: আমি সম্মত: পরীক্ষার কোডটি লেখার জন্য প্রথমে পরীক্ষা লেখাই একমাত্র উপায় নয়।
জর্জিও

6

আমার সাথে থাকুন, কারণ এটির একটি স্বতন্ত্রতা থাকবে et নেট স্বাদ: পি

পরীক্ষার প্রথম পদ্ধতির জন্য প্রযোজ্য প্রকল্পগুলির প্রকারের ক্ষেত্রে, কিছু জিনিস আমি সন্ধান করব:

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

শেষ পর্যন্ত, "সংস্থা" পরীক্ষার-প্রথম স্থানান্তরের পক্ষে সমর্থন করতে অনেক কিছু করতে পারে, মূল কী শিফটটি হওয়া দরকার তা বিকাশকারীদের মনে minds আমি "আপনি প্রথমে আপনার পরীক্ষা লিখুন" পদ্ধতির উপর ছেড়ে দিয়েছি এবং পরিবর্তে শিক্ষণীয় মুহুর্তগুলি সন্ধান করব।

এমপিএমরো-তে যদি তাদের কোনও সমস্যা থাকে তবে তা না বলার বিষয়ে মন্তব্যে +1 করুন: পি


1
ভাল বলেছ. একটি বড় সমস্যা কারণ যে সময়ে যখন প্রযুক্তিগত ঋণ একটি বিশাল পরিমাণ সম্পর্কে আসে আপনি করতে পারবেন এমনকি পরীক্ষা বাস্তবায়ন শুরু, এবং আপনি প্রযুক্তিগত ঋণ নিষ্কাশন আবেদন পুনর্লিখন করতে পারবে না, এবং কখনও কখনও আপনি এমনকি দূরে কারণ আপনার প্রযুক্তিগত ঋণ refactor করতে পারবে না আরও অনেক অতিরিক্ত বৈশিষ্ট্য সম্পূর্ণ করার জন্য বরাদ্দ করা হয়েছে।
ওয়েন মোলিনা

6

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

আপনি ভাল ব্যবসায়ের ক্ষেত্রেও করতে পারেন:

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

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

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

  • টিডিডি হ'ল টাস্কটি শুরু করার আগে হাতে নিয়ে ভাবতে হবে। এটি "দুবার পরিমাপ করুন, একবার কাটুন" এর লাইনের সাথে - অতিরিক্ত পরিমাপটি কাজের ক্ষেত্রে একটি প্রান্তিক পরিমাণ যুক্ত করে, তবে আপনার অতি মূল্যবান সংস্থান - দেব ঘন্টাগুলিকে ফেলে দেওয়া এড়িয়ে যায়।

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


2

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


2

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

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

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


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

2

দুঃখের সাথে বলতে গেলে, আমি নিজেকে সত্যই ক্লাসিক পরীক্ষার-প্রথম অর্থে এটি ব্যবহার করার সুযোগ পাইনি, তাই আমি "আমাকে! আমাকে! আমি এটিই করি!" বলতে পারি না। আমি ধরে নিচ্ছি যে প্রশ্নটি জিজ্ঞাসা করছে যে "কোন শিল্প / সংস্থাগুলি বোর্ড জুড়ে টিডিডি ব্যবহার করে" তার পরিবর্তে "কেউ কি তাদের দৈনন্দিন জীবনে টিডিডি ছিটিয়ে রাখতে পারে?" আমি একমত যে একটি পৃথক বিকাশকারী পুরো গ্রুপকে এটি করার জন্য বাধ্য না করে পুরোপুরি টিডিডি করতে পারে, আমি শুধু মনে করি না যে এটিই প্রশ্নের পয়েন্ট ছিল।

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

  • টিডিডি শুরুর আগে কোনও বৃহৎ বিদ্যমান কোড বেস নেই

  • সংস্থাটি বিশাল নয় এবং তাই প্রচুর পরিমাণে "আমরা সবসময় অন্য উপায়ে এটি করেছি" পুশব্যাক নেই।

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

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

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

  • প্রক্রিয়ায় বিনিয়োগ করা হয় এমন স্টেকহোল্ডাররা।


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

2

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

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

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


2

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

সুতরাং আমি অনুমান করি যে আপনাকে কিছু ধরণের লার্নিং টেস্টগুলি করতে হবে, পৃথক প্রমাণের ধারণাগুলি করতে হবে এবং এরপরে এটি আবার লিখতে হবে, বা আমি ভুল করছি?

এবং (আমি জানি এটি একটি পুরানো তবে আমি এখনও কোনও ভাল উত্তর দেখতে পাইনি): আপনি কীভাবে টিডিডি ব্যবহার করে অ্যালগরিদমগুলি কোড করবেন (যখন ফলাফলগুলি খুব সহজেই "দৃsert়তার সাথে" দৃsert়তার সাথে জটিল হতে পারে)?

আমি সত্যিই টিডিডি এবং নৌকায় im এর ইতিবাচক দিকগুলি দেখতে পাচ্ছি তবে আপনি যখন লেখেন সেই কোডটি আপনাকে দ্বিগুণ করে তুলবে তখন নবীনদের পক্ষে খুব কষ্ট হয় (এবং আপনি এমন সঙ্গী পেয়ে গেছেন যা ভাল দিকগুলি দেখেন না এবং আপনাকে বিদ্রূপ করেন) আরএডি সহ)


1

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


সুবিধাটি পরে আসে, কারণ আপনি মূলত আচরণ হিসাবে কোড হিসাবে ডকুমেন্ট করছেন। যে কোনও কোড পরিবর্তন অবশ্যই পরীক্ষাগুলি পাস করতে হবে বা আচরণের পরিবর্তন হয়েছে।

1

আমি এটা করি. আমাদের ব্যবহারকারীর গল্পগুলির অগ্রগতি একটি কানবান বোর্ডে সন্ধান করা হয়েছে, যার একটি "একটি পরীক্ষা আছে?" বাম দিকে (উজান) কলাম।

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

গ্রহণযোগ্যতা-পরীক্ষার প্রতিক্রিয়া লুপটি এক প্রকার দীর্ঘ: গল্পটি সম্পূর্ণ হতে বেশ কয়েক দিন সময় নিতে পারে। বিকাশের নিজস্ব, সংক্ষিপ্ত টিডিডি প্রতিক্রিয়া লুপ রয়েছে।

"[... কোনও পরীক্ষার প্রথম শৈলী নয় ...] আরও চটপটির সাথে অনুরূপ ...."

এটি Agile একটি সম্পূর্ণ ভুল ব্যাখ্যা। সম্পন্ন সংজ্ঞাটি হ'ল আগিলের মূল উপাদান এবং এটির উপরে স্থিত একটি স্তম্ভটি হ'ল স্বয়ংক্রিয় স্বীকৃতি পরীক্ষা (যা আমি উপরে বর্ণিত এটির একটি উপায় If) যদি চূড়ান্ত প্রোগ্রামিং (এক্সপি) যদি এগ্রিল বাস্তবায়ন পদ্ধতি হিসাবে ব্যবহৃত হয়, তবে এটিডিডি / বিডিডি এবং টিডিডি নির্ধারিত হয়।


1

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

মূলত, যখন প্রয়োজনীয়তার জটিলতা মানে আমি কোডটিতে নষ্ট হয়ে যেতে পারি তখন আমি তা করি।

এটি শুরু করা একটি কঠিন অভ্যাস এবং এটির জন্য ম্যানেজমেন্টের দরকার পড়ে তবে আপনার পরীক্ষাগুলি যখন বিকাশের মধ্য দিয়ে অর্ধেক পথ ভাঙতে শুরু করে, তখন এটি জীবন রক্ষাকারী হতে পারে!


1

আমি এই প্রশ্নটি জিজ্ঞাসা করতে চেয়েছিলাম, আসলে কতগুলি সংস্থা টিডিডি অনুশীলন করছে।

১১ বছরে আমি পেশাদারভাবে প্রোগ্রামিং করছি কেবল শেষ দুটি সংস্থা টিডিডি সম্পর্কেও সচেতন ছিল (এটি প্রায় 5 বছর ধরে বিস্তৃত ছিল, যে সময়ের আগে টিডিডি আজকের মতো জনপ্রিয় ছিল না)। আমি টিডিডির জন্য আমার বিক্রয় পিচটি আবিষ্কার করার আগে তাড়া করে দেব এবং আপনার প্রশ্নের উত্তর দেব :)

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

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

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

যদি আপনার একটি বছরের বাণিজ্যিক অভিজ্ঞতা থাকে তবে আপনি প্রশংসা করবেন যে প্রতিটি সংস্থা সমালোচনামূলক কাজগুলি দৃ as় করে তোলে , এবং তারপরে একটি উচ্চতর অগ্রাধিকার স্তর আবিষ্কার করে এবং সম্ভবত এটিরও উপরে একটি - বিশেষত যখন উপরের কেউ কোনও বৈশিষ্ট্য / বাগ ফিক্স চাপছে। আমি দিমত করছি ...

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

বিক্রয় পিচ ...

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

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

নন-প্রোগ্রামারদের (প্রায়শই) এই অন্তর্দৃষ্টি থাকবে না এবং তাই টিডিডি তাদের জন্য খুব বেশি মূল্য রাখে না এবং এটিকে পূর্বের প্রকাশের তারিখে ডিসপোজেবল শর্টকাট হিসাবে দেখা যায়।

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

ইন আমার মতে সফটওয়্যার উন্নয়ন শিল্প (পুরো), বর্তমানে নষ্ট হয়ে গেছে যে আপনার সফ্টওয়্যার জন্য পরীক্ষা থাকার আদর্শ নয়।

অন্যান্য শিল্পে এটি চিত্র করুন: চিকিত্সা, বিমান, অটোমোবাইল, প্রসাধনী, নরম খেলনা, অ্যালকোহলযুক্ত পানীয় ইত্যাদি I আমি আমার বাগদত্তাকে এমন একটি শিল্পের নাম রাখতে বলেছিলাম যেখানে তারা পণ্যটি পরীক্ষা করে না এবং সে পারে না!

সম্ভবত কোনও টেস্টিং ঘটে না বলে এটি অন্যায় কারণ এটি ঘটে ... তবে স্বয়ংক্রিয় পরীক্ষা ছাড়াই সংস্থাগুলিতে এটি খুব ম্যানুয়াল / হিউম্যান (পড়ুন ক্লানকি এবং প্রায়শই ত্রুটির প্রবণতা) প্রক্রিয়া।

একটি প্রশ্ন আমি আপনার প্রশ্নে লড়াই করতে চাই ...

তারা সাধারণত বিকাশ তত্ক্ষণাত্ শুরু করতে বা একটি সংক্ষিপ্ত ডিজাইনের পরে চায় wanted চটপটি করার মতো আরও কিছু।

হচ্ছে "তত্পর" পরীক্ষার ছাড়া অগ্রসর বিহিত নেই, তালিকাভুক্ত প্রথম সদস্য agilemanifesto.org হয় কেন্ট অঙ্গুলিনির্দেশ , XP এবং TDD- এ স্রষ্টা!

আপনি টিডিডির প্রতি আগ্রহী হলে দুটি বই আমি অত্যন্ত সুপারিশ করব বা কেবল সেগুলি পড়েনি এবং আগ্রহী প্রোগ্রামার হ'ল (সবাই কি এই অধিকারটি পড়ছে ?;)

টেস্ট দ্বারা পরিচালিত বর্ধিত অবজেক্ট ওরিয়েন্টেড সফ্টওয়্যার বৃদ্ধি

ক্লিন কোড - রবার্ট সি মার্টিন ("আঙ্কেল বব") সিরিজ

এই দুটি বই একে অপরের প্রশংসা করে এবং কয়েকটি পৃষ্ঠায় প্রচুর পরিমাণে সংবেদনশীল।

এই প্রশ্ন জিজ্ঞাসা করার জন্য ধন্যবাদ :)


0

যারা ক্লোন বাস্তবায়ন করেন। আপনি যখন কোনও কিছু বিকাশ করতে চান তখন আমি আরও ভাল প্রক্রিয়াটির কথা ভাবতে পারি না, এটি ঠিক একটি বিদ্যমান প্রোগ্রামের মতো কাজ করে।


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

0

স্পষ্টতই এটি একটি দুর্দান্ত অস্বাভাবিক ক্ষেত্রে তবে এসকিউএলাইটের বিকাশকারীরা ব্যাপকভাবে পরীক্ষাগুলি ব্যবহার করে। (আমি ধরে নিই যে তাদের উন্নয়ন প্রক্রিয়াটি প্রথম-পরীক্ষা, যদিও আমি নিশ্চিত নই।)

  • কোডের 73,000 লাইন
  • 91,378,600 টেস্ট কোডের লাইন

Http://www.sqlite.org/testing.html দেখুন

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