सीटीएस को ऑप्टिमाइज़ करें

Android Compatibility Test Suite (CTS) में, लाखों अलग-अलग टेस्ट होते हैं. सॉफ़्टवेयर डेवलपमेंट के दौरान, सीटीएस को बार-बार चलाना ज़रूरी है. हालांकि, इन टेस्ट को चलाने में लगने वाले समय को कम किया जा सकता है.

इस पेज में उन तरीकों के बारे में बताया गया है जिनका इस्तेमाल करके, टेस्ट पूरा होने में लगने वाला समय कम किया जा सकता है. साथ ही, प्रोसेस में हार्डवेयर रिसॉर्स को ऑप्टिमाइज़ करने का तरीका भी बताया गया है.

शार्डिंग डिवाइस

साइकल टाइम कम करने के लिए, एक से ज़्यादा डिवाइसों पर सीटीएस चलाएं (शर्डिंग). यह जानने के लिए कि शार्डिंग का इस्तेमाल कैसे किया जा सकता है, CTS टेस्ट चलाएं लेख पढ़ें.

Android टेस्ट स्टेशन

यूज़र इंटरफ़ेस का इस्तेमाल करके स्टैंडर्ड Android टेस्ट सुइट चलाने के लिए, Android Test Station (ATS) का इस्तेमाल करें. यह टूल ट्रेड फ़ेडरेशन (TF) के लिए वेब इंटरफ़ेस के रूप में काम करता है, जिसकी मदद से आप टेस्ट डिवाइसों के सेट पर कम से कम सेटअप के साथ सीटीएस चला सकते हैं. साथ ही, इससे लगातार टेस्ट चलाने का शेड्यूल भी तय किया जा सकता है.

Android टेस्ट स्टेशन पर मल्टी-होस्ट मोड काम करता है. इससे एक ही एटीएस कंट्रोलर होस्ट का इस्तेमाल करके, कई एटीएस वर्कर होस्ट पर डिवाइसों और टेस्ट को मैनेज किया जा सकता है.

एम्युलेटर लगातार चलना

डेवलपमेंट के दौरान सीटीएस को लगातार चलाने के लिए, Android वर्चुअल डिवाइस (एवीडी) का इस्तेमाल हार्डवेयर के विकल्प के तौर पर किया जा सकता है. जांच के फ़ेल होने के मामलों की जल्दी पहचान की जा सकती है. इससे, मुख्य समस्याओं की जांच करने और उनकी वजहों का विश्लेषण करने में लगने वाला समय बचता है. एम्युलेटर के कई इंस्टेंस का इस्तेमाल, डेटा को अलग-अलग हिस्सों में बांटने के लिए किया जा सकता है. साथ ही, इन्हें Android टेस्ट स्टेशन के साथ लगातार चलने के लिए शेड्यूल किया जा सकता है.

drawElements Quality Program (dEQP)

drawElements क्वालिटी प्रोग्राम (dEQP), Android CTS में शामिल है. इस प्रोग्राम को CtsDepqTestCases कहा जाता है. यह Android ग्राफ़िक की जांच पर फ़ोकस करता है. Android CTS में, करीब 80% टेस्ट केस इस मॉड्यूल के होते हैं. साथ ही, टेस्ट पूरा होने में लगने वाले कुल समय का 6% हिस्सा भी इस मॉड्यूल का होता है.

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

एक विकल्प यह है कि CtsDeqpTestCases को डिवाइसों के एक सेट पर अलग से चलाया जाए और फिर गतिविधियों की रिपोर्ट सबमिट की जाए. उदाहरण के लिए, दो अलग-अलग होस्ट पर.

होस्ट 1:

cts-tf > run cts --max-log-size 100 --shard-count 6 -o -m CtsDeqpTestCases

दूसरा होस्ट:

cts-tf > run cts --max-log-size 100 --shard-count 6 -o --exclude-filter CtsDeqpTestCases

मीडिया टेस्ट केस

मीडिया टेस्ट केस, ऑडियो, वीडियो, और मल्टीमीडिया ड्राइवर जैसी मल्टीमीडिया सेवाओं की पुष्टि करते हैं. मल्टीमीडिया टेस्ट मॉड्यूल, सीटीएस के लागू होने में लगने वाले समय में सबसे ज़्यादा योगदान देते हैं. देरी तब हो सकती है, जब:

  • जांच के दौरान, मीडिया फ़ाइलें डाउनलोड करना या मीडिया फ़ाइलों को बार-बार चलाना.
  • सफल टेस्ट केस की फिर से कोशिश करना.

Android सीटीएस में ये टेस्ट मॉड्यूल शामिल होते हैं:

  • CtsMediaStressTestCases
  • CtsMediaPlayerTestCases
  • CtsMediaAudioTestCases
  • CtsVideoTestCases
  • CtsMediaDecoderTestCases
  • CtsMediaCodecTestCases
  • CtsMediaV2TestCases

कुछ मीडिया टेस्ट स्थानीय तौर पर या किसी स्थानीय सर्वर पर चलाएं. ज़्यादा जानकारी के लिए, लोकल तौर पर सीटीएस मीडिया टेस्ट चलाना लेख पढ़ें.

मल्टीमीडिया फ़्रेमवर्क और उसके ड्राइवर (डिकोडर और एन्कोडर), Android फ़र्मवेयर (बीएसपी) का हिस्सा होते हैं. फ़र्मवेयर अपडेट शेड्यूल के आधार पर, इस मॉड्यूल को रणनीतिक तरीके से चलाया जा सकता है और कई साइकल के लिए इन मॉड्यूल को बाहर रखा जा सकता है.