Android Compatibility Test Suite (CTS) में, लाखों अलग-अलग टेस्ट शामिल हैं. सॉफ़्टवेयर डेवलपमेंट के दौरान, CTS को बार-बार चलाना ज़रूरी है. हालांकि, इन टेस्ट को चलाने में लगने वाला समय कम किया जा सकता है.
इस पेज पर, टेस्ट को पूरा करने में लगने वाला समय कम करने के तरीकों के बारे में बताया गया है. साथ ही, यह भी बताया गया है कि प्रोसेस में हार्डवेयर के रिसॉर्स को कैसे ऑप्टिमाइज़ किया जा सकता है.
डिवाइसों को अलग-अलग ग्रुप में बांटना
एक साइकल पूरा होने में लगने वाला समय कम करने के लिए, सीटीएस को एक से ज़्यादा डिवाइसों पर चलाएं (शार्डिंग). शार्डिंग का इस्तेमाल कैसे किया जा सकता है, यह जानने के लिए, CTS टेस्ट चलाना लेख पढ़ें.
Android का जांच करने वाला टूल
Android के स्टैंडर्ड टेस्ट सुइट चलाने के लिए, Android Test Station (ATS) का इस्तेमाल करें. इसके लिए, आपको यूज़र इंटरफ़ेस का इस्तेमाल करना होगा. यह टूल Trade Federation (TF) के लिए वेब इंटरफ़ेस के तौर पर काम करता है. इसकी मदद से, टेस्ट डिवाइसों के सेट पर कम से कम सेटअप के साथ CTS चलाया जा सकता है. साथ ही, टेस्ट को लगातार चलाने के लिए शेड्यूल भी बनाया जा सकता है.
Android Test Station, मल्टी-होस्ट मोड के साथ काम करता है. इसकी मदद से, एक ATS कंट्रोलर होस्ट का इस्तेमाल करके, कई ATS वर्कर होस्ट पर मौजूद डिवाइसों और टेस्ट को मैनेज किया जा सकता है.
एम्युलेटर को लगातार चलाना
डेवलपमेंट के दौरान, CTS को लगातार चलाने के लिए, Android Virtual Devices (AVD) का इस्तेमाल हार्डवेयर के विकल्प के तौर पर किया जा सकता है. टेस्ट में फ़ेल होने की वजहों की पहचान शुरुआती चरण में ही की जा सकती है. इससे, रूट की वजहों को ट्राइएज और उनका विश्लेषण करने में लगने वाला ज़्यादातर समय बचाया जा सकता है. शार्डिंग के लिए, एम्युलेटर के कई इंस्टेंस का इस्तेमाल किया जा सकता है. साथ ही, Android Test Station की मदद से, इन्हें लगातार चलाने के लिए शेड्यूल किया जा सकता है.
drawElements Quality Program (dEQP)
The
drawElements Quality Program (dEQP)
Android CTS में शामिल है. इस प्रोग्राम को CtsDepqTestCases कहा जाता है. यह Android के ग्राफ़िक्स की टेस्ट कवरेज पर फ़ोकस करता है. यह मॉड्यूल, Android CTS में मौजूद सभी टेस्ट केस के लगभग 80% हिस्से के लिए ज़िम्मेदार है. साथ ही, यह कुल समय का 6% हिस्सा लेता है.
Android के ग्राफ़िक्स ड्राइवर, Android फ़र्मवेयर (बीएसपी) का हिस्सा होते हैं. साथ ही, डेवलपमेंट के दौरान इनमें ज़्यादा बदलाव नहीं होते. इसलिए, इस मॉड्यूल को रणनीतिक तरीके से चलाया जा सकता है. उदाहरण के लिए, अगर सॉफ़्टवेयर डेवलपमेंट के दौरान, हर दो हफ़्ते (या उससे कम) में CTS चलाया जाता है, तो फ़र्मवेयर अपडेट के शेड्यूल के आधार पर, इस मॉड्यूल को कई साइकल के लिए बाहर रखा जा सकता है.
एक विकल्प यह है कि डिवाइसों के सेट पर CtsDeqpTestCases को अलग से चलाया जाए. इसके बाद, CTS की रिपोर्ट सबमिट की जाएं. उदाहरण के लिए, दो अलग-अलग होस्ट पर.
पहला होस्ट:
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
मीडिया टेस्ट केस
मीडिया टेस्ट केस, ऑडियो, वीडियो, और मल्टीमीडिया ड्राइवर जैसी मल्टीमीडिया सेवाओं की पुष्टि करते हैं. ये मल्टीमीडिया टेस्ट मॉड्यूल, CTS को पूरा करने में लगने वाले समय में सबसे ज़्यादा योगदान देते हैं. इन स्थितियों में देरी हो सकती है:
- टेस्ट के दौरान, मीडिया फ़ाइलें डाउनलोड करने या बार-बार चलाने पर.
- टेस्ट केस के फ़ेल होने पर, उन्हें फिर से आज़माने पर.
Android CTS में ये टेस्ट मॉड्यूल शामिल हैं:
CtsMediaStressTestCasesCtsMediaPlayerTestCasesCtsMediaAudioTestCasesCtsVideoTestCasesCtsMediaDecoderTestCasesCtsMediaCodecTestCasesCtsMediaV2TestCases
कुछ मीडिया टेस्ट, स्थानीय तौर पर या किसी स्थानीय सर्वर पर चलाएं. ज़्यादा जानकारी के लिए, स्थानीय तौर पर CTS मीडिया टेस्ट चलाना लेख पढ़ें.
मल्टीमीडिया फ़्रेमवर्क और उसके ड्राइवर (डिकोडर और एनकोडर), Android फ़र्मवेयर (बीएसपी) का हिस्सा होते हैं. फ़र्मवेयर अपडेट के शेड्यूल के आधार पर, इस मॉड्यूल को रणनीतिक तरीके से चलाया जा सकता है. साथ ही, इन मॉड्यूल को कई साइकल के लिए बाहर रखा जा सकता है.