ऐप्लिकेशन टेस्टिंग एजेंट, टेस्ट केस जनरेट करने, मैनेज करने, और लागू करने वाला एजेंट है. यह Firebase में Gemini की मदद से काम करता है. टेस्ट के लक्ष्यों को सामान्य भाषा में तय किया जाता है. इसके बाद, एजेंट एआई का इस्तेमाल करके आपके ऐप्लिकेशन को समझता है और उसे नेविगेट करता है. साथ ही, उपयोगकर्ता के इंटरैक्शन का सिम्युलेट करता है और टेस्ट के बारे में पूरी जानकारी देता है.
App Testing एजेंट आपके डेटा का इस्तेमाल कैसे करता है
App Testing एजेंट, Firebase में Gemini की ओर से उपलब्ध कराया जाता है. इस पर भी वही शर्तें लागू होती हैं. Firebase में Gemini आपके डेटा का इस्तेमाल कैसे करता है, इस बारे में ज़्यादा जानने के लिए, Firebase में Gemini आपके डेटा का इस्तेमाल कैसे करता है लेख पढ़ें.
शुरू करने से पहले
अगर आपने अब तक ऐसा नहीं किया है, तो अपने ऐप्लिकेशन को Firebase के साथ रजिस्टर करें.
अगर आपको Firebase के किसी अन्य प्रॉडक्ट का इस्तेमाल नहीं करना है, तो आपको सिर्फ़ एक प्रोजेक्ट बनाना होगा और अपने ऐप्लिकेशन को रजिस्टर करना होगा. आपको अपने ऐप्लिकेशन में कोई एसडीके टूल जोड़ने की ज़रूरत नहीं है. हालांकि, अगर आपको आने वाले समय में अन्य प्रॉडक्ट का इस्तेमाल करना है, तो Firebase कंसोल का इस्तेमाल करके Firebase जोड़ें में दिए गए सभी चरणों को पूरा करना न भूलें.
जब आपको टेस्टर को अपने ऐप्लिकेशन का रिलीज़–पूर्व वर्शन डिस्ट्रिब्यूट करना हो, तब सामान्य प्रोसेस का इस्तेमाल करके अपना APK या AAB बनाएं. इसके बाद, उसे Firebase कंसोल में App Distribution पर अपलोड करें. आपको APK पर, डीबग कुंजी या ऐप्लिकेशन साइनिंग कुंजी से साइन करना होगा.
टेस्ट केस बनाना
एआई की मदद से टेस्ट चलाने के लिए, App Testing एजेंट आपके नैचुरल लैंग्वेज टेस्ट केस का इस्तेमाल करता है. इससे आपके ऐप्लिकेशन के ख़िलाफ़ टेस्ट किए जाते हैं.
हर टेस्ट केस को चरणों में बांटा जाता है. इन चरणों को क्रम से लागू किया जाएगा. चरणों की मदद से, अपने टेस्ट केस को कई फ़ेज़ में बांटा जा सकता है. हर फ़ेज़ के लिए, सफलता की अलग-अलग शर्तें होती हैं. एजेंट, किसी भी एक चरण के दौरान कई कार्रवाइयां कर सकता है.
टेस्ट केस बनाने के लिए, Firebase कंसोल का App Distribution पेज खोलें और यह तरीका अपनाएं:
- टेस्ट केस टैब पर, नया टेस्ट केस पर क्लिक करें. अगर आपको अपना टेस्ट केस नहीं बनाना है, तो दिए गए टेस्ट केस के उदाहरण में बदलाव किया जा सकता है या उसका इस्तेमाल किया जा सकता है.
- टेस्ट केस जोड़ें डायलॉग में, टेस्ट केस को कोई नाम दें. इसका इस्तेमाल टेस्ट की पहचान करने के लिए किया जाता है. हालांकि, एजेंट इसे अनदेखा कर देता है.
- (ज़रूरी नहीं) ज़रूरी शर्तें पूरी करने वाला टेस्ट केस चुनें. इसमें मुख्य टेस्ट से पहले चलाने के लिए, सेटअप के चरण शामिल होते हैं. अगर ज़रूरी शर्तें पूरी करने वाला टेस्ट फ़ेल हो जाता है, तो पूरे टेस्ट को फ़ेल के तौर पर मार्क कर दिया जाएगा. ज़रूरी शर्तें पूरी करने वाले टेस्ट और मुख्य टेस्ट के चरणों और नतीजों को, टेस्ट के नतीजों में एक साथ दिखाया जाएगा.
- एक और चरण जोड़ें बटन पर क्लिक करके, अपने टेस्ट को कई चरणों में बांटें.
- हर चरण को एक लक्ष्य दें. इससे App Testing एजेंट को पता चलेगा कि उसे उस चरण में क्या करना है.
- (ज़रूरी नहीं) सुझाव जोड़ें, ताकि ऐप्लिकेशन की टेस्टिंग करने वाले एजेंट को ज़्यादा जानकारी मिल सके. इससे उसे उस चरण के दौरान, आपके ऐप्लिकेशन को समझने और उसे इस्तेमाल करने में मदद मिलेगी.
- फ़ाइनल स्क्रीन असर्शन जोड़ें, ताकि ऐप्लिकेशन की टेस्टिंग करने वाला एजेंट यह तय कर सके कि चरण कब पूरा हुआ. इस दावे में सिर्फ़ उस जानकारी का ज़िक्र होना चाहिए जो स्क्रीन पर दिख रही है.
- टेस्ट को पसंद के मुताबिक बनाने के बाद, सेव करें पर क्लिक करें.
टेस्ट केस का उदाहरण
यहां App Testing एजेंट का इस्तेमाल करके, टेस्ट केस बनाने का उदाहरण दिया गया है:
| होम पेज की जांच करना | |
|---|---|
जांच का टाइटल |
होम पेज लोड |
लक्ष्य |
होम पेज लोड करना |
संकेत |
ऑनबोर्डिंग की किसी भी स्क्रीन पर जाएं. किसी भी पॉप-अप को खारिज करें. साइन इन न करें. |
सक्सेस क्राइटेरिया |
स्क्रीन पर ऐप्लिकेशन का मुख्य होम पेज दिख रहा हो, सभी इमेज लोड हो गई हों, और कोई गड़बड़ी न दिख रही हो. |
टेस्ट चलाना
ऐप्लिकेशन टेस्टिंग एजेंट की मदद से, कंसोल में एआई की मदद से टेस्ट किए जा सकते हैं. इसके लिए, रिलीज़ या टेस्ट केस पेज पर जाकर, टेस्ट चलाएं बटन पर क्लिक करें. इससे, ऐप्लिकेशन की टेस्टिंग करने वाले एजेंट को पसंद के मुताबिक बनाने वाली स्क्रीन खुलती है. यहां, एजेंट के लिए अपने मौजूदा टेस्ट केस में से एक या उससे ज़्यादा टेस्ट केस चुने जा सकते हैं. आपके पास यह चुनने का विकल्प भी होता है कि आपको किन डिवाइसों पर टेस्ट करना है. साथ ही, यह भी तय किया जा सकता है कि आपको लॉगिन क्रेडेंशियल देने हैं या नहीं.
टेस्ट रन पूरा होने पर, App Testing एजेंट हर डिवाइस के लिए की गई कार्रवाइयों को कैश मेमोरी में सेव कर लेगा. इन कार्रवाइयों को आने वाले समय में टेस्ट रन के दौरान फिर से चलाया जा सकता है, ताकि टेस्ट को दोहराने की क्षमता को बेहतर बनाया जा सके. दोहराई गई कार्रवाइयों का इस्तेमाल करने पर, एजेंट अब भी एआई का इस्तेमाल करके यह पुष्टि करेगा कि कार्रवाइयां पूरी हो गई हैं. इसके लिए, वह आपकी ओर से तय किए गए किसी भी फ़ाइनल स्क्रीन असर्शन का इस्तेमाल करेगा. अगर रीप्ले किए गए ऐक्शन का इस्तेमाल करते समय कोई टेस्ट फ़ेल हो जाता है, तो ऐप्लिकेशन टेस्टिंग एजेंट सभी ऐक्शन के लिए एआई का इस्तेमाल करेगा.
टेस्ट का टाइप बदलकर, रैंडम क्रॉल टेस्ट भी चलाया जा सकता है. रैंडम क्रॉल टेस्ट में, ऑटोमेटेड टेस्टर सुविधा का इस्तेमाल किया जाता है.
अपनी बिल्ड की अपने-आप जांच करना
अगर आपको नई बिल्ड पर App Testing एजेंट की जांच अपने-आप करानी है, तो एजेंट को अपनी बिल्ड डिस्ट्रिब्यूट करें. उदाहरण के लिए, CI/CD पाइपलाइन से. इसके लिए, App Distribution के Gradle या fastlane प्लगिन या Firebase CLI का इस्तेमाल करें.
YAML फ़ाइलों की मदद से, टेस्ट केस इंपोर्ट और एक्सपोर्ट करना
YAML फ़ाइलों से टेस्ट केस इंपोर्ट करने की सुविधा तब काम आती है, जब आपको Firebase कंसोल के बाहर टेस्ट केस मैनेज करने हों. टेस्ट केस को एक्सपोर्ट करने से, उन्हें एक प्रोजेक्ट से दूसरे प्रोजेक्ट में ले जाने में भी मदद मिल सकती है. एलएलएम का इस्तेमाल, मौजूदा टेस्ट केस को बेहतर बनाने या नए टेस्ट केस बनाने के लिए किया जा सकता है. Firebase कंसोल में मौजूद टेस्ट केस पेज से टेस्ट केस इंपोर्ट और एक्सपोर्ट किए जा सकते हैं. इसके अलावा, Firebase CLI का इस्तेमाल करके प्रोग्राम के हिसाब से भी ऐसा किया जा सकता है. उदाहरण:
- displayName: Setup
id: setup
steps:
- goal: Log in
hint: Any username and password will work
- displayName: Smoke test
id: smoke_test
prerequisiteTestCaseId: setup
steps:
- goal: Go through the onboarding flow
hint: Tap the next button until you reach the home screen
successCriteria: The main app home page is visible
- goal: Open the settings page
hint: The settings button is in the top right corner
successCriteria: The settings page is visible
टेस्ट के नतीजे देखना
टेस्ट के नतीजे देखने के लिए, रिलीज़ के ऐप्लिकेशन टेस्टिंग एजेंट टैब में जाकर, रिलीज़ पेज पर जाएं. जानकारी देखें बटन पर क्लिक करने से, जांच के नतीजों का डायलॉग बॉक्स खुलेगा. इसमें आपको समस्याएं, ऐप्लिकेशन के स्क्रीनशॉट, और जांच के दौरान Gemini की ओर से की गई कार्रवाइयां दिखेंगी.
अगर किसी टेस्ट में रीप्ले किए गए ऐक्शन शामिल हैं, तो एआई की मदद से किए गए ओरिजनल टेस्ट रन को देखा जा सकता है या कैश मेमोरी को मिटाया जा सकता है.
जांच के नतीजों के बारे में ज़्यादा जानने के लिए, इस टेबल का इस्तेमाल करें:
| आइकॉन | नाम | ब्यौरा |
|---|---|---|
| स्पार्क | एआई ऐक्शन | इससे पता चलता है कि App Testing एजेंट ने कोई कार्रवाई करने या चरण को खत्म करने का फ़ैसला करने के लिए, Gemini का इस्तेमाल किया. |
| replay | कार्रवाई फिर से की गई | इससे पता चलता है कि ऐप्लिकेशन टेस्टिंग एजेंट ने टेस्ट के पिछले सफल रन से किसी कार्रवाई को फिर से चलाया है. |
| स्पार्क | एआई का दावा | इससे पता चलता है कि App Testing एजेंट ने Gemini का इस्तेमाल करके, फ़ाइनल स्क्रीन के दावे की पुष्टि की है. ऐसा तब किया गया, जब उसी टेस्ट के पिछले सफल रन से कार्रवाइयों को फिर से चलाया गया. |
टेस्ट के नतीजों को डीबग करना
अगर जांच के नतीजे आपकी उम्मीद के मुताबिक नहीं हैं, तो जांच के नतीजों वाले पेज पर जाकर, जानकारी देखें में मौजूद एजेंट व्यू दिखाएं टॉगल का इस्तेमाल करके, अपनी जांच को डीबग किया जा सकता है. एजेंट व्यू में, आपको स्क्रीन पर मौजूद वे एलिमेंट दिखते हैं जिन्हें ऐप्लिकेशन की टेस्टिंग करने वाले एजेंट ने ऐप्लिकेशन की सुलभता से जुड़ी जानकारी का इस्तेमाल करते समय पता लगाया था. अगर आपको यह देखना है कि एजेंट ने क्या देखा, तो कार्रवाई वाले ओवरफ़्लो मेन्यू से उस जानकारी को डाउनलोड किया जा सकता है.
टेस्ट के नतीजों के पेज पर मौजूद, आर्टफ़ैक्ट देखें बटन का इस्तेमाल करके भी, टेस्ट के नतीजों से जुड़े सभी वीडियो, लॉग, और अन्य Cloud आर्टफ़ैक्ट देखे जा सकते हैं.
आम तौर पर होने वाली समस्याएं और सीमाएं
App Testing एजेंट की झलक की सुविधा में कुछ समस्याएं हैं:
- ऐप्लिकेशन की टेस्टिंग करने वाला एजेंट, आपके ऐप्लिकेशन की टेस्टिंग के लिए जनरेटिव एआई का इस्तेमाल करता है. इसलिए, वह कभी-कभी एक ही निर्देश का पालन करते हुए अलग-अलग कार्रवाइयां करेगा.
- App Testing एजेंट सिर्फ़ इन कार्रवाइयों के साथ काम करता है: टैप करना, टेक्स्ट डालना, ऊपर/नीचे/बाएं/दाएं स्वाइप करना, दबाकर रखना, खींचें और छोड़ें, वापस जाना, और इंतज़ार करना.
- ऐप्लिकेशन टेस्टिंग एजेंट को ऐसे टेस्ट को पूरा करने में समस्या आती है जिनमें सिर्फ़ एक चरण होता है और उसे पूरा करने के लिए कई कार्रवाइयां करनी पड़ती हैं. मुश्किल कामों को छोटे-छोटे चरणों में बांटने पर, यह बेहतर तरीके से काम करता है.
- कभी-कभी App Testing एजेंट, स्क्रीन से बाहर मौजूद अन्य एलिमेंट को दिखाने के लिए स्क्रोल नहीं करेगा. ऐसा अक्सर तब होता है, जब स्क्रोल करने की सुविधा के बारे में कोई विज़ुअल इंडिकेशन नहीं होता. इसके विकल्प के तौर पर, "hints" फ़ील्ड का इस्तेमाल करके स्क्रोल करने का सुझाव दिया जा सकता है.
- कभी-कभी App Testing एजेंट को गिनती करने में समस्या आती है. उदाहरण के लिए, किसी कार्रवाई को तय संख्या में करना.
- अगर
FLAG_SECUREचालू है, तो ऐप्लिकेशन टेस्टिंग एजेंट आपके ऐप्लिकेशन पर नेविगेट नहीं कर सकता. उसे आपके ऐप्लिकेशन के स्क्रीनशॉट के बजाय, सिर्फ़ एक खाली स्क्रीन दिखेगी.
टेस्टिंग के लिए कोटा
प्रीव्यू के दौरान, एआई की मदद से किए जाने वाले टेस्ट बिना किसी शुल्क के उपलब्ध होंगे. हालांकि, इसके लिए एक तय सीमा होगी. डिफ़ॉल्ट रूप से, हर Firebase प्रोजेक्ट के लिए हर महीने 200 टेस्ट किए जा सकते हैं.
ध्यान दें कि अगर आपको एक से ज़्यादा टेस्ट केस चलाने हैं या एक ही टेस्ट केस को कई डिवाइसों पर चलाना है, तो इसे कई टेस्ट माना जाएगा. उदाहरण के लिए, अगर दो डिवाइसों पर दो टेस्ट केस चलाए जाते हैं, तो इसे कुल चार टेस्ट माना जाएगा.
डिफ़ॉल्ट सीमा से ज़्यादा कोटा पाने के लिए, इस्तेमाल के उदाहरण के साथ Firebase की सहायता टीम से संपर्क करें.