पिछले 2 वर्षों में, एआई, विशेष रूप से एलएलएम (बड़े भाषा मॉडल) में प्रगति ने पारंपरिक समस्याओं को अधिक कुशलता से हल करने में मदद की है, और ऐसा एक प्रभाव जो एलएलएम हमारे सॉफ्टवेयर परीक्षण को स्वचालित करने में सहायता के माध्यम से पैदा कर सकता है। कई सॉफ्टवेयर टीमों के लिए स्वचालन कभी भी एसडीएलसी चक्र का प्रथम श्रेणी का नागरिक नहीं रहा है और टीमें " टेस्ट ऑटोमेशन ऋण " बनाने वाले परीक्षण मामलों को स्वचालित करने के लिए संघर्ष करती हैं। परीक्षण स्वचालन में इस अंतर के कारण, गुणवत्ता टीमों का बहुत सारा समय इन परीक्षण मामलों को मैन्युअल रूप से सत्यापित करने और लिखने में चला जाता है जिसके परिणामस्वरूप इंजीनियरिंग टीम की शिपिंग गति धीमी हो जाती है।
इस तरह की गड़बड़ी से बचने का एकमात्र बचाव मार्ग परीक्षण मामलों को बेहतर वेग से स्वचालित करना है, लेकिन अक्सर हम ऐसा करने में सक्षम नहीं होते हैं क्योंकि:
हालाँकि ऊपर उल्लिखित सभी समस्याओं पर एक अलग लेख की आवश्यकता है कि सॉफ़्टवेयर टीमों को उनसे कैसे निपटना चाहिए, इस अनुभाग में हम इस बारे में बात करेंगे कि QA इंजीनियर BDD (व्यवहार-संचालित परीक्षण) में अपने सह-पायलट के रूप में ChatGPT या LLM का लाभ कैसे उठा सकते हैं।
बीडीडी क्या है?
व्यवहार-संचालित विकास (बीडीडी) एक चुस्त सॉफ्टवेयर विकास पद्धति है जिसमें एक एप्लिकेशन को उस व्यवहार के आधार पर प्रलेखित और डिज़ाइन किया जाता है जिसे उपयोगकर्ता इसके साथ बातचीत करते समय अनुभव करने की अपेक्षा करता है। इस चर्चा के संदर्भ में आइए वाईसी वेबसाइट पर बीडीडी-आधारित परीक्षण लागू करें और वाईसी हैकर समाचार के लॉगिन पेज को शुरुआती बिंदु के रूप में मानें।
उपर्युक्त पृष्ठ के लिए, अपेक्षित व्यवहार है
"जब कोई उपयोगकर्ता लॉग इन करने का प्रयास करता है और https://news.ycombinator.com/login?goto=news पर वैध क्रेडेंशियल दर्ज करता है और लॉगिन दबाता है तो इसे उपयोगकर्ता को हैकर समाचार वेबसाइट पर रीडायरेक्ट करना चाहिए "।
बीडीडी दिशानिर्देशों के अनुसार, उपरोक्त व्यवहार को गेरकिन सिंटैक्स/चरणों के रूप में लिखा जा सकता है जो एक संभावित परीक्षण मामला हो सकता है, और खीरे को एक ढांचे के रूप में उपयोग करके उसी गेरकिन को स्वचालित किया जा सकता है और इस व्यवहार को आगे मानव हस्तक्षेप की आवश्यकता नहीं होगी। हालाँकि, जिस समस्या के बारे में हमने उपरोक्त अनुभाग में चर्चा की है, उसके कारण QA टीम को आम तौर पर इसे स्वचालित करने में कठिनाई होती है, लेकिन हम कुछ संकेत लिखकर और अपनी QA टीमों के लिए गेरकिन चरणों और इसके स्वचालन पर मंथन करने के लिए वर्कफ़्लो बनाकर एलएलएम की शक्ति का लाभ उठा सकते हैं। ककड़ी ढांचे पर तेज वेग के साथ।
गेरकिन सिंटेक्स उत्पन्न करने के लिए वर्कफ़्लो
उदाहरण के लिए नीचे दी गई छवि में मैंने दिखाया है कि आप प्राकृतिक भाषा में प्रस्तुत व्यवहार के लिए गेरकिन सिंटैक्स उत्पन्न करने के लिए प्रॉम्प्ट का उपयोग करके जीपीटी मॉडल को कैसे ठीक कर सकते हैं।
गेरकिन सिंटैक्स से ककड़ी-संगत कोड उत्पन्न करने के लिए वर्कफ़्लो
चरण 1: इंजीनियर बनने के लिए संकेत दें
नीचे संकेत दिया गया है कि आप HTML कोड और दिए गए गेरकिन चरणों का उपयोग करके उचित स्वचालन को बाहर निकालने के लिए चैटजीपीटी कंसोल पर इसे लिख सकते हैं। अंतिम आउटपुट के रूप में, हमने ककड़ी की आवश्यकता के अनुसार चरण परिभाषा के रूप में कोड उत्पन्न करने के लिए कहा है जिसे क्यूएएस द्वारा कॉपी पेस्ट किया जा सकता है।
चरण 2: प्रासंगिक HTML को इंजेक्ट करना जिसे स्वचालन के लिए आधार के रूप में उपयोग करने की आवश्यकता है।
जैसा कि नीचे दर्शाया गया है, चैटजीपीटी को फाइन-ट्यूनिंग करने के बाद प्रासंगिक HTML और गेरकिन चरणों के लिए पूछता है जिसका उपयोग वह ककड़ी के लिए चरण परिभाषाएँ उत्पन्न करने के लिए कर सकता है।
चरण 3: चरण परिभाषा तैयार करना
इसके परिणामस्वरूप, GPT प्रदान किए गए HTML से DOM संरचना को समझेगा और आपसे प्रासंगिक गेरकिन सिंटैक्स के बारे में पूछेगा। उपरोक्त मामले के लिए, हमने पहले ही गेरकिन तैयार कर लिया है जिसे हम इस रूप में पास कर सकते हैं:
Feature: User Login Redirect Scenario: User logs in with valid credentials Given the user is on the login page of "https://news.ycombinator.com/login?goto=news" When the user enters valid credentials and presses the login button Then the user should be redirected to the "hacker news" website
अंतिम आउटपुट
अंत में वर्कफ़्लो और उल्लिखित प्रॉम्प्ट के अनुसार यह उपरोक्त गेरकिन चरणों और उल्लिखित परिदृश्य के लिए चरण परिभाषा फ़ाइल उत्पन्न करता है, जिसे क्यूए द्वारा उनके ककड़ी ढांचे में मामूली गुणवत्ता जांच के बाद उनके द्वारा अपेक्षित व्यवहार के स्वचालन को तेज करने के लिए कॉपी किया जा सकता है। परीक्षा करना।
एआई के आगमन और सह-पायलट के उद्भव के साथ, मनुष्य अपनी उत्पादकता में वृद्धि देखेंगे। वे प्राथमिक और नियमित कार्यों को एआई को सौंपकर नवाचार की अपनी सीमाओं को और आगे बढ़ाने में सक्षम होंगे। हालाँकि, मुझे अभी भी लगता है कि हम जो भी काम करते हैं उसमें हमें उन्हें सहायक के रूप में देखना चाहिए और फिर भी उनका उपयोग करने की बुद्धिमत्ता मनुष्यों में ही रहेगी, क्योंकि तकनीक, विपणन, बिक्री और ग्राहक सफलता टीमें अपने वर्कफ़्लो में एलएलएम की शक्ति का लाभ उठाने की कोशिश कर रही हैं। ऐसा ही क्यूए इंजीनियरों द्वारा भी किया जा सकता है ताकि वे अपनी उत्पादकता को और अधिक बढ़ा सकें और सॉफ्टवेयर की गुणवत्ता और स्थिरता सुनिश्चित करने के अपने काम को रोमांचक बना सकें!