Specification by example
مثال کے طور پر وضاحت (ایس بی ای) سافٹ ویئر مصنوعات کے لیے ضروریات کی وضاحت اور کاروبار پر مبنی فنکشنل ٹیسٹ کے لیے ایک باہمی تعاون کا نقطہ نظر ہے جو تجریدی بیانات کے بجائے حقیقت پسندانہ مثالوں کا استعمال کرتے ہوئے ضروریات کو حاصل کرنے اور واضح کرنے پر مبنی ہے۔ اس کا اطلاق فرتیلی سافٹ ویئر کی ترقی کے طریقوں کے تناظر میں کیا جاتا ہے، خاص طور پر رویے پر مبنی ترقی میں۔ یہ نقطہ نظر خاص طور پر اہم ڈومین اور تنظیمی پیچیدگی کے بڑے پیمانے کے منصوبوں پر ضروریات اور فعال ٹیسٹ کے انتظام کے لیے کامیاب ہے۔ مثال کے طور پر وضاحت کو مثال پر مبنی ترقی، قابل عمل ضروریات، قبولیت ٹیسٹ پر مبنی ترقی (اے ٹی ڈی ڈی یا اے-ٹی ڈی ڈی)، چستی قبولیت کی جانچ، ٹیسٹ پر مبنی ضروریات (ٹی ڈی آر) کے نام سے بھی جانا جاتا ہے۔ فوائد انتہائی تجریدی یا نئے تصورات کو ٹھوس مثالوں کے بغیر سمجھنا مشکل ہو سکتا ہے۔ مثال کے طور پر وضاحت کا مقصد ایک درست تفہیم کی تعمیر کرنا ہے، اور سافٹ ویئر ڈویلپمنٹ میں فیڈ بیک لوپس کو نمایاں طور پر کم کرتا ہے، جس کی وجہ سے کم دوبارہ کام، اعلی پروڈکٹ کا معیار، سافٹ ویئر کی تبدیلیوں کے لیے تیزی سے تبدیلی کا وقت اور سافٹ ویئر ڈویلپمنٹ میں شامل مختلف کرداروں کی سرگرمیوں کی بہتر صف بندی جیسے ٹیسٹر، تجزیہ کار اور ڈویلپر۔ سچائی کے واحد ماخذ کے طور پر مثالیں مثال کے طور پر وضاحت کا ایک کلیدی پہلو تمام نقطہ نظر سے مطلوبہ تبدیلیوں کے بارے میں سچائی کا واحد ذریعہ بنانا ہے۔ جب کاروباری تجزیہ کار اپنے دستاویزات پر کام کرتے ہیں، تو سافٹ ویئر ڈویلپر اپنی دستاویزات کو برقرار رکھتے ہیں اور ٹیسٹر فنکشنل ٹیسٹوں کا ایک علیحدہ سیٹ برقرار رکھتے ہیں، سچائی کے ان مختلف ورژنوں کو مسلسل مربوط اور ہم آہنگ کرنے کی ضرورت کی وجہ سے سافٹ ویئر کی فراہمی کی تاثیر نمایاں طور پر کم ہو جاتی ہے۔ مختصر تکراری چکروں کے ساتھ، اس طرح کے ہم آہنگی کی اکثر ہفتہ وار یا دو ہفتہ وار بنیاد پر ضرورت ہوتی ہے۔ مثال کے طور پر وضاحت کے ساتھ، مختلف کردار سچائی کا ایک واحد ذریعہ بنانے میں حصہ لیتے ہیں جو ہر ایک کی سمجھ پر قبضہ کرتا ہے۔ مثالوں کو وضاحت اور درستگی فراہم کرنے کے لیے استعمال کیا جاتا ہے، تاکہ ایک ہی معلومات کو تفصیلات اور کاروبار پر مبنی فنکشنل ٹیسٹ دونوں کے طور پر استعمال کیا جا سکے۔ ترقی یا ترسیل کے دوران دریافت ہونے والی کوئی بھی اضافی معلومات، جیسے فعال خلا کی وضاحت، گمشدہ یا نامکمل ضروریات یا اضافی ٹیسٹ، سچائی کے اس واحد ماخذ میں شامل کی جاتی ہیں۔ چونکہ فعالیت کے بارے میں سچائی کا صرف ایک ہی ذریعہ ہے، اس لیے ترسیل کے چکر کے اندر علم کی ہم آہنگی، ترجمہ اور تشریح کی ضرورت نہیں ہے۔ جب مطلوبہ تبدیلیوں پر لاگو کیا جاتا ہے، تو مثالوں کا ایک بہتر مجموعہ مؤثر طریقے سے ایک وضاحت اور سافٹ ویئر کی فعالیت کی قبولیت کے لیے کاروبار پر مبنی امتحان ہوتا ہے۔ تبدیلی کے نافذ ہونے کے بعد، مثالوں کے ساتھ تفصیلات موجودہ فعالیت کی وضاحت کرنے والی دستاویز بن جاتی ہیں۔ چونکہ اس طرح کے دستاویزات کی توثیق خودکار ہوتی ہے، جب ان کی کثرت سے توثیق کی جاتی ہے، تو اس طرح کے دستاویزات بنیادی سافٹ ویئر کی کاروباری فعالیت کے بارے میں معلومات کا ایک قابل اعتماد ذریعہ ہیں۔ اس طرح کے دستاویزات اور عام طباعت شدہ دستاویزات کے درمیان فرق کرنے کے لیے، جو جلد ہی پرانی ہو جاتی ہیں، مثالوں کے ساتھ وضاحتیں کا ایک مکمل مجموعہ زندہ دستاویزات کہلاتا ہے۔ کلیدی طریق کار جو ٹیمیں مثال کے طور پر تفصیلات کا اطلاق کرتی ہیں وہ عام طور پر درج ذیل عمل کے نمونوں کو کامیابی کے ساتھ لاگو کرتی ہیں: اہداف سے دائرہ کار حاصل کرنا-تمام ٹیموں کی تفصیلات والی ورکشاپس، چھوٹی میٹنگوں یا ٹیلی کانفرنس کے جائزوں کے ذریعے تعاون کے ساتھ وضاحت کرنا مثالوں کا استعمال کرتے ہوئے ضروریات کی وضاحت کرنا وضاحتیں بہتر بنانا مثالوں پر مبنی خودکار ٹیسٹ اکثر ٹیسٹوں کا استعمال کرتے ہوئے توثیق کرنا مستقبل کے ترقیاتی سافٹ ویئر ٹیموں کی حمایت کرنے کے لیے مثالوں کے ساتھ وضاحتیں سے دستاویزات کا نظام تیار کرنا جو مثال کے طور پر تفصیلات کو اسکرم فریم ورک کے اندر لاگو کرتے ہیں عام طور پر مصنوعات کے بیک لاگ کو بہتر بنانے میں اپنے وقت کا 5%-10% خرچ کرتے ہیں، بشمول باہمی تعاون سے وضاحت کرنا، مثالوں کا استعمال کرتے ہوئے ضروریات کی وضاحت کرنا اور مثالوں کو بہتر بنانا۔ مثال نقشہ سازی ایک سادہ تکنیک ہے جو گفتگو کو آگے بڑھا سکتی ہے اور مختصر وقت میں قبولیت کے معیار کو حاصل کر سکتی ہے۔ یہ عمل کہانیوں کو قواعد اور مثالوں میں توڑتا ہے جو مثال کے طور پر تفصیلات کی شکل میں دستاویزی ہیں، اور یہ بی ڈی ڈی کے دائرے میں وسیع پیمانے پر استعمال ہونے والی تکنیک ہے۔ مثال کے طور پر اطلاق کی وضاحت کافی تنظیمی اور ڈومین کی پیچیدگی والے منصوبوں پر لاگو ہوتی ہے تاکہ کاروباری ڈومین کے نقطہ نظر سے ضروریات کو سمجھنے یا بات چیت کرنے میں مسائل پیدا ہوں۔ یہ خالصتا تکنیکی مسائل پر لاگو نہیں ہوتا ہے یا جہاں کلیدی پیچیدگی علم کو سمجھنے یا بات چیت کرنے میں نہیں ہے۔ انویسٹمنٹ بینکنگ، فنانشل ٹریڈنگ، انشورنس، ایئر لائن ٹکٹ ریزرویشن، آن لائن گیمنگ اور قیمت کے موازنہ سمیت ڈومینز میں اس نقطہ نظر کے دستاویزی استعمال ہیں۔ اسی طرح کے نقطہ نظر کو نیوکلیئر پاور پلانٹ کے تخروپن منصوبے میں بھی دستاویز کیا گیا ہے۔ مشترکہ مثالوں پر مبنی ٹیسٹ کاروباری نقطہ نظر سے سافٹ ویئر کی فراہمی کے دوران ٹیم کی مدد کے لیے بنائے گئے ٹیسٹ کے زمرے میں بہترین فٹ ہوتے ہیں (دیکھیں ایجائل ٹیسٹنگ کواڈرینٹس)-اس بات کو یقینی بنانا کہ صحیح پروڈکٹ بنایا گیا ہے۔ وہ ایسے ٹیسٹوں کی جگہ نہیں لیتے جو سافٹ ویئر سسٹم کو خالص تکنیکی نقطہ نظر سے دیکھتے ہیں (وہ جو اس بات کا اندازہ کرتے ہیں کہ آیا کوئی پروڈکٹ صحیح طریقے سے بنایا گیا ہے، جیسے یونٹ ٹیسٹ، جزو یا تکنیکی انضمام ٹیسٹ) یا ایسے ٹیسٹ جو کسی پروڈکٹ کے تیار ہونے کے بعد اس کا جائزہ لیتے ہیں (جیسے سیکیورٹی دخول ٹیسٹ)۔ سافٹ ویئر پروجیکٹس پر سچائی، ضروریات اور خودکار ٹیسٹ کے واحد ذریعہ کے طور پر حقیقت پسندانہ مثالوں کا سب سے قدیم دستاویزی استعمال وائی کیش + پروجیکٹ ہے، جسے وارڈ کننگھم نے 1996 میں پیپر اے پیٹرن لینگویج آف کمپٹیٹیو ڈیولپمنٹ میں بیان کیا تھا۔ مثال کے طور پر تفصیلات کا نام مارٹن فاؤلر نے 2004 میں وضع کیا تھا۔ مثال کے طور پر وضاحتیں 1997 کے آس پاس تجویز کردہ انتہائی پروگرامنگ کے کسٹمر ٹیسٹ پریکٹس اور 2004 سے ڈومین پر مبنی ڈیزائن سے ہر جگہ زبان کے خیال کا ارتقاء ہے، جس میں 1989 میں وینبرگ اور گاؤس کے بیان کردہ تقاضوں کے مطابق بلیک باکس ٹیسٹ کے خیال کو استعمال کیا گیا ہے۔ آٹومیشن بڑے پیمانے کے منصوبوں پر مثال کے طور پر تفصیلات کے کامیاب اطلاق کے لیے مثالوں (ٹیسٹ) کے ایک بڑے سیٹ کے خلاف سافٹ ویئر کی فعالیت کی بار بار توثیق کی ضرورت ہوتی ہے۔ عملی طور پر، اس کے لیے خودکار ہونے کے لیے مثالوں پر مبنی ٹیسٹ کی ضرورت ہوتی ہے۔ ایک عام نقطہ نظر یہ ہے کہ ٹیسٹ کو خودکار بنایا جائے لیکن مثالوں کو ایسی شکل میں رکھا جائے جو پڑھنے کے قابل ہو اور غیر تکنیکی اور تکنیکی ٹیم کے ممبروں کے لیے قابل رسائی ہو، مثالوں کو سچائی کے واحد ذریعہ کے طور پر رکھا جائے۔ اس عمل کو ٹیسٹ آٹومیشن ٹولز کی ایک کلاس کی حمایت حاصل ہے جو ٹیسٹ کے ساتھ کام کرتے ہیں جو دو پہلوؤں میں تقسیم ہوتے ہیں-تفصیلات اور آٹومیشن پرت۔ کسی ٹیسٹ کی وضاحت جو اکثر سادہ متن یا ایچ ٹی ایم ایل کی شکل میں ہوتی ہے اور اس میں مثالیں اور معاون وضاحتیں ہوتی ہیں۔ آٹومیشن پرت مثال کو ٹیسٹ کے تحت سافٹ ویئر سسٹم سے جوڑتی ہے۔ اس طرح کے ٹولز کی مثالیں یہ ہیں: انٹیگریٹڈ ٹیسٹ روبوٹ فریم ورک کے لیے بہت کونکورڈین ککڑی فٹ نیس فریم ورک. NET گیج کے لیے سپیک فلو (سافٹ ویئر) حوالہ جات بیرونی لنکس گوگل ڈسکشن گروپ کتابیں، ویڈیوز، ٹولز اور Specificationbyexample.com سے پریزنٹیشنز مارٹن فاؤلر کے بلیکی سافٹ ویئر ڈویلپمنٹ فلسفوں پر تعریف سافٹ ویئر ٹیسٹنگ بزنس تجزیہ