सीटीएस के बारे में अक्सर पूछे जाने वाले सवाल

Android Compatibility Program, Android नेटवर्क के लिए लोगों के अच्छे सुझाव, शिकायत या राय पाने में मदद करता है. बड़े पैमाने पर, ऐप्लिकेशन के काम करने की क्वालिटी को पक्का करने के लिए, सीटीएस एक अहम टूल है. Android टीम, सीटीएस टूल और टेस्ट कवरेज को लगातार बेहतर बना रही है. टेस्ट केस को नियमित तौर पर जोड़ने से, काम करने वाले डिवाइसों की क्वालिटी में काफ़ी सुधार होता है.

सामान्य सवाल

इस सेक्शन में, सीटीएस के बारे में अक्सर पूछे जाने वाले सामान्य सवालों के जवाब दिए गए हैं.

सीटीएस किस तरह की चीज़ों की जांच करता है?

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

सीटीएस को लाइसेंस कैसे मिलता है?

सीटीएस को उसी Apache Software License 2.0 के तहत लाइसेंस मिला है जिसका इस्तेमाल ज़्यादातर Android डिवाइसों में किया जाता है.

क्या कोडेक की पुष्टि CTS ने की है?

हां. ज़रूरी सभी कोडेक की पुष्टि, सीटीएस करता है.

टेस्ट से जुड़े सवाल

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

सीटीएस और टीएफ़, दोनों में से किसमें डेटा को अलग-अलग हिस्सों में बांटा जाता है?

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

  • निर्देश: run cts
  • Android 8.1 और इससे पहले के वर्शन के लिए कॉन्फ़िगरेशन: /tools/cts-tradefed/res/config/cts.xml

टीएफ़ (टेंप्लेट फ़ाइल) का बंटवारा, उपलब्ध डीयूटी (डिवाइस के लिए टेस्ट) को डाइनैमिक तौर पर टेस्ट केस असाइन करता है. ऐसा इस तरह होता है:

एक से ज़्यादा एबीआई के साथ काम करने वाले डिवाइस से क्या उम्मीद की जा सकती है?

डिवाइस को हर उस एबीआई मोड के लिए, CTS और CTS Verifier के सभी टेस्ट पास करने होंगे जिस पर काम करने का दावा किया गया है. इसलिए, किसी खास एबीआई के लिए ऐप्लिकेशन को चलाना ज़रूरी है. एक से ज़्यादा एबीआई के लिए दिशा-निर्देश यहां दिए गए हैं:

  • CTS और CTS Verifier के लिए, हर आर्किटेक्चर के लिए ARM और x86 रिलीज़ उपलब्ध हैं. इनमें से हर एक, 32- या 64-बिट मोड पर काम कर सकता है.
  • अगर कोई डिवाइस ARM और x86, दोनों प्रोसेसर के साथ काम करता है, तो उसे CTS टेस्ट के लिए, ARM और x86, दोनों प्रोसेसर के लिए बने टेस्ट को रन करना होगा और पास करना होगा.

सीडीडी 3.3.1 देखें. ऐप्लिकेशन बाइनरी इंटरफ़ेस एबीआई पर सीडीडी की ज़रूरी शर्तों के लिए.

क्या टेस्ट को पूरा करने में लगने वाले समय को कम करने के लिए, सिर्फ़ प्राइमरी एबीआई (उदाहरण के लिए, 64 बिट) पर टेस्ट चलाना काफ़ी है?

नहीं. Android ऐप्लिकेशन, अपने 32-बिट या 64-बिट रनटाइम पर चलता है. असली मशीन कोड, कोड पाथ, और स्टेटस, 32 और 64 के बीच अलग-अलग होते हैं. अगर आपने किसी एक मोड को छोड़ा है, तो इसका मतलब है कि आपने डिवाइस के एबीआई का सिर्फ़ 50% हिस्सा कवर किया है.

'नहीं चलाया गया' के तौर पर रिपोर्ट किए गए टेस्ट केस की संख्या इतनी ज़्यादा क्यों है?

आपको पूरा नहीं किया गया नंबर के बजाय, मॉड्यूल पूरा हो गया नंबर देखना चाहिए.

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

पूरा होने तक चलने वाला मॉड्यूल, रिपोर्ट में सबसे हाल ही में किए गए अनुरोध (done="false") में मॉड्यूल पूरा नहीं हुआ रिपोर्ट करता है. ऐसा तब होता है, जब:

  • डिवाइस के कनेक्शन से जुड़ी समस्या की वजह से, मॉड्यूल के लिए टेस्ट रन में रुकावट आई.
  • मॉड्यूल के लिए, सभी टेस्ट नहीं चलाए गए.
  • फ़िल्टर करने के अन्य विकल्पों के साथ, -r/--retry विकल्प का इस्तेमाल करके फिर से कोशिश करें. जैसे:

    • --include-filter
    • --exclude-filter
    • -t/--test (फिलहाल, फिर से कोशिश करने पर यह विकल्प काम नहीं करता)
    • --retry-type failed
    • --subplan

इन मॉड्यूल के लिए मॉड्यूल पूरा हो गया (done="true") स्टेटस पाने के लिए, सबसे हाल ही में इस्तेमाल किए गए मॉड्यूल के लिए, यह तरीका फिर से आज़माएं:

run retry --retry <session_id> for Android 9 and later versions
run cts --retry <session_id> for Android 8.1 and previous versions

अगर किसी मॉड्यूल को बिना किसी समस्या के पूरा किया जाता है, तो उसे नई रिपोर्ट में मॉड्यूल पूरा हो गया के तौर पर मार्क किया जाता है. भले ही, उसमें कोई भी टेस्ट बाकी न हो.

अपवाद

  • CtsNNAPITestCases में एक समस्या है. यह समस्या, Linux/OS में आर्ग्युमेंट की सीमा की वजह से आती है. मॉड्यूल को सीधे run cts -m CtsNNAPITestCases की मदद से, अलग से फिर से चलाया जा सकता है.

मैं कॉर्पोरेट फ़ायरवॉल के पीछे टेस्ट की तैयारी करने से कैसे बचूं?

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

export JAVA_TOOL_OPTIONS='-Djava.net.useSystemProxies=true'

क्या मुझे सिक्योर एलिमेंट के लिए सीटीएस के लिए सिम कार्ड की ज़रूरत है?

टेस्ट के लिए सिम कार्ड की ज़रूरत है या नहीं, यह इस बात पर निर्भर करता है कि टेस्ट डिवाइस में यह सुविधा काम करती है या नहीं.

  • अगर आपके डिवाइस पर, सुरक्षित एलिमेंट को ऐक्सेस करने वाले Android ऐप्लिकेशन काम नहीं करने चाहिए, तो HIDL मेनिफ़ेस्ट को कॉन्फ़िगर करें, ताकि उसमें android.hardware.secure_element HAL एलिमेंट शामिल न हो. सुरक्षित एलिमेंट, मोबाइल नेटवर्क ऑपरेटर (कैरियर) से डिस्ट्रिब्यूट किए गए UICC (जैसे, सिम कार्ड) या डिवाइस में एम्बेड किए गए एलिमेंट में हो सकते हैं. इस मामले में, android.se.omapi.SEService.getReaders() एपीआई, खाली सूची की रिपोर्ट करता है. साथ ही, सीटीएस टेस्ट अपने-आप पास हो जाता है और सीटीएस के लिए पास होने की रिपोर्ट देता है.
  • अगर आपके डिवाइस पर, सुरक्षित एलिमेंट को ऐक्सेस करने वाले Android ऐप्लिकेशन काम करने चाहिए, तो आपको सुरक्षित एलिमेंट को सही तरीके से लागू करना होगा और उसका इन-हाउस टेस्ट करना होगा. सुरक्षित एलिमेंट, मोबाइल नेटवर्क ऑपरेटर (कैरियर) से डिस्ट्रिब्यूट किए गए यूआईसीसी (जैसे, सिम कार्ड) में या डिवाइस में एम्बेड किए जा सकते हैं. सुरक्षित एलिमेंट के लिए सीटीएस टेस्ट में, सीटीएस टेस्ट चलाने के लिए तैयारी करने का तरीका बताया गया है. इससे यह पक्का किया जा सकता है कि Android 9 में जोड़ा गया android.se.omapi एपीआई पैकेज काम कर रहा है. हमारा सुझाव है कि आप अपने ऐप्लिकेशन की और भी जांच करें, क्योंकि CTS टेस्ट में कम से कम जांच की जाती है.

मुझे सिक्योर एलिमेंट के लिए सीटीएस वाले सिम कार्ड कहां मिल सकते हैं?

इसके लिए, अपने पसंदीदा सिम वेंडर से संपर्क करें.

टोकन का बंटवारा करने के साथ सीटीएस को लागू करने के दौरान, लॉक स्क्रीन पर ऑरेंज सिम क्यों दिख रहा है?

जांच का उदाहरण शुरू नहीं होता, क्योंकि सिम कार्ड लॉक है. टोकन का बंटवारा करके सीटीएस को लागू करने से पहले, **सिम कार्ड लॉक की सेटिंग में जाकर, सिम कार्ड लॉक करें को बंद करें.