ऐप्लिकेशन टेस्टिंग एजेंट (Android)

App Testing एजेंट, टेस्ट केस जनरेट करने, मैनेज करने, और उन्हें लागू करने वाला एजेंट है. यह Firebase में Gemini की मदद से काम करता है. सामान्य भाषा में टेस्ट के लक्ष्य तय किए जाते हैं. इसके बाद, एजेंट एआई का इस्तेमाल करके आपके ऐप्लिकेशन को समझता है और उसे नेविगेट करता है. साथ ही, उपयोगकर्ता के इंटरैक्शन का सिम्युलेट करता है और टेस्ट के बारे में पूरी जानकारी देता है.

App Testing एजेंट आपके डेटा का इस्तेमाल कैसे करता है

App Testing agent की सुविधा Firebase में Gemini उपलब्ध कराता है. इस पर भी वही शर्तें लागू होती हैं. Firebase में Gemini आपके डेटा का इस्तेमाल कैसे करता है, इस बारे में ज़्यादा जानने के लिए, Firebase में Gemini आपके डेटा का इस्तेमाल कैसे करता है लेख पढ़ें.

शुरू करने से पहले

अगर आपने अब तक ऐसा नहीं किया है, तो अपने ऐप्लिकेशन को Firebase के साथ रजिस्टर करें.

अगर आपको Firebase के किसी अन्य प्रॉडक्ट का इस्तेमाल नहीं करना है, तो आपको सिर्फ़ एक प्रोजेक्ट बनाना होगा और अपने ऐप्लिकेशन को रजिस्टर करना होगा. आपको अपने ऐप्लिकेशन में कोई एसडीके टूल जोड़ने की ज़रूरत नहीं है. हालांकि, अगर आपको आने वाले समय में अन्य प्रॉडक्ट का इस्तेमाल करना है, तो Firebase कंसोल का इस्तेमाल करके Firebase जोड़ें में दिए गए सभी चरणों को पूरा करना न भूलें.

जब आपको टेस्टर को अपने ऐप्लिकेशन का रिलीज़–पूर्व वर्शन डिस्ट्रिब्यूट करना हो, तब अपनी सामान्य प्रोसेस का इस्तेमाल करके अपना APK या AAB बनाएं. इसके बाद, उसे Firebase कंसोल में App Distribution पर अपलोड करें. आपको APK पर, डीबग कुंजी या ऐप्लिकेशन साइनिंग कुंजी से साइन करना होगा.

टेस्ट केस बनाना

एआई की मदद से टेस्ट चलाने के लिए, App Testing एजेंट आपके नैचुरल लैंग्वेज टेस्ट केस का इस्तेमाल करता है. इससे आपके ऐप्लिकेशन के ख़िलाफ़ टेस्ट किए जाते हैं.

हर टेस्ट केस को चरणों में बांटा जाता है. इन चरणों को क्रम से लागू किया जाएगा. चरणों की मदद से, अपने टेस्ट केस को कई फ़ेज़ में बांटा जा सकता है. हर फ़ेज़ के लिए, सफलता की अलग-अलग शर्तें होती हैं. एजेंट, किसी एक चरण के दौरान कई कार्रवाइयां कर सकता है.

टेस्ट केस बनाने के लिए, Firebase कंसोल का App Distribution पेज खोलें और यह तरीका अपनाएं:

  1. टेस्ट केस टैब पर, नया टेस्ट केस पर क्लिक करें. अगर आपको अपना टेस्ट केस नहीं बनाना है, तो दिए गए टेस्ट केस के उदाहरण में बदलाव किया जा सकता है या उसका इस्तेमाल किया जा सकता है.
  2. टेस्ट केस जोड़ें डायलॉग में, टेस्ट केस को कोई नाम दें. इसका इस्तेमाल टेस्ट की पहचान करने के लिए किया जाता है. हालांकि, एजेंट इसे अनदेखा कर देता है.
  3. (ज़रूरी नहीं) ज़रूरी शर्तें पूरी करने वाला टेस्ट केस चुनें. इसमें मुख्य टेस्ट से पहले चलाने के लिए, सेटअप के चरण शामिल होते हैं. अगर ज़रूरी शर्तें पूरी करने वाला टेस्ट पास नहीं होता है, तो पूरे टेस्ट को फ़ेल के तौर पर मार्क कर दिया जाएगा. ज़रूरी शर्तें पूरी करने वाले टेस्ट और मुख्य टेस्ट के चरणों और नतीजों को, टेस्ट के नतीजों में एक साथ दिखाया जाएगा.
  4. एक और चरण जोड़ें बटन पर क्लिक करके, अपने टेस्ट को कई चरणों में बांटें.
  5. हर चरण को एक लक्ष्य दें. इससे यह पता चलेगा कि App Testing एजेंट को उस चरण के दौरान क्या करना चाहिए.
  6. (ज़रूरी नहीं) सुझाव जोड़ें, ताकि ऐप्लिकेशन की टेस्टिंग करने वाले एजेंट को ज़्यादा जानकारी मिल सके. इससे उसे उस चरण के दौरान, आपके ऐप्लिकेशन को समझने और उसे इस्तेमाल करने में मदद मिलेगी.
  7. (ज़रूरी नहीं) सफलता का मानदंड जोड़ें, ताकि ऐप्लिकेशन टेस्टिंग एजेंट को यह तय करने में मदद मिल सके कि चरण कब पूरा हुआ.
  8. टेस्ट को पसंद के मुताबिक बनाने के बाद, सेव करें पर क्लिक करें.

टेस्ट केस का उदाहरण

यहां ऐप्लिकेशन की टेस्टिंग करने वाले एजेंट का इस्तेमाल करके, टेस्ट केस बनाने का उदाहरण दिया गया है:

होम पेज की जांच करना
जांच का टाइटल

होम पेज लोड

लक्ष्य

होम पेज लोड करना

संकेत

ऑनबोर्डिंग की किसी भी स्क्रीन को छोड़ें. किसी भी पॉप-अप को खारिज करें. साइन इन न करें.

सक्सेस क्राइटेरिया

स्क्रीन पर ऐप्लिकेशन का मुख्य होम पेज दिख रहा हो, सभी इमेज लोड हो गई हों, और कोई गड़बड़ी न दिख रही हो.

टेस्ट चलाना

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

टेस्ट का टाइप बदलकर, रैंडम क्रॉल टेस्ट भी चलाया जा सकता है. रैंडम क्रॉल टेस्ट में, ऑटोमेटेड टेस्टर सुविधा का इस्तेमाल किया जाता है.

टेस्ट के नतीजे देखने के लिए, रिलीज़ के ऐप्लिकेशन टेस्टिंग एजेंट टैब में जाकर, रिलीज़ पेज पर जाएं. जानकारी देखें बटन पर क्लिक करने से, जांच के नतीजों का डायलॉग बॉक्स खुलेगा. इसमें आपको समस्याएं, ऐप्लिकेशन के स्क्रीनशॉट, और जांच के दौरान Gemini की ओर से की गई कार्रवाइयां दिखेंगी.

अपनी बिल्ड की अपने-आप जांच करना

अगर आपको नई बिल्ड पर App Testing एजेंट की जांच अपने-आप करानी है, तो एजेंट को अपनी बिल्ड डिस्ट्रिब्यूट करें. उदाहरण के लिए, CI/CD पाइपलाइन से. इसके लिए, App Distribution के Gradle या fastlane प्लगिन या Firebase CLI का इस्तेमाल करें.

YAML फ़ाइलों की मदद से, टेस्ट केस इंपोर्ट और एक्सपोर्ट करना

अगर आपको Firebase कंसोल के बाहर टेस्ट केस मैनेज करने हैं, तो YAML फ़ाइलों से टेस्ट केस इंपोर्ट करना फ़ायदेमंद होता है. टेस्ट केस को एक्सपोर्ट करने से, उन्हें एक प्रोजेक्ट से दूसरे प्रोजेक्ट में ले जाने में भी मदद मिल सकती है. एलएलएम का इस्तेमाल, मौजूदा टेस्ट केस को बेहतर बनाने या नए टेस्ट केस बनाने के लिए किया जा सकता है. 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

टेस्ट के नतीजों को डीबग करना

अगर जांच के नतीजे आपकी उम्मीद के मुताबिक नहीं हैं, तो जांच के नतीजों वाले पेज पर जाकर, जानकारी देखें में मौजूद एजेंट व्यू दिखाएं टॉगल का इस्तेमाल करके, जांच की गड़बड़ी ठीक की जा सकती है. एजेंट व्यू में, आपको स्क्रीन पर मौजूद वे एलिमेंट दिखते हैं जिन्हें ऐप्लिकेशन की टेस्टिंग करने वाले एजेंट ने ऐप्लिकेशन की सुलभता से जुड़ी जानकारी का इस्तेमाल करते समय पता लगाया था. अगर आपको यह देखना है कि एजेंट ने क्या देखा, तो कार्रवाई वाले ओवरफ़्लो मेन्यू से उस जानकारी को डाउनलोड किया जा सकता है.

टेस्ट के नतीजों के लिए, सभी वीडियो, लॉग, और अन्य Cloud आर्टफ़ैक्ट देखने के लिए, टेस्ट के नतीजों वाले पेज पर मौजूद आर्टफ़ैक्ट देखें बटन का इस्तेमाल भी किया जा सकता है.

आम तौर पर होने वाली समस्याएं और सीमाएं

App Testing एजेंट की झलक की सुविधा में कुछ समस्याएं हैं:

  • App Testing एजेंट, आपके ऐप्लिकेशन की जांच करने के लिए जनरेटिव एआई का इस्तेमाल करता है. इसलिए, यह कभी-कभी एक ही निर्देश का पालन करते हुए अलग-अलग कार्रवाइयां करेगा.
  • App Testing एजेंट सिर्फ़ इन कार्रवाइयों के साथ काम करता है: टैप करना, टेक्स्ट डालना, ऊपर/नीचे/बाएं/दाएं स्वाइप करना, दबाकर रखना, खींचकर छोड़ना, वापस जाना, और इंतज़ार करना.
  • ऐप्लिकेशन टेस्टिंग एजेंट को ऐसे टेस्ट को पूरा करने में समस्या आती है जिनमें सिर्फ़ एक चरण होता है और उसे पूरा करने के लिए कई कार्रवाइयां करनी पड़ती हैं. यह तब बेहतर तरीके से काम करता है, जब मुश्किल टास्क को कई छोटे-छोटे चरणों में बांटा जाता है.
  • कभी-कभी, App Testing एजेंट स्क्रीन पर मौजूद अन्य एलिमेंट को दिखाने के लिए स्क्रोल नहीं करता है. ऐसा अक्सर तब होता है, जब स्क्रोल करने की सुविधा के बारे में कोई विज़ुअल इंडिकेशन नहीं होता. इस समस्या को हल करने के लिए, "hints" फ़ील्ड का इस्तेमाल करके स्क्रोल करने का सुझाव दिया जा सकता है.
  • कभी-कभी App Testing एजेंट को गिनती करने में समस्या आती है. उदाहरण के लिए, किसी कार्रवाई को तय संख्या में करना.
  • अगर FLAG_SECURE चालू है, तो App Testing एजेंट आपके ऐप्लिकेशन पर नेविगेट नहीं कर सकता. उसे आपके ऐप्लिकेशन के स्क्रीनशॉट के बजाय, सिर्फ़ एक खाली स्क्रीन दिखेगी.

टेस्टिंग कोटा

प्रीव्यू के दौरान, एआई की मदद से किए जाने वाले टेस्ट बिना किसी शुल्क के उपलब्ध होंगे. हालांकि, इसके लिए एक कोटा तय किया गया है. डिफ़ॉल्ट रूप से, हर Firebase प्रोजेक्ट के लिए, हर महीने 200 टेस्ट किए जा सकते हैं.

ध्यान दें कि अगर आपको एक से ज़्यादा टेस्ट केस चलाने हैं या एक ही टेस्ट केस को कई डिवाइसों पर चलाना है, तो इसे कई टेस्ट माना जाएगा. उदाहरण के लिए, अगर दो डिवाइसों पर दो टेस्ट केस चलाए जाते हैं, तो इसे कुल चार टेस्ट माना जाएगा.

डिफ़ॉल्ट सीमा से ज़्यादा कोटा पाने के लिए, इस्तेमाल के उदाहरण के साथ Firebase सहायता टीम से संपर्क करें.