सीटीएस टेस्ट चलाना

Trade Federation, Android डिवाइसों पर टेस्ट चलाने के लिए, लगातार टेस्ट करने वाला फ़्रेमवर्क है. काम करने की जांच करने वाला सुइट (सीटीएस) चलाने के लिए, पहले ट्रेड फ़ेडरेशन की खास जानकारी पढ़ें. इससे आपको Tradefed के टेस्ट फ़्रेमवर्क के बारे में जानकारी मिलेगी.

टेस्ट प्लान चलाने के लिए:

  1. Android डिवाइस सेटअप के मुताबिक, जांच के दायरे में आने वाले डिवाइसों (DUTs) को सेट अप करें.
  2. पक्का करें कि आपने Android Debug Bridge (adb) और Android एसेट पैकेजिंग टूल (AAPT), दोनों के नए वर्शन इंस्टॉल किए हों. साथ ही, उन टूल की जगह को अपनी मशीन के सिस्टम पाथ में जोड़ दिया हो. इन टूल को इंस्टॉल करने के बारे में जानने के लिए, CTS: ADB और AAPT सेट अप करना लेख पढ़ें.
  3. अपनी Linux होस्ट मशीन पर, रिलीज़ किए गए CTS बिल्ड डाउनलोड करें और बिल्ड को होस्ट की जगह पर अनज़िप करें.
  4. कम से कम एक डिवाइस कनेक्ट करें. डीयूटी को तैयार करने के लिए:
    • डिवाइस को होम स्क्रीन पर सेट करने के लिए, होम बटन दबाएं.
    • किसी दूसरे काम के लिए DUT का इस्तेमाल न करें.
    • सेंसर की गतिविधि को ट्रिगर करने से बचने के लिए, डीयूटी को एक ही जगह पर रखें.
    • डिवाइस के कैमरे को किसी ऐसे ऑब्जेक्ट पर ले जाएं जिस पर फ़ोकस किया जा सकता हो.
    • सीटीएस चलने के दौरान, डिवाइस पर कोई बटन न दबाएं. डीयूटी की स्क्रीन को छूने या बटन दबाने से, चल रहे टेस्ट में रुकावट आ सकती है. साथ ही, टेस्ट पूरा न हो पाने की संभावना भी बढ़ जाती है.
  5. उस फ़ोल्डर से CTS कंसोल cts-tradefed स्क्रिप्ट लॉन्च करें जहां CTS पैकेज को अनज़िप किया गया है. होस्ट के कमांड-लाइन शेल पर, यह चलाएं:

    ./android-cts/tools/cts-tradefed
  6. डिफ़ॉल्ट टेस्ट प्लान चलाएं (इसमें सभी टेस्ट पैकेज शामिल होते हैं):

    • CTS 11 और उससे पहले के वर्शन के लिए
      cts-tradefed > run cts
    • CTS 12 और उसके बाद के वर्शन के लिए

      cts-console > run cts

    • अगर आपको जांच को पूरा करने में लगने वाले समय को कम करना है, तो कई डिवाइसों पर जांच को अलग-अलग हिस्सों में बांटें. शर्डिंग के लिए, होस्ट को कम से कम दो डिवाइस कनेक्ट करने होंगे. हालांकि, बेहतर परफ़ॉर्मेंस के लिए छह या उससे ज़्यादा डिवाइसों को कनेक्ट करने का सुझाव दिया जाता है. एक से ज़्यादा डिवाइसों को शर्ड करने पर:

      • Android 9 और उसके बाद के वर्शन के लिए, कमांड विकल्प का इस्तेमाल करें

        --shard-count number_of_shards
      • Android 8.1 और इससे पहले के वर्शन के लिए, कमांड विकल्प का इस्तेमाल करें

        --shards number_of_shards
    • अगर आपको पूरा टेस्ट सुइट नहीं चलाना है, तो कमांड लाइन से अपनी पसंद का CTS प्लान चलाया जा सकता है:

      run cts --plan test_plan_name

      टेस्ट प्लान का नाम ढूंढने के लिए:

      • Android 7.0 और उसके बाद के वर्शन के लिए, टेस्ट मॉड्यूल की सूची देखने के लिए,

        list modules
      • Android 6.0 और इससे पुराने वर्शन के लिए, रिपॉज़िटरी में टेस्ट प्लान की सूची देखने के लिए,

        list plans
      • Android 6.0 और उससे पहले के वर्शन के लिए, रिपॉज़िटरी में टेस्ट पैकेज की सूची देखने के लिए,

        list packages
    • सीटीएस के वर्शन के हिसाब से, कमांड के अन्य विकल्पों के लिए, कंसोल कमांड रेफ़रंस देखें. इसके अलावा, Tradefed कंसोल में "सभी के लिए सहायता" में जाकर भी यह जानकारी देखी जा सकती है.

  7. जब तक सभी टेस्ट मॉड्यूल पूरे नहीं हो जाते और फिर से कोशिश करने के पिछले दो सेशन में, टेस्ट में फ़ेल होने की संख्या एक जैसी नहीं हो जाती, तब तक कई बार फिर से कोशिश करें.

    • Android 9 और उसके बाद के वर्शन के लिए,

      run retry --retry session_number --shard-count number_of_shards
    • Android 7.0–8.1 के लिए,

      run cts --retry session_number --shards number_of_shards
    • CTS के वर्शन के आधार पर, 'फिर से कोशिश करें' कमांड के अन्य विकल्पों के लिए, CTS v2 कमांड कंसोल देखें.

    • सीटीएस फिर से कोशिश करने की सुविधा को लागू करने के बारे में जानने के लिए, Trade Federation Suite फिर से कोशिश करना देखें.

  8. सिर्फ़ पैरामीटर वाले उन टेस्ट के लिए फिर से कोशिश करें जो पूरे नहीं हो पाए. पैरामीटर वाले जिन टेस्ट को पास कर दिया गया है उन्हें फिर से नहीं चलाया जाता.

    • Android 11 और उसके बाद के वर्शन के लिए, run cts कमांड में डिफ़ॉल्ट रूप से, फिर से कोशिश करने का यह कमांड विकल्प चालू होता है:

      run retry --retry  --new-parameterized-handling
  9. कंसोल पर, टेस्ट की प्रोग्रेस और रिपोर्ट किए गए नतीजे देखें.

Android Test Station का इस्तेमाल करके सीटीएस चलाना

Android Test Station, टेस्ट ऑटोमेशन टूल है. इसका इस्तेमाल करके, Android डेवलपर और टेस्ट इंजीनियर, स्टैंडर्ड टेस्ट सुइट चलाने के लिए यूज़र इंटरफ़ेस का इस्तेमाल कर सकते हैं. यह Android Compatibility Test Suite (CTS) के साथ काम करता है.

यह टूल, एटीएस उपयोगकर्ता गाइड के ज़रिए सार्वजनिक तौर पर उपलब्ध है. साथ ही, इसका कोड AOSP (multitest_transport,tradefed_cluster) में ओपन सोर्स है.

अन्य मोड के लिए सीटीएस चलाना

CTS 10 R4 रिलीज़ में, वैकल्पिक मोड वाले डिवाइसों या एक से ज़्यादा स्क्रीन वाले डिवाइसों के लिए टेस्ट प्लान जोड़ा गया है. run cts-foldable का इस्तेमाल करके, वैकल्पिक मोड के टेस्ट प्लान को लागू करें.

वैकल्पिक स्क्रीन मोड के लिए पास या फ़ेल हुए टेस्ट केस, display_mode की वैल्यू के साथ जोड़े जाते हैं. उदाहरण के लिए, testcase1[display_mode=0].

CTS 13 में, DeviceStateManager API की मदद से, फ़ोल्ड किए जा सकने वाले डिवाइस की अलग-अलग स्थितियों पर, नीचे दिए गए कॉन्फ़िगरेशन विकल्प के साथ टेस्ट मॉड्यूल चलाए जा सकते हैं. डिवाइस में तय की गई डिसप्ले फ़ोल्डिंग स्थितियों के आधार पर, CTS में टेस्ट अपने-आप चलता है. इसके लिए, cts-foldable टेस्ट प्लान चलाने की ज़रूरत नहीं होती.

<option name="config-descriptor:metadata" key="parameter" value="all_foldable_states" />

सीटीएस में मल्टी-डिवाइस टेस्टिंग

Android 13 और उसके बाद के वर्शन, एक से ज़्यादा डिवाइसों पर टेस्ट करने की सुविधा देते हैं. जिन टेस्ट के लिए एक से ज़्यादा डिवाइसों की ज़रूरत होती है वे CTS के चलने के दौरान अपने-आप शुरू हो जाते हैं. CTS 13 में कई डिवाइसों के लिए कुछ टेस्ट शामिल हैं. ये टेस्ट, sharding का इस्तेमाल किए जाने पर अपने-आप ट्रिगर होते हैं. जांच के लिए, फ़िज़िकल सेटअप में कोई और बदलाव करने की ज़रूरत नहीं होती. हालांकि, जांच सही तरीके से चल सके, इसके लिए virtualenv को इंस्टॉल करना ज़रूरी है. ज़्यादा जानकारी के लिए, एक से ज़्यादा डिवाइसों पर इस्तेमाल किए जा सकने वाले सुइट देखें.

एक से ज़्यादा डिवाइसों पर टेस्ट करना

अलग-अलग डिवाइसों पर जांच करने के लिए, नीचे दिए गए कोड का इस्तेमाल करें:

  cts-tradefed > run cts-multidevice
  

इसमें सभी सामान्य विकल्प काम करते हैं. किसी खास डिवाइस को टारगेट करने के लिए, टारगेट किए गए डिवाइसों की संख्या के हिसाब से --serial <serial1> --serial <serial2> जोड़ें.

एक से ज़्यादा डिवाइसों पर टेस्ट अपने-आप ट्रिगर करने के लिए, --shard-count 2 में बताए गए तरीके से, टास्क को अलग-अलग हिस्सों में बांटें.