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

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

सामान्य सवाल

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

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

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

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

सीटीएस को Apache सॉफ़्टवेयर के उसी लाइसेंस 2.0 के तहत लाइसेंस मिला है जिसका इस्तेमाल Android के कई संगठन करते हैं.

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

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

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

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

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

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

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

TF शार्डिंग, उपलब्ध डीयूटी को डाइनैमिक तौर पर टेस्ट केस असाइन करती है:

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

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

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

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

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

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

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

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

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

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

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

    • --include-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/ओएस की सीमा की वजह से होता है. मॉड्यूल को सीधे run cts -m CtsNNAPITestCases की मदद से, अलग से फिर से चलाया जा सकता है.

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

सभी ऑटोमेटेड टेस्ट सुइट, रनटाइम के दौरान CTS मीडिया फ़ाइलों या बिज़नेस लॉजिक फ़ाइलों को डाउनलोड करने की कोशिश करते हैं. कई कॉर्पोरेट एनवायरमेंट में, फ़ायरवॉल और प्रॉक्सी आम तौर पर मौजूद होते हैं. इनकी वजह से, टेस्ट की तैयारी पूरी नहीं हो पाती. नीचे दी गई लाइन को चलाएं या इसे 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 टेस्ट में कम से कम जांच की जाती है.

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

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

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

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