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

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

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

डिवाइसों को शेयर करना

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

Android का जांच करने वाला टूल

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

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

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

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

ड्रॉएलिमेंट्स क्वालिटी प्रोग्राम (डीईक्यूपी)

drawElements क्वालिटी प्रोग्राम (डीईक्यूपी) को 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

होस्ट 2:

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

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

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

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

Android CTS में ये टेस्ट मॉड्यूल शामिल हैं:

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

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

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