اے آئی ٹیسٹنگ کا جال
آپ کسی کو یہ کہتے ہوئے سنتے ہیں کہ "ہم نے اس سہ ماہی میں 40% زیادہ ٹیسٹ مکمل کیے ہیں" اور ہر کوئی سر ہلاتا ہے۔
میں نے یہ ٹوکیو کی ایک SaaS کمپنی میں ہوتے ہوئے دیکھا۔ QA لیڈ فخر محسوس کر رہا تھا۔ مینجمنٹ خوش تھی۔ پائپ لائن گرین (green) تھی۔
چھ ہفتوں بعد، ایک پیمنٹ سسٹم 72 گھنٹوں کے لیے خراب ہو گیا۔ کسی نے اس پر توجہ نہیں دی کیونکہ AI نے ایسے ٹیسٹ لکھے تھے جو "درست ڈیٹا" کے بجائے صرف یہ چیک کر رہے تھے کہ "کوئی ایرر (error) نہ ہو"۔
یہ Testing Blindness ہے۔
یہ تب ہوتا ہے جب آپ کی ٹیم بہت سے ٹیسٹ تو تیار کر لیتی ہے لیکن یہ نہیں بتا پاتی کہ وہ ٹیسٹ کب آپ سے جھوٹ بول رہے ہیں۔ AI ٹیسٹ کوریج کو ٹیسٹ کوالٹی سمجھنے کی غلطی کو آسان بنا دیتا ہے۔
Qiita پر ایک حالیہ پوسٹ اسی جدوجہد کو ظاہر کرتی ہے۔ ایک انجینئر نے بغیر آٹومیشن والے پروجیکٹس کو سنبھالنے کے لیے AI کا استعمال کیا۔ ٹیسٹ تیزی سے بنتے گئے۔ میٹرکس (metrics) بہت اچھے نظر آئے۔
لیکن انجینئر کو Playwright اور API ٹیسٹنگ دستی طور پر (manually) سیکھنی پڑی۔ کیوں؟ کیونکہ AI سنٹیکس (syntax) تو لکھ سکتا تھا، لیکن وہ یہ نہیں سمجھتا تھا کہ سسٹم کیسے کام کرتا ہے۔
Testing Blindness کی تین اہم علامات ہیں:
• Assertion Atrophy: ٹیسٹ اس لیے پاس ہو جاتے ہیں کیونکہ وہ صرف یہ چیک کرتے ہیں کہ کوڈ کریش تو نہیں ہو رہا، نہ کہ یہ کہ آیا وہ صحیح طریقے سے کام کر رہا ہے۔ • Boundary Case Blindness: AI "happy paths" پر توجہ مرکوز کرتا ہے۔ یہ edge cases جیسے کہ null inputs یا race conditions کو نظر انداز کر دیتا ہے۔ • Regression Confidence Inflation: آپ خود کو محفوظ محسوس کرتے ہیں کیونکہ ٹیسٹ کی تعداد دوگنی ہو گئی ہے۔ حقیقت میں، آپ نے صرف اپنے غلط اعتماد کو دوگنا کر دیا ہے۔
میرے تجربے میں، ٹیمیں AI کا استعمال کرتے ہوئے مہینوں میں صفر ٹیسٹ سے 1,200 ٹیسٹ تک پہنچ جاتی ہیں۔ رپورٹس مکمل طور پر درست نظر آتی ہیں۔ لیکن اصل بگ ڈیٹیکشن ریٹ (bug detection rate) گر جاتا ہے۔
جاپان میں، مینجمنٹ اور عمل (kanri) پر توجہ ان بلند اعداد و شمار کو کامیابی کا احساس دلا سکتی ہے۔ مغرب میں، ٹیمیں اکثر ٹیسٹ چھوڑ دیتی ہیں کیونکہ AI اسے آسان بنا دیتا ہے۔ دونوں راستے پروڈکشن کی ناکامیوں کی طرف لے جاتے ہیں۔
AI میٹرکس کو بہتر بنانے کی کوشش کرتا ہے جبکہ آپ کی ڈی بگنگ (debug) کرنے کی صلاحیت کو نقصان پہنچاتا ہے۔
اگر آپ QA میں AI استعمال کرتے ہیں، تو ان اصولوں پر عمل کریں:
- ٹیسٹوں کا ہفتہ وار آڈٹ کریں: 5 رینڈم AI ٹیسٹ منتخب کریں۔ خود سے پوچھیں: "ایسی کیا چیز ہے جو اس ٹیسٹ کو غلط طریقے سے پاس کروا سکتی ہے؟" اگر آپ فوری جواب نہیں دے سکتے، تو آپ کا ایک blind spot ہے۔
- ایک حد مقرر کریں: ہر 10 AI ٹیسٹوں کے مقابلے میں، 2 edge case ٹیسٹ دستی طور پر لکھیں۔
- 3am ٹیسٹ کا استعمال کریں: پوچھیں کہ کیا یہ ٹیسٹ رات کے 3 بجے ہونے والی کسی ناکامی کو پکڑ سکیں گے؟ اگر آپ کو یقین نہیں ہے، تو وہ کافی اچھے نہیں ہیں۔
- ایک ماڈیول کو دستی رکھیں: ایک اہم حصے کا ٹیسٹ خود ہاتھ سے کریں۔ یہ آپ کی ڈی بگنگ کی مہارتوں کو تیز رکھتا ہے۔
ٹیسٹ کی مقدار کو ٹیسٹ کے معیار سے غلط نہ سمجھیں۔ کارکردگی کو فیصلے (judgment) کی جگہ نہ لینے دیں۔ وہ ٹیسٹ جو آپ کو بچاتے ہیں، وہی ہیں جنہیں آپ حقیقت میں سمجھتے ہیں۔
کیا آپ کی ٹیم نے AI کے استعمال کے بعد ٹیسٹنگ کے معیار میں کمی دیکھی ہے؟ اپنا تجربہ نیچے شیئر کریں۔
اختیاری سیکھنے کی کمیونٹی: https://t.me/GyaanSetuAi