Specification by example
উদাহরণ দ্বারা নির্দিষ্টকরণ (এসবিই) হল বিমূর্ত বিবৃতির পরিবর্তে বাস্তবসম্মত উদাহরণ ব্যবহার করে প্রয়োজনীয়তা ক্যাপচার এবং চিত্রিত করার উপর ভিত্তি করে সফ্টওয়্যার পণ্যগুলির জন্য প্রয়োজনীয়তা এবং ব্যবসা-ভিত্তিক কার্যকরী পরীক্ষাগুলি সংজ্ঞায়িত করার একটি সহযোগিতামূলক পদ্ধতি। এটি চটপটে সফ্টওয়্যার বিকাশ পদ্ধতির প্রসঙ্গে প্রয়োগ করা হয়, বিশেষত আচরণ-চালিত বিকাশে। উল্লেখযোগ্য ক্ষেত্র এবং সাংগঠনিক জটিলতার বড় আকারের প্রকল্পগুলির প্রয়োজনীয়তা এবং কার্যকরী পরীক্ষা পরিচালনার জন্য এই পদ্ধতিটি বিশেষভাবে সফল। উদাহরণস্বরূপ নির্দিষ্টকরণ উদাহরণ-চালিত উন্নয়ন, নির্বাহযোগ্য প্রয়োজনীয়তা, গ্রহণযোগ্যতা পরীক্ষা-চালিত উন্নয়ন (এটিডিডি বা এ-টিডিডি), চটপটে গ্রহণযোগ্যতা পরীক্ষা, পরীক্ষা-চালিত প্রয়োজনীয়তা (টিডিআর) হিসাবেও পরিচিত। সুবিধা অত্যন্ত বিমূর্ত বা অভিনব নতুন ধারণাগুলি সুনির্দিষ্ট উদাহরণ ছাড়া বোঝা কঠিন হতে পারে। উদাহরণস্বরূপ নির্দিষ্টকরণের উদ্দেশ্য হল একটি সঠিক বোঝাপড়া তৈরি করা, এবং সফ্টওয়্যার বিকাশে ফিডব্যাক লুপগুলি উল্লেখযোগ্যভাবে হ্রাস করা, যার ফলে কম পুনর্নির্মাণ, উচ্চ পণ্যের গুণমান, সফ্টওয়্যার পরিবর্তনের জন্য দ্রুত টার্নআরন্ড সময় এবং পরীক্ষক, বিশ্লেষক এবং বিকাশকারীদের মতো সফ্টওয়্যার বিকাশের সাথে জড়িত বিভিন্ন ভূমিকার ক্রিয়াকলাপগুলির আরও ভাল সারিবদ্ধকরণ। সত্যের একক উৎস হিসাবে উদাহরণ উদাহরণস্বরূপ নির্দিষ্টকরণের একটি মূল দিক হল সমস্ত দৃষ্টিকোণ থেকে প্রয়োজনীয় পরিবর্তন সম্পর্কে সত্যের একক উৎস তৈরি করা। যখন ব্যবসায়িক বিশ্লেষকরা তাদের নিজস্ব নথিতে কাজ করেন, তখন সফ্টওয়্যার ডেভেলপাররা তাদের নিজস্ব ডকুমেন্টেশন বজায় রাখেন এবং পরীক্ষকরা কার্যকরী পরীক্ষার একটি পৃথক সেট বজায় রাখেন, সত্যের সেই বিভিন্ন সংস্করণগুলিকে ক্রমাগত সমন্বয় ও সিঙ্ক্রোনাইজ করার প্রয়োজনের দ্বারা সফ্টওয়্যার সরবরাহের কার্যকারিতা উল্লেখযোগ্যভাবে হ্রাস পায়। সংক্ষিপ্ত পুনরাবৃত্তিমূলক চক্রের ক্ষেত্রে, এই ধরনের সমন্বয় প্রায়শই সাপ্তাহিক বা দ্বি-সাপ্তাহিক ভিত্তিতে প্রয়োজন হয়। উদাহরণস্বরূপ নির্দিষ্টকরণের মাধ্যমে, বিভিন্ন ভূমিকা সত্যের একটি একক উৎস তৈরিতে অংশগ্রহণ করে যা প্রত্যেকের বোধগম্যতাকে ধারণ করে। স্পষ্টতা এবং নির্ভুলতা প্রদানের জন্য উদাহরণগুলি ব্যবহার করা হয়, যাতে একই তথ্য একটি নির্দিষ্টকরণ এবং একটি ব্যবসা-ভিত্তিক কার্যকরী পরীক্ষা উভয় হিসাবে ব্যবহার করা যেতে পারে। উন্নয়ন বা বিতরণের সময় আবিষ্কৃত যে কোনও অতিরিক্ত তথ্য, যেমন কার্যকরী ফাঁকগুলির ব্যাখ্যা, অনুপস্থিত বা অসম্পূর্ণ প্রয়োজনীয়তা বা অতিরিক্ত পরীক্ষা, সত্যের এই একক উৎসে যোগ করা হয়। যেহেতু কার্যকারিতা সম্পর্কে সত্যের একমাত্র উৎস রয়েছে, তাই বিতরণ চক্রের মধ্যে জ্ঞানের সমন্বয়, অনুবাদ এবং ব্যাখ্যার কোনও প্রয়োজন নেই। যখন প্রয়োজনীয় পরিবর্তনগুলিতে প্রয়োগ করা হয়, উদাহরণগুলির একটি পরিমার্জিত সেট কার্যকরভাবে একটি নির্দিষ্টকরণ এবং সফ্টওয়্যার কার্যকারিতা গ্রহণের জন্য একটি ব্যবসা-ভিত্তিক পরীক্ষা। পরিবর্তনটি বাস্তবায়িত হওয়ার পরে, উদাহরণ সহ নির্দিষ্টকরণ বিদ্যমান কার্যকারিতা ব্যাখ্যা করে একটি নথিতে পরিণত হয়। যেহেতু এই ধরনের নথির বৈধতা স্বয়ংক্রিয় হয়, যখন সেগুলি ঘন ঘন বৈধতা দেওয়া হয়, তখন এই ধরনের নথিগুলি অন্তর্নিহিত সফ্টওয়্যারের ব্যবসায়িক কার্যকারিতা সম্পর্কে তথ্যের একটি নির্ভরযোগ্য উৎস। এই ধরনের নথি এবং সাধারণ মুদ্রিত নথির মধ্যে পার্থক্য করার জন্য, যা দ্রুত পুরানো হয়ে যায়, উদাহরণ সহ নির্দিষ্টকরণের একটি সম্পূর্ণ সেটকে লিভিং ডকুমেন্টেশন বলা হয়। উদাহরণস্বরূপ নির্দিষ্টকরণ প্রয়োগকারী দলগুলি সাধারণত নিম্নলিখিত প্রক্রিয়া নিদর্শনগুলি সফলভাবে প্রয়োগ করেঃ সমস্ত দলের নির্দিষ্টকরণ কর্মশালা, ছোট সভা বা টেলিকনফারেন্স পর্যালোচনার মাধ্যমে সহযোগিতামূলকভাবে নির্দিষ্টকরণ লক্ষ্য থেকে সুযোগ পাওয়া-উদাহরণ ব্যবহার করে প্রয়োজনীয়তাগুলি চিত্রিত করা নির্দিষ্টকরণগুলি পরিমার্জন করা উদাহরণগুলির উপর ভিত্তি করে স্বয়ংক্রিয় পরীক্ষাগুলি নিয়মিতভাবে পরীক্ষাগুলি ব্যবহার করে অন্তর্নিহিত সফ্টওয়্যারটিকে বৈধতা দেওয়া ভবিষ্যতের বিকাশ সফ্টওয়্যার দলগুলিকে সমর্থন করার জন্য উদাহরণ সহ নির্দিষ্টকরণ থেকে একটি ডকুমেন্টেশন সিস্টেম তৈরি করা যা উদাহরণস্বরূপ একটি স্ক্রাম কাঠামোর মধ্যে নির্দিষ্টকরণ প্রয়োগ করে সাধারণত পণ্যের ব্যাকলগকে পরিমার্জন করতে তাদের সময়ের 5%-10% ব্যয় করে, সহযোগিতামূলকভাবে নির্দিষ্ট করা সহ, উদাহরণ ব্যবহার করে প্রয়োজনীয়তা চিত্রিত করা এবং উদাহরণগুলি পরিমার্জন করা। উদাহরণ ম্যাপিং একটি সহজ কৌশল যা কথোপকথন পরিচালনা করতে পারে এবং অল্প সময়ের মধ্যে গ্রহণযোগ্যতার মানদণ্ড অর্জন করতে পারে। প্রক্রিয়াটি গল্পগুলিকে নিয়ম এবং উদাহরণে বিভক্ত করে উদাহরণস্বরূপ নির্দিষ্টকরণের আকারে নথিভুক্ত করে এবং এটি বিডিডি ক্ষেত্রে ব্যাপকভাবে ব্যবহৃত কৌশল। প্রয়োগযোগ্যতা নির্দিষ্টকরণ উদাহরণস্বরূপ একটি ব্যবসায়িক ক্ষেত্রের দৃষ্টিকোণ থেকে প্রয়োজনীয়তা বোঝার বা যোগাযোগে সমস্যা সৃষ্টি করার জন্য পর্যাপ্ত সাংগঠনিক এবং ক্ষেত্রের জটিলতা সহ প্রকল্পগুলির ক্ষেত্রে প্রযোজ্য। এটি সম্পূর্ণরূপে প্রযুক্তিগত সমস্যার ক্ষেত্রে প্রযোজ্য নয় বা যেখানে মূল জটিলতা জ্ঞান বোঝার বা যোগাযোগের ক্ষেত্রে নয়। বিনিয়োগ ব্যাঙ্কিং, আর্থিক ব্যবসা, বীমা, বিমানের টিকিট সংরক্ষণ, অনলাইন গেমিং এবং দামের তুলনা সহ বিভিন্ন ক্ষেত্রে এই পদ্ধতির নথিভুক্ত ব্যবহার রয়েছে। একটি পারমাণবিক বিদ্যুৎকেন্দ্র সিমুলেশন প্রকল্পেও অনুরূপ পদ্ধতির নথিভুক্ত করা হয়েছে। ব্যবসায়িক দৃষ্টিকোণ থেকে সফ্টওয়্যার সরবরাহ করার সময় একটি দলকে সমর্থন করার জন্য পরিকল্পিত পরীক্ষার বিভাগে ভাগ করা উদাহরণের উপর ভিত্তি করে পরীক্ষাগুলি সর্বোত্তমভাবে ফিট করে (এজাইল টেস্টিং কোয়াড্রেন্টস দেখুন)-সঠিক পণ্যটি নির্মিত হয়েছে তা নিশ্চিত করা। এগুলি এমন পরীক্ষাগুলিকে প্রতিস্থাপন করে না যা একটি সফ্টওয়্যার সিস্টেমকে বিশুদ্ধ প্রযুক্তিগত দৃষ্টিকোণ থেকে দেখে (যেগুলি মূল্যায়ন করে যে কোনও পণ্য সঠিক উপায়ে তৈরি করা হয়েছে কিনা, যেমন ইউনিট পরীক্ষা, উপাদান বা প্রযুক্তিগত সংহতকরণ পরীক্ষা) বা পরীক্ষাগুলি যা কোনও পণ্যের বিকাশের পরে মূল্যায়ন করে (যেমন নিরাপত্তা অনুপ্রবেশ পরীক্ষা)। ইতিহাস সফ্টওয়্যার প্রকল্পগুলিতে সত্য, প্রয়োজনীয়তা এবং স্বয়ংক্রিয় পরীক্ষার একক উৎস হিসাবে বাস্তবসম্মত উদাহরণগুলির প্রাচীনতম নথিভুক্ত ব্যবহার হল ওয়াইক্যাশ + প্রকল্প, যা ওয়ার্ড কানিংহাম 1996 সালে 'এ প্যাটার্ন ল্যাঙ্গুয়েজ অফ কম্পিটিটিভ ডেভেলপমেন্ট' পত্রিকায় বর্ণনা করেছেন। 2004 সালে মার্টিন ফাউলার 'স্পেসিফিকেশন বাই এক্সাম্পল' নামটি উদ্ভাবন করেন। উদাহরণ দ্বারা নির্দিষ্টকরণ হল 1997 সালের দিকে প্রস্তাবিত এক্সট্রিম প্রোগ্রামিংয়ের গ্রাহক পরীক্ষা অনুশীলনের একটি বিবর্তন এবং 2004 সাল থেকে ডোমেন-চালিত নকশা থেকে সর্বব্যাপী ভাষা ধারণা, 1989 সালে ওয়েইনবার্গ এবং গস দ্বারা বর্ণিত প্রয়োজনীয়তা হিসাবে ব্ল্যাক-বক্স পরীক্ষার ধারণাটি ব্যবহার করে। স্বয়ংক্রিয়করণ বড় আকারের প্রকল্পগুলিতে উদাহরণস্বরূপ নির্দিষ্টকরণের সফল প্রয়োগের জন্য উদাহরণের একটি বড় সেটের (পরীক্ষা) বিপরীতে সফ্টওয়্যার কার্যকারিতার ঘন ঘন বৈধতা প্রয়োজন। বাস্তবে, এর জন্য উদাহরণের উপর ভিত্তি করে পরীক্ষাগুলি স্বয়ংক্রিয় হওয়া প্রয়োজন। একটি সাধারণ পদ্ধতি হল পরীক্ষাগুলি স্বয়ংক্রিয় করা কিন্তু উদাহরণগুলিকে এমন আকারে রাখা যা পাঠযোগ্য এবং অ-প্রযুক্তিগত এবং প্রযুক্তিগত দলের সদস্যদের কাছে অ্যাক্সেসযোগ্য, উদাহরণগুলিকে সত্যের একক উৎস হিসাবে রাখা। এই প্রক্রিয়াটি টেস্ট অটোমেশন সরঞ্জামগুলির একটি শ্রেণী দ্বারা সমর্থিত যা দুটি দিক-নির্দিষ্টকরণ এবং অটোমেশন স্তরে বিভক্ত পরীক্ষার সাথে কাজ করে। একটি পরীক্ষার নির্দিষ্টকরণ যা প্রায়শই একটি সাধারণ পাঠ্য বা এইচটিএমএল আকারে থাকে এবং এতে উদাহরণ এবং সহায়ক বিবরণ থাকে। অটোমেশন স্তরটি উদাহরণটিকে পরীক্ষার অধীনে একটি সফ্টওয়্যার সিস্টেমের সাথে সংযুক্ত করে। এই ধরনের সরঞ্জামের উদাহরণগুলি হলঃ ইন্টিগ্রেটেড টেস্ট রোবট ফ্রেমওয়ার্কের জন্য বেহাত কনকর্ডিয়ন শসা ফিটনেসি ফ্রেমওয়ার্ক. নেট গেজ (সফ্টওয়্যার) রেফারেন্সের জন্য স্পেকফ্লো বাহ্যিক লিঙ্ক গুগল আলোচনা গোষ্ঠী বই, ভিডিও, সরঞ্জাম এবং Specificationbyexample.com থেকে উপস্থাপনা মার্টিন ফাউলারের ব্লিকি সফ্টওয়্যার ডেভেলপমেন্ট দর্শনের সংজ্ঞা সফ্টওয়্যার টেস্টিং ব্যবসায়িক বিশ্লেষণ