इकाइयाँ
1. सॉफ्टवेयर परीक्षण और क्यूए में आर्टिफिशियल इंटेलिजेंस का परिचय: भूमिकाएं, सीमाएं, नकली जोखिम और मान्यता 2. परीक्षण परिदृश्य और परीक्षण केस निर्माण: आवश्यकता से व्यापक नियंत्रण तक 3. खोजपूर्ण परीक्षण और परीक्षण आइडिया जेनरेशन: एआई के साथ क्रिएटिव बग हंटिंग 4. यूआई टेस्ट ऑटोमेशन: एआई के साथ सेलेनियम, नाटककार और साइप्रस कोड उत्पन्न करना 5. एपीआई परीक्षण स्वचालन: एआई के साथ अनुबंध, स्कीमा और एंड-टू-एंड सत्यापन 6. यूनिट टेस्ट जेनरेशन और टेस्टेबिलिटी: एआई के साथ मजबूत परीक्षण 7. त्रुटि रिपोर्ट लेखन और प्राथमिकता: एआई के साथ स्पष्ट, प्रतिलिपि प्रस्तुत करने योग्य रिकॉर्ड 8. परीक्षण कवरेज विश्लेषण और जोखिम-आधारित परीक्षण: एआई के साथ सही निशाना लगाना 9. प्रतिगमन परीक्षण, परीक्षण रखरखाव, और नाजुक परीक्षणों का मुकाबला 10. मिथ्या-विश्वास जोखिम, परीक्षण गुणवत्ता, और उत्परिवर्तन परीक्षण: परीक्षण परीक्षण 11. एंड-टू-एंड वर्कफ़्लो, सीआई/सीडी एकीकरण, नैतिकता और सुरक्षा: एआई का जिम्मेदारी से उपयोग करना
इकाई 1 / 11

सॉफ्टवेयर परीक्षण और क्यूए में आर्टिफिशियल इंटेलिजेंस का परिचय: भूमिकाएं, सीमाएं, नकली जोखिम और मान्यता

लाभ:

  • यह भेद करने में सक्षम होना कि कृत्रिम बुद्धिमत्ता क्यूए प्रक्रिया में वास्तविक समय कहाँ बचाती है और कहाँ कार्य जोखिम स्तर के आधार पर 'प्रकाशन के लिए तैयार' जैसे गुणवत्ता निर्णय मनुष्यों पर छोड़ दिए जाते हैं
  • गलत पास के जोखिम को पहचानने और एक सत्यापन अनुशासन लागू करने की क्षमता जो जानबूझकर कोड को तोड़कर प्रत्येक एआई परीक्षण का परीक्षण करती है
  • परीक्षण डेटा, व्यक्तिगत डेटा और कुंजियों की सुरक्षा करने की क्षमता, और केवल प्राधिकरण के भीतर और रक्षात्मक उद्देश्यों के लिए सुरक्षा परीक्षण करने की आदत हासिल करना।

एक रिहाई की रात पर विचार करें. सैकड़ों परीक्षण चलाए गए, उन सभी को हरी झंडी मिल गई, टीम को राहत मिली और सॉफ्टवेयर लाइव हो गया। अगली सुबह, ग्राहक ने बताया कि भुगतान स्क्रीन क्रैश हो गई है। परीक्षण हरे थे लेकिन उन्हें त्रुटि नज़र नहीं आई। यह गुणवत्ता आश्वासन (क्यूए) पेशे का सबसे घातक दुःस्वप्न है, यानी वह अनुशासन जो व्यवस्थित रूप से यह सुनिश्चित करता है कि सॉफ्टवेयर वांछित गुणवत्ता का है: वह परीक्षण जो हरा चमकता है लेकिन वास्तव में किसी भी चीज़ की पुष्टि नहीं करता है। जब कृत्रिम बुद्धिमत्ता (एआई - सॉफ्टवेयर जो ऐतिहासिक डेटा से पैटर्न निकालता है और टेक्स्ट और कोड उत्पन्न करता है) इस पेशे में प्रवेश करता है, तो वास्तव में इस दुःस्वप्न में भारी तेजी और वृद्धि दोनों होती है। इस मॉड्यूल का प्रारंभिक वादा स्पष्ट है: एआई एक परीक्षण सहायक, ब्लूप्रिंट जनरेटर और विचार गुणक है; आप वह परीक्षक हैं जो "क्या यह सॉफ़्टवेयर रिलीज़ के लिए तैयार है" निर्णय पर हस्ताक्षर करता है।

इस पहली इकाई में हम अनुशासन पर ध्यान देंगे, उपकरण पर नहीं। आप सीखेंगे कि एआई क्यूए प्रक्रिया में वास्तविक समय कहां बचाता है, यह कहां खतरनाक है, भ्रामक हरा तथाकथित "गलत-पास" सबसे बड़ा जोखिम क्यों है, प्रत्येक आउटपुट को कैसे सत्यापित करें, और आप किस टूल को कौन सा डेटा दे सकते हैं। इस नींव को रखे बिना, बाद की इकाइयाँ हवा में रहेंगी।

परीक्षण प्रक्रिया में AI कहाँ काम आता है?

आइए परीक्षण कार्यों को दो बड़े समूहों में विभाजित करें। पहला क्लस्टर: दोहरावदार, उत्पादक, ड्राफ्ट नौकरियां। किसी आवश्यकता से एक परीक्षण केस का मसौदा तैयार करना, ब्रेकपॉइंट्स को सूचीबद्ध करना, एक स्क्रीन के लिए एक ऑटोमेशन कोड स्केलेटन लिखना, एक जटिल त्रुटि मामले को एक साफ त्रुटि रिपोर्ट में अनुवाद करना, लॉग फ़ाइलों की सैकड़ों पंक्तियों का सारांश देना, एक एपीआई प्रतिक्रिया से एक स्कीमा निकालना। इन कार्यों में AI मिनटों को सेकंड में कम कर देता है और थकान नहीं होती।

दूसरा समूह: ऐसे निर्णय जिनका परिणाम गुणवत्ता, विश्वास और जिम्मेदारी है। "क्या यह संस्करण लाइव हो सकता है", "क्या यह बग गंभीर है या इसे स्थगित किया जा सकता है", "क्या यह परीक्षण कवरेज पर्याप्त है", "क्या यह परिदृश्य वास्तविक उपयोगकर्ता जोखिम को पकड़ता है" आदि जैसे निर्णयों के लिए संदर्भ, उत्पाद ज्ञान और जिम्मेदारी की आवश्यकता होती है। यहां एआई विकल्प, ड्राफ्ट उत्पन्न करता है - लेकिन आप "पास/फेल" और "गो/नो गो" का निर्णय लेते हैं।

आइए एक वाक्य में अंतर को स्पष्ट करें: एआई "किन स्थितियों का परीक्षण किया जा सकता है और इसका परीक्षण करने वाले कोड को कैसे लिखा जाए" में मजबूत है; जब यह प्रश्न आता है कि "क्या यह सॉफ़्टवेयर वास्तव में काम करता है और इसकी पुष्टि कौन करता है?" तो निर्णय आपका है।

युक्ति: एआई को काम सौंपने से पहले, पूछें: "यदि यह आउटपुट गलत है और मैं ध्यान नहीं देता तो क्या होगा?" यदि उत्तर "मैं कुछ मिनट खो दूंगा" है, तो आसानी से सौंपें। यदि उत्तर "दोषपूर्ण सॉफ़्टवेयर लाइव हो जाता है" है, तो एआई को ड्राफ्ट तैयार करने दें और आप निर्णय और सत्यापन करेंगे।

गलत पास: क्यूए में एआई का नंबर एक जोखिम

जब कोई परीक्षण हरे रंग की रोशनी देता है, तो इसका दो मतलब हो सकता है: या तो सॉफ्टवेयर वास्तव में सही ढंग से काम कर रहा है, या यह बग नहीं देख रहा है क्योंकि परीक्षण गलत तरीके से लिखा गया था। दूसरे को गलत पास कहा जाता है - परीक्षण "पास" कहता है लेकिन वास्तव में किसी भी चीज़ की पुष्टि नहीं करता है। एआई के साथ किए गए परीक्षणों में यह जोखिम काफी बढ़ जाता है, क्योंकि एआई धाराप्रवाह, सहज दिखने वाले लेकिन खाली परीक्षण लिखने में बहुत सफल है।

छद्म-पास के तीन सबसे सामान्य रूप हैं: (1) बिना दावे के परीक्षण - कोड चलता है, इसमें कोई दावा नहीं होता है, हमेशा पास होता है। (2) स्व-सत्यापन परीक्षण - परीक्षण के अपेक्षित मूल्य की गणना परीक्षण के तहत कोड के आउटपुट से की जाती है; अर्थात्, कोड जो भी उत्पन्न करता है, परीक्षण उसे "सही" मान लेता है। (3) परीक्षण जो गलत चीज़ की पुष्टि करता है - दावा मौजूद है, लेकिन यह किसी तुच्छ चीज़ की जाँच करता है (उदाहरण के लिए "प्रतिक्रिया शून्य नहीं है"), वास्तविक व्यावसायिक नियम की नहीं।

सावधानी: हरा परीक्षण पैनल गुणवत्ता का प्रमाण नहीं है; अधिक से अधिक यह कहता है कि "हमने जो नियंत्रण लिखे हैं वे अभी टूटे नहीं हैं"। एआई द्वारा उत्पादित परीक्षण पर "पास" देखकर आराम न करें - असली सवाल यह है: यदि मैं जानबूझकर कोड तोड़ दूं तो क्या यह परीक्षण लाल हो जाएगा? यदि वह घूमता नहीं है तो वह परीक्षण एक सजावट है।

इस पूरे मॉड्यूल में दोहराया जाने वाला सुनहरा नियम: जानबूझकर कोड को तोड़कर प्रत्येक एआई परीक्षण का परीक्षण करें। यदि परीक्षण अभी भी हरा है, तो वह परीक्षण काम नहीं कर रहा है। (हम इकाई 10 में उत्परिवर्तन परीक्षण के रूप में इस विचार को और गहरा करेंगे।)

सत्यापन अनुशासन: तीन चरण

एआई आत्मविश्वास से बोलता है; इसका मतलब यह नहीं कि यह सच है. प्रत्येक परिणाम पर लागू करने के लिए तीन-चरणीय प्रतिवर्त विकसित करें:

  1. इसे आवश्यकता से बांधें. प्रत्येक परीक्षण मामला और दावा है कि एआई का उत्पादन वास्तविक आवश्यकता या स्वीकृति मानदंड पर आधारित होना चाहिए (ऐसी शर्तें जो किसी कार्य को "पूर्ण" माने जाने के लिए पूरी होनी चाहिए)। "यह परिदृश्य किस नियम की पुष्टि करता है?" पूछना।
  2. गुस्सा होना। कोड को तोड़कर जनरेट किया गया परीक्षण एक बार चलाएँ। यदि यह लाल नहीं होता है, तो परीक्षण अमान्य है। एआई परीक्षण में यह समझौता न किया जा सकने वाला कदम है।
  3. इसे संदर्भ फ़िल्टर से गुजारें। क्या आउटपुट उत्पाद व्यवहार, वास्तुकला, वास्तविक उपयोगकर्ता प्रवाह के बारे में आपकी जानकारी से मेल खाता है? आपका डोमेन ज्ञान अंतिम फ़िल्टर है.

डेटा गोपनीयता और सुरक्षा: क्या कहाँ जाता है?

परीक्षण परिवेश में आप जिस डेटा के साथ काम करते हैं वह अक्सर संवेदनशील होता है: वास्तविक ग्राहक रिकॉर्ड, उत्पादन डेटाबेस प्रतियां, एपीआई कुंजी, आंतरिक सिस्टम पते, अभी तक घोषित की जाने वाली विशेषताएं। एक सरल वर्गीकरण करें: खुला डेटा (प्रलेखित, सार्वजनिक रूप से उपलब्ध) किसी भी वाहन में प्रवेश कर सकता है। आंतरिक डेटा (स्रोत कोड टुकड़े, आंतरिक दस्तावेज़ीकरण) केवल एजेंसी-अनुमोदित टूल के लिए। गोपनीय डेटा (वास्तविक ग्राहक डेटा, पहचान की जानकारी, भेद्यता विवरण, कुंजियाँ) केवल संस्थान के अनुबंधित टूल में प्रवेश करता है, जिसका डेटा मॉडल प्रशिक्षण में नहीं जाता है, अधिमानतः छिपा हुआ।

सुरक्षा परीक्षण के संदर्भ में एक अतिरिक्त सीमा है: इस मॉड्यूल में सीखी गई हर चीज़ रक्षात्मक उद्देश्यों के लिए है - अपने स्वयं के उत्पाद की सुरक्षा का आधिकारिक परीक्षण करने के लिए। बिना अनुमति के किसी और के सिस्टम में घुसपैठ करने, वास्तविक कमजोरियों को हथियार बनाने, या ऐसे सिस्टम का परीक्षण करने के लिए एआई का उपयोग करना जिसके लिए आपके पास कोई अधिकार नहीं है, अनैतिक और आपराधिक दोनों है। प्राधिकरण (दायरे और अनुमति) के बिना कोई भी आक्रामक परीक्षण नहीं किया जाएगा।

युक्ति: वास्तविक ग्राहक डेटा के बजाय सिंथेटिक (कृत्रिम रूप से उत्पादित) परीक्षण डेटा का उपयोग करें। एआई को "यथार्थवादी लेकिन पूरी तरह से काल्पनिक परीक्षण डेटा उत्पन्न करने" के लिए कहने से गोपनीयता बरकरार रहती है और किनारे के मामलों में विविधता आती है।

तीन मिनी मामले

केस 1 - सही जगह पर समय बचाने वाला। ईकोमर्स टीम के परीक्षक ने प्रत्येक रिलीज़ के लिए 30-पृष्ठ आवश्यकताओं दस्तावेज़ से मैन्युअल रूप से एक परीक्षण परिदृश्य बनाने में 6 घंटे बिताए। उन्होंने YZ को दस्तावेज़ (वह हिस्सा जिसमें व्यापार रहस्य नहीं थे) दिया और एक संरचित परिदृश्य मसौदा मांगा; समय घटाकर 90 मिनट कर दिया गया. उन्होंने एआई द्वारा छूटे बिजनेस-रूल एज मामलों को स्वयं जोड़कर सत्यापित करने में बचाए गए समय को समर्पित किया। एआई ने दोहराए जाने वाले काम को छीन लिया और निर्णय मानव पर छोड़ दिया।

केस 2- फर्जी पासिंग पकड़ी गई। एक डेवलपर ने AI से एक कंप्यूट फ़ंक्शन के लिए 12 यूनिट परीक्षण लिखे; वे सभी हरे थे. परीक्षक ने "लाल देखें" चरण लागू किया: जानबूझकर फ़ंक्शन के अंदर जोड़ चिह्न को गुणन में बदल दिया। 12 में से केवल 3 परीक्षण ही लाल आये। अन्य 9 परीक्षणों से कोई वास्तविक पुष्टि नहीं हुई; इसने बस इतना कहा "इससे कोई त्रुटि नहीं हुई"। 9 सजावटी परीक्षण हटा दिए गए और उनके स्थान पर 5 वास्तविक परीक्षण लिखे गए।

केस 3 - गोपनीयता भंग से वापसी। एक प्रशिक्षु ने उत्पादन डेटाबेस से वास्तविक ग्राहक ईमेल और कार्ड के अंतिम चार अंकों वाला एक त्रुटि लॉग एक सार्वजनिक टूल में चिपकाया और कहा "इस त्रुटि को समझाएं।" क्यूए नेता ने हस्तक्षेप किया: यह व्यक्तिगत डेटा नियंत्रण से बाहर था और केवीकेके (व्यक्तिगत डेटा संरक्षण कानून) का उल्लंघन था। यही काम एक संस्थान-अनुमोदित वाहन में किया गया था, व्यक्तिगत क्षेत्रों को छुपाया गया था और केवल एक स्टैक ट्रेस छोड़ा गया था।

चार प्रतिलिपि योग्य टेम्पलेट

1) नौकरी उपयुक्तता मूल्यांकन:

आपकी भूमिका: वरिष्ठ क्यूए नेता। मैं आपको एक परीक्षण कार्य का वर्णन करूंगा। मुझे बताएं (1) क्या यह कार्य प्रारूपण/विश्लेषण कार्य है जिसे एआई को सुरक्षित रूप से सौंपा जा सकता है या एक गुणवत्ता निर्णय जो मानव को लेना चाहिए, (2) गलत आउटपुट की संभावित लागत, (3) सत्यापन जो मुझे सौंपने से पहले करना चाहिए। कार्य: [यहाँ कार्य डालें]

2) छद्म-पास नियंत्रण:

नीचे परीक्षण देखें. मुझे बताओ:- यह परीक्षण किस व्यवहार की पुष्टि करता है? (एक वाक्य) - मैं परीक्षण के तहत कोड को कैसे तोड़ सकता हूं ताकि परीक्षण लाल हो जाए? - क्या कोई कमजोरी है जिसके कारण यह परीक्षण हमेशा पास हो सकता है (गायब दावा, स्व-सत्यापन, तुच्छ जांच)? परीक्षण: [यहाँ परीक्षण चिपकाएँ]

3) परीक्षण डेटा मास्किंग नियंत्रण:

जो लॉग/डेटा मैं आपको दूंगा उसमें व्यक्तिगत या गोपनीय फ़ील्ड (ई-मेल, नाम, कार्ड, कुंजी, आंतरिक पता) हो सकते हैं। सबसे पहले, उन क्षेत्रों की सूची बनाएं जिन्हें छुपाने की आवश्यकता है; मैं इसे मास्क करके दोबारा भेजूंगा. जैसा यह है वैसा ही इसका विश्लेषण न करें।

4) सिंथेटिक परीक्षण डेटा जनरेशन:

[निम्नलिखित फ़ील्ड संरचना] के लिए पूरी तरह से काल्पनिक, यथार्थवादी परीक्षण डेटा की 20 पंक्तियाँ उत्पन्न करें। वास्तविक व्यक्ति/संगठन डेटा का उपयोग न करें. किनारे के मामले भी शामिल करें: खाली स्थान, बहुत लंबा पाठ, सीमित मान, अमान्य प्रारूप।

कमजोर संकेत/मजबूत संकेत

कमज़ोर: "इस कोड पर परीक्षण लिखें।"
मजबूत: "छूट फ़ंक्शन के लिए इस लिखें इकाई परीक्षण की गणना करें। फ़ंक्शन के लिए स्वीकृति मानदंड: 1000 टीएल से अधिक 10% छूट, 5000 टीएल से अधिक 20% छूट; नकारात्मक राशि में एक त्रुटि होनी चाहिए। एक टिप्पणी पंक्ति के साथ निर्दिष्ट करें कि आप प्रत्येक परीक्षण के लिए किस नियम को मान्य कर रहे हैं। सीमा मान (999, 1000, 1001, 5000, 0, -1) का अलग से परीक्षण करें। वास्तविक आवेषण का उपयोग करें जो लाल हो जाएगा यदि मैं कोड को तोड़ें; खाली करें या तुच्छ दावा न लिखें।"

शक्तिशाली संकेत; यह स्वीकृति मानदंड, सीमा मान, सत्यापन अपेक्षाएं और स्पष्ट एंटी-स्पूफिंग निर्देश प्रदान करता है। कमजोर प्रॉम्प्ट एआई को सजावटी परीक्षण लिखने के लिए आमंत्रित करता है।

सामान्य गलतियां

  • हरे पर भरोसा. यह सोचकर कि परीक्षा उत्तीर्ण करना ही प्रमाण है। असली सवाल यह है: जब आप कोड तोड़ते हैं तो क्या यह लाल हो जाता है?
  • बिना कोई कारण बताए परीक्षण का अनुरोध करना। एआई यह जाने बिना कि किस चीज़ को सत्यापित करने की आवश्यकता है, सामान्य, अक्सर बेकार परीक्षण तैयार करता है।
  • सत्यापन छोड़ा जा रहा है. यह कहते हुए कि "एआई ने इसे लिखा है, यह संभवतः सच है"। जिम्मेदारी आउटपुट का उपयोग करने वाले व्यक्ति की है।
  • टूल में वास्तविक/संवेदनशील डेटा चिपकाना। उत्पादन डेटा, कुंजी या व्यक्तिगत डेटा के साथ कार्य करना।
  • अनधिकृत सुरक्षा परीक्षण. बिना गुंजाइश और अनुमति के आक्रामक परीक्षण का प्रयास करना।
  • निर्णय लेने का कार्य सौंपने के लिए AI का उपयोग करना। प्रश्न पूछना "क्या यह संस्करण जारी किया जा सकता है?" एआई को और उत्तर को हस्ताक्षर में डालना।

सारांश

एआई क्यूए प्रक्रिया में एक शक्तिशाली सहायक है जो दोहराए जाने वाले और उत्पादक कार्य को गति देता है; लेकिन गुणवत्ता निर्णय की जिम्मेदारी मनुष्य की है। इस पेशे में एआई का नंबर एक जोखिम छद्म-पास होना है: हरे परीक्षण जो साफ-सुथरे दिखते हैं लेकिन किसी भी चीज़ की पुष्टि नहीं करते हैं। जानबूझकर कोड तोड़कर प्रत्येक एआई परीक्षण का परीक्षण करें; यदि वह लाल न हो तो वह परख सजावट है। इसे आवश्यकता से बांधें, लाल देखें, इसे संदर्भ फ़िल्टर से गुजारें। गोपनीय डेटा को छुपाएं, केवल अधिकृत और रक्षात्मक उद्देश्यों के लिए सुरक्षा परीक्षण करें।

आवेदन कार्य

अपने स्वयं के प्रोजेक्ट से 5 एआई-जनरेटेड (या एआई-जनरेटेड) यूनिट परीक्षण लें। प्रत्येक के लिए: (1) एक वाक्य में लिखें कि यह किस व्यवहार को सत्यापित करता है, (2) जानबूझकर परीक्षण के तहत कोड को तोड़ें और चलाएं और नोट करें कि कितने लाल हो गए, (3) जो लाल नहीं हुए उन्हें "सजावट परीक्षण" के रूप में चिह्नित करें और उन्हें वास्तविक दावे के साथ फिर से लिखें। परिणाम को एक तालिका में रखें: परीक्षण का नाम / नियम यह सत्यापित / क्या यह टूटने पर टूट गया / कार्रवाई।

चेकलिस्ट

  • [ ] काम सौंपने से पहले, मैंने सवाल पूछा "अगर यह गलत हो गया तो मुझे क्या नुकसान होगा?"
  • [ ] मैंने प्रत्येक एआई परीक्षण का परीक्षण कोड तोड़कर किया; मैंने उसे वास्तविक परीक्षण से बदल दिया जो लाल नहीं हुआ।
  • [ ] मैंने परीक्षण मामलों को वास्तविक आवश्यकता/स्वीकृति मानदंड से जोड़ा।
  • [ ] मैंने संवेदनशील/वास्तविक डेटा को टूल को दिए बिना छिपा दिया; यदि संभव हो तो मैंने सिंथेटिक डेटा का उपयोग किया।
  • [ ] मैंने सुरक्षा परीक्षण को केवल प्राधिकार के भीतर और रक्षात्मक उद्देश्यों के लिए माना।
  • [ ] "संस्करण जारी किया जाएगा या नहीं" का निर्णय मैंने एआई पर नहीं, बल्कि स्वयं पर छोड़ा है।