AI टेस्टिंग का जाल
आप किसी को यह कहते हुए सुनते हैं, "हमने इस तिमाही में 40% अधिक टेस्ट शिप किए हैं" और हर कोई सिर हिलाकर सहमति देता है।
मैंने टोक्यो की एक SaaS कंपनी में ऐसा होते देखा। QA लीड को गर्व था। मैनेजमेंट खुश था। पाइपलाइन ग्रीन (green) थी।
छह सप्ताह बाद, एक पेमेंट सिस्टम 72 घंटों के लिए खराब हो गया। किसी ने ध्यान नहीं दिया क्योंकि AI ने ऐसे टेस्ट लिखे थे जो "सही डेटा" के बजाय केवल "कोई एरर नहीं" (no errors) की जांच कर रहे थे।
यह Testing Blindness है।
ऐसा तब होता है जब आपकी टीम बहुत सारे टेस्ट तो बना लेती है, लेकिन यह नहीं बता पाती कि वे टेस्ट कब आपसे झूठ बोल रहे हैं। AI टेस्ट कवरेज को टेस्ट क्वालिटी समझने की गलती करना आसान बना देता है।
Qiita पर एक हालिया पोस्ट इसी संघर्ष को दर्शाती है। एक इंजीनियर ने बिना ऑटोमेशन वाले प्रोजेक्ट्स को संभालने के लिए AI का उपयोग किया। टेस्ट तेज़ी से बने। मेट्रिक्स शानदार दिखे।
लेकिन इंजीनियर को Playwright और API टेस्टिंग मैन्युअल रूप से सीखनी पड़ी। क्यों? क्योंकि AI सिंटैक्स (syntax) तो लिख सकता था, लेकिन उसे यह समझ नहीं था कि सिस्टम कैसे काम करता है।
Testing Blindness के तीन मुख्य लक्षण हैं:
• Assertion Atrophy: टेस्ट इसलिए पास हो जाते हैं क्योंकि वे केवल यह देखते हैं कि कोड क्रैश तो नहीं हो रहा, न कि यह कि वह सही ढंग से काम कर रहा है या नहीं। • Boundary Case Blindness: AI "happy paths" पर ध्यान केंद्रित करता है। यह null inputs या race conditions जैसे edge cases को छोड़ देता है। • Regression Confidence Inflation: आपको सुरक्षित महसूस होता है क्योंकि टेस्ट की संख्या दोगुनी हो गई है। वास्तव में, आपने केवल अपने झूठे आत्मविश्वास को दोगुना कर दिया है।
मेरे अनुभव में, टीमें AI का उपयोग करके कुछ ही महीनों में शून्य टेस्ट से 1,200 टेस्ट तक पहुँच जाती हैं। रिपोर्ट एकदम सही दिखती हैं। लेकिन वास्तविक बग डिटेक्शन रेट (bug detection rate) गिर जाता है।
जापान में, मैनेजमेंट और प्रोसेस (kanri) पर ध्यान देने से ये ऊंचे आंकड़े सफलता जैसे लग सकते हैं। पश्चिम में, टीमें अक्सर टेस्ट छोड़ देती हैं क्योंकि AI इसे आसान बना देता है। दोनों ही रास्ते प्रोडक्शन फेलियर (production failures) की ओर ले जाते हैं।
AI मेट्रिक्स को ऑप्टिमाइज़ करता है जबकि आपकी डिबग (debug) करने की क्षमता को नुकसान पहुँचाता है।
यदि आप QA में AI का उपयोग करते हैं, तो इन नियमों का पालन करें:
- टेस्ट का साप्ताहिक ऑडिट करें: 5 रैंडम AI टेस्ट चुनें। पूछें: "ऐसी क्या चीज़ होगी जिससे यह टेस्ट गलत तरीके से पास हो जाए?" यदि आप तुरंत उत्तर नहीं दे सकते, तो आपकी एक ब्लाइंड स्पॉट (blind spot) है।
- एक बाउंड्री कोटा निर्धारित करें: हर 10 AI टेस्ट के लिए, 2 edge case टेस्ट मैन्युअल रूप से लिखें।
- '3am टेस्ट' का उपयोग करें: पूछें कि क्या ये टेस्ट रात के 3 बजे होने वाली विफलता को पकड़ पाएंगे। यदि आप सुनिश्चित नहीं हैं, तो वे पर्याप्त अच्छे नहीं हैं।
- एक मॉड्यूल को मैन्युअल रखें: एक महत्वपूर्ण सेक्शन का हाथ से टेस्ट करें। यह आपके डिबगिंग कौशल को तेज़ रखता है।
टेस्ट की मात्रा को टेस्ट की गुणवत्ता समझने की गलती न करें। दक्षता (efficiency) को निर्णय क्षमता (judgment) का स्थान न लेने दें। जो टेस्ट आपको बचाते हैं, वे वही हैं जिन्हें आप वास्तव में समझते हैं।
क्या आपकी टीम ने AI का उपयोग करने के बाद टेस्टिंग की गुणवत्ता में गिरावट देखी है? अपना अनुभव नीचे साझा करें।
वैकल्पिक शिक्षण समुदाय: https://t.me/GyaanSetuAi