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

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

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

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

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

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

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

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

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

डेवलपमेंट के दौरान, सीटीएस को लगातार चलाने के लिए, हार्डवेयर के विकल्प के तौर पर 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 CTS में ये टेस्ट मॉड्यूल शामिल हैं:

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

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

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