QA میں کام کرتے ہوئے، میں اکثر اپنے سر میں ایک آواز سنتا ہوں، "کیا آپ کو یقین ہے کہ آپ نے سب کچھ چیک کر لیا ہے؟" بعض اوقات یہ ایک مددگار جھٹکا ہوتا ہے، لیکن اگر اسے چیک نہ کیا جائے تو یہ ایک مسئلہ بننا شروع ہو جاتا ہے۔ ذیل میں، میں اس پریشان کن اندرونی بگ کے بارے میں بات کروں گا اور یہ کہ یہ کیسے ظاہر ہوتا ہے۔
اس مضمون میں، میں اپنے خیالات اور بصیرت کا اشتراک کرنا چاہتا ہوں جو میں نے اس رجحان کے مطالعہ سے حاصل کیے ہیں۔ مجھے امید ہے کہ آپ ان کو مفید پائیں گے، اور میں تبصروں میں اس پر آپ کا نقطہ نظر سننا پسند کروں گا۔ بہر حال، تاثرات خود کو باہر سے دیکھنے اور بہتر بنانے کے بہترین طریقوں میں سے ایک ہے۔
ایک بار، کاموں کے درمیان سوئچ کرنے اور پہلے ہی ٹیسٹنگ مکمل کرنے کے بعد، میں نے ہر چیز کو دو بار چیک کرنے کا فیصلہ کیا، صرف اس صورت میں۔ تب میں نے ایک چھوٹی لیکن اہم تفصیل دیکھی۔ ٹاسک میں حساب کا فارمولہ شامل نہیں تھا کہ نیا فنکشن انجام دینے والا تھا۔ متجسس، میں نے ٹاسک کی تفصیل اور مہاکاوی دونوں کو دوبارہ پڑھا اور حیرت کی بات یہ ہے کہ حساب کتاب کا فارمولہ کہیں بھی بیان نہیں کیا گیا۔ تو، میں اس کا حساب کیسے کر رہا تھا؟
یہ تسلیم کرنا شرمناک ہے، لیکن میں ایک مختلف کام کے فارمولے کے ساتھ حسابات کا استعمال اور تصدیق کر رہا ہوں۔ جب کہ دونوں کاموں کا تعلق تھا، فارمولوں کو آزادانہ طور پر کام کرنا تھا۔ اس نگرانی کو محسوس کرتے ہوئے، میں نے فوری طور پر حساب کتاب کے صحیح اصولوں کی درخواست کی، کام کا دوبارہ تجربہ کیا، اور دریافت کیا کہ ڈویلپر نے بھی یہی غلطی کی تھی۔ انہوں نے بھی دوسرے کام سے فارمولہ استعمال کیا تھا۔
ایک بار جب میں ٹیسٹ پلان سے گزر جاتا ہوں، تو یہ چھوٹا سا پریشانی پیدا کرنے والا آئیڈیاز نکالنا شروع کر دیتا ہے جیسے، "کیا ہوگا اگر کلائنٹ بڑے فونٹ سائز یا پرانی OS استعمال کرتا ہے؟"
یہ ناقابل یقین حد تک مددگار ہے جب جانچ کی جاتی ہے، خصوصیت لائیو ہے، اور اچانک ایک خرابی پاپ اپ ہوجاتی ہے۔ اس کی شناخت اور درست ہونے کے بعد، میں یہ تعین کرنے کے لیے اپنے ٹیسٹ ریکارڈز کو چیک کرتا ہوں کہ آیا ٹیسٹنگ کے دوران میں نے مسئلہ چھوٹ دیا یا اسے بعد میں پروڈکشن میں متعارف کرایا گیا تھا۔ کبھی کبھی، میں اپنے اسکرین شاٹس یا ریکارڈنگز میں سادہ نظر میں چھپے ہوئے بگ کو دیکھتا ہوں۔ جب ایسا ہوتا ہے، میں اس بات کا کھوج لگاتا ہوں کہ میں نے اسے کیوں نظر انداز کیا اور اسے پکڑنے کے لیے کوئی ٹیسٹ کیس کیوں نہیں تھا۔
یہ کبھی کبھی ایک سکریو اپ کے بعد ہوتا ہے، لیکن بعض اوقات ایسے بھی ہوتے ہیں جب لٹل بگ کی آواز بغیر کسی اشتعال کے اٹھ جاتی ہے۔ کچھ مواقع پر، یہ مجھے سونے کے بعد بھی اکیلا نہیں چھوڑے گا، اور میں اپنے آپ کو اس بارے میں نوٹ بناؤں گا کہ مجھے اور کیا چیک کرنا چاہیے۔
یہ پہلے نقطہ کا براہ راست نتیجہ ہے: اضطراب میرے دماغ میں سب سے عجیب اور خوفناک منظرناموں کو جنم دیتا ہے۔ اس وقت، وہ تنقیدی نظر آتے ہیں، لیکن پیچھے مڑ کر دیکھتے ہیں، وہ اکثر کچھ ایسا ہی نکلتے ہیں کہ "چاند کے نیچے دیودار کے درخت میں اگر کوئی سیٹی بجائے تو؟"
کبھی کبھی، کسی کام کو اگلے سٹیٹس پر لے جانے اور کچھ نیا شروع کرنے کے بعد بھی، ان ٹیسٹ کیسز کے بارے میں خیالات مجھے پریشان کرتے ہیں اور مجھے نئے کام پر توجہ مرکوز کرنے سے روکتے ہیں۔ ایسے معاملات میں، پریشان کن Checker-Bug کو بند کرنا مشکل ہو سکتا ہے۔
جو میرے ذہن میں اُبھر آیا جب میں نشیب و فراز کے بارے میں لکھ رہا تھا – اور کچھ جسے میں منتر کی طرح دہرا رہا تھا – یہ ہے: مکمل جانچ ایک افسانہ ہے۔ ہمیشہ کیڑے ہوں گے۔
اس سے کوئی فرق نہیں پڑتا ہے کہ آپ کتنے ہی مکمل ہیں، اعمال اور منظرناموں کے ہر امتزاج کی پیش گوئی کرنا ناممکن ہے، جس کا مطلب ہے کہ آپ اپنے صارفین کے کرنے سے پہلے ہر ایک بگ کو نہیں پکڑ سکتے۔
خاص طور پر مسلسل بدلتی ہوئی دنیا میں۔
یہ وہ چیز ہے جسے آپ کو قبول کرنا ہے اور آگے بڑھنا ہے۔
جس چیز نے مجھے اس کے ساتھ حل کرنے میں مدد کی وہ پیداوار کی خرابیوں کی بنیادی وجوہات کا تجزیہ کرنا تھا – جسے کچھ لوگ پوسٹ مارٹم کہتے ہیں۔ یہ تب ہوتا ہے جب آپ اس میں شامل ہر فرد کے ساتھ بات کرتے ہیں تاکہ یہ معلوم کریں کہ بگ کیسے ہوا اور ہم اسے دوبارہ ہونے سے روکنے کے لیے کیا کر سکتے ہیں۔
اور میں نے سیکھا کہ زیادہ تر نہیں، سنگین نقائص سادہ نگرانی کی وجہ سے ہوتے ہیں: بعض اوقات خالی اقدار والے ٹیسٹ کیسز کی جانچ نہیں کی جاتی تھی، جس کی وجہ سے بعض مصنوعات اسٹور میں ظاہر نہیں ہوتیں۔ دوسری بار، لوکلائزیشن چھوٹ گئی تھی، جس کے نتیجے میں اسکرین ٹائٹل خالی تھا۔
پھر بھی آسمان نہیں گرا۔ کام جاری رہا، اور ہم سب نے ان علاقوں پر زیادہ توجہ دی جہاں ہم پہلے پھسل گئے تھے۔
میں اس پریشان کن Checker-Bug کو خاموش کرتا تھا جو ٹیسٹ ڈیزائن کی تکنیکوں کو نافذ کر رہا تھا: فیصلہ کی میزیں اور ریاستی منتقلی کے خاکے۔
یہ آپ کو درخواست کی منطق کو دیکھنے اور ممکنہ ٹیسٹ کیسز کی واضح تصویر حاصل کرنے میں مدد کرتے ہیں، جس کا مطلب ہے کہ آپ زیادہ پر اعتماد ہو سکتے ہیں کہ آپ انہیں نظر انداز نہیں کریں گے۔
اگر آپ کو ریفریشر کی ضرورت ہے تو، فیصلہ کرنے کی میز ایک میز ہے جہاں ہم کالموں اور قطاروں میں شرائط اور قواعد درج کرتے ہیں۔ ایک بار جب ہم نے تمام شرائط اور قواعد کے لیے اختیارات کی وضاحت کر دی، تو ہم متوقع نتائج کو بھرتے ہیں۔
اسٹیٹ ٹرانزیشن ڈایاگرام اس وقت استعمال ہوتا ہے جب ہمارے پاس مختلف حالتوں کے ساتھ کوئی چیز ہوتی ہے، اور آبجیکٹ کچھ شرائط کی بنیاد پر اپنی حالت بدلتا ہے۔ یہ ہمیشہ مناسب نہیں ہوتا ہے، لیکن جب میں نے اکاؤنٹنگ سروس تیار کرنے پر کام کیا تو یہ بہت مددگار تھا۔ ان خاکوں میں چیزیں رپورٹس، ایپلی کیشنز یا ڈیجیٹل دستخط جیسی چیزیں تھیں۔
اس پریشان کن اندرونی بگ کا علاج دراصل مجھے خود ہی مل گیا۔ یہ سکریو اپس کے بعد ٹیسٹ کیسز اور کمیونیکیشن کا ہم مرتبہ جائزہ نکلا۔
سادہ، شاید واضح بھی، لیکن یہ ایک دلکش کی طرح کام کرتا ہے۔
میرے دماغ کو پرسکون کرنے کا طریقہ تاثیر اور خطرات کا اندازہ لگانا تھا۔ جب اندرونی بگ میرے کان میں سرگوشی کرنے لگا، "کچھ اور ٹیسٹ کیسز چیک کریں،" میں اپنی ٹیم کی قیادت کو یاد کروں گا اور تین سوالات پوچھوں گا:
ہاں، بعض اوقات مختلف زبان کی ترتیبات، تاریک اور ہلکے تھیمز، فونٹ کے سائز میں اضافہ، وغیرہ کے ساتھ کئی OS ورژنز پر جانچ کرنا سمجھ میں آتا ہے، لیکن اکثر یہ چیک غیر ضروری ہوتے ہیں۔
تصور کریں کہ اس طرح کے ٹیسٹ کرتے وقت آپ کو ایک بگ نظر آتا ہے: اس کی ترجیح کیا ہوگی؟ دوبارہ پیدا کرنے کے مخصوص مراحل کی وجہ سے، یہاں تک کہ حادثے کو بھی معمولی ترجیح دی جا سکتی ہے۔
ان چیکوں میں کتنا وقت لگے گا؟ پانچ سے دس منٹ - کوئی بڑی بات نہیں، لیکن وہ وقت بھی ہمیشہ دستیاب نہیں ہوتا ہے۔ اس وقت، آپ اوسط سائز کے کام کی تفصیل پڑھ سکتے تھے۔
کسی بھی ٹول کی طرح، آپ کا وہ گھبراہٹ والا اندرونی بگ ایک نعمت یا لعنت ہو سکتا ہے۔ کسی چیز کو مؤثر طریقے سے استعمال کرنے کا طریقہ سیکھنے میں اکثر تجربہ اور وقت لگتا ہے۔ اور مجھے امید ہے کہ یہ مضمون آپ کو اپنے اندرونی نقاد کو تیزی سے قابو کرنے، اپنے اعصاب کو بچانے اور آپ کے خود اعتمادی کو بڑھانے میں مدد کرے گا۔
میں صرف آپ کو کچھ سپورٹ دینا چاہتا ہوں، اور ہوسکتا ہے کہ اس سے لڑنے کے بجائے جب تک آپ تھک نہ جائیں، آپ کو اس ننھے جانور کے ساتھ کام کرنے اور اسے اپنا حلیف بنانے کا راستہ مل جائے گا۔