यहां ऑटोमेशन के कुछ सामान्य तरीके दिए गए हैं. इनका इस्तेमाल, अपने सीआई सिस्टम में किया जा सकता है.
बुनियादी नौकरियां
बिल्ड करना: किसी प्रोजेक्ट को शुरू से बनाकर, यह पक्का किया जा सकता है कि नए बदलाव सही तरीके से कंपाइल हों और सभी लाइब्रेरी और टूल एक-दूसरे के साथ काम करते हों.
लिंट या स्टाइल की जांच: यह चरण ज़रूरी नहीं है, लेकिन इसका सुझाव दिया जाता है. स्टाइल के नियमों को लागू करने और स्टैटिक विश्लेषण करने पर, कोड की समीक्षाएं ज़्यादा बेहतर और सटीक हो सकती हैं.
लोकल या होस्ट-साइड टेस्ट: ये टेस्ट उस लोकल मशीन पर चलते हैं जिस पर बिल्ड किया जाता है. Android पर आम तौर पर, JVM का इस्तेमाल किया जाता है. इसलिए, ये तेज़ और भरोसेमंद होते हैं. इनमें Robolectric टेस्ट भी शामिल हैं.
इंस्ट्रुमेंट किए गए टेस्ट
एम्युलेटर या फ़िज़िकल डिवाइसों पर चलने वाले टेस्ट के लिए, कुछ प्रावधान करना ज़रूरी होता है. साथ ही, डिवाइसों के बूट होने या कनेक्ट होने का इंतज़ार करना पड़ता है. इसके अलावा, कुछ और कार्रवाइयां भी होती हैं, जो टेस्ट को मुश्किल बनाती हैं.
CI पर इंस्ट्रूमेंट किए गए टेस्ट चलाने के कई विकल्प हैं:
- Gradle के ज़रिए मैनेज किए जाने वाले डिवाइसों का इस्तेमाल, इस्तेमाल किए जाने वाले डिवाइसों (उदाहरण के लिए, "API 27 पर Pixel 2 एमुलेटर") को तय करने के लिए किया जा सकता है. साथ ही, यह डिवाइस की प्रोविज़निंग को मैनेज करता है.
- ज़्यादातर सीआई सिस्टम में, Android एमुलेटर को मैनेज करने के लिए तीसरे पक्ष का प्लगिन होता है. इसे "कार्रवाई", "इंटिग्रेशन" या "चरण" भी कहा जाता है.
- Firebase टेस्ट लैब जैसे डिवाइस फ़ार्म को, इंस्ट्रुमेंट किए गए टेस्ट सौंपें. डिवाइस फ़ार्म का इस्तेमाल, उनकी बेहतर परफ़ॉर्मेंस के लिए किया जाता है. ये एमुलेटर या फ़िज़िकल डिवाइसों पर चल सकते हैं.
परफ़ॉर्मेंस रेग्रेशन टेस्ट
ऐप्लिकेशन की परफ़ॉर्मेंस पर नज़र रखने के लिए, हमारा सुझाव है कि आप बेंचमार्क लाइब्रेरी का इस्तेमाल करें. डेवलपमेंट के दौरान परफ़ॉर्मेंस टेस्ट को ऑटोमेट करने के लिए, फिज़िकल डिवाइसों की ज़रूरत होती है, ताकि टेस्ट के नतीजे एक जैसे और सही हों.
बेंचमार्क चलाने में काफ़ी समय लग सकता है. ऐसा तब होता है, जब आपके पास कोड और उपयोगकर्ता के सफ़र की ज़्यादा कवरेज हो, जिसे बेंचमार्क किया जा रहा है. मर्ज की गई हर सुविधा या कमिट के लिए सभी मानदंड चलाने के बजाय, उन्हें नियमित तौर पर शेड्यूल किए गए रखरखाव वाले बिल्ड के हिस्से के तौर पर चलाएं. जैसे, हर रात होने वाला बिल्ड.
परफ़ॉर्मेंस पर नज़र रखना
स्टेप फ़िटिंग का इस्तेमाल करके, परफ़ॉर्मेंस में गिरावट पर नज़र रखी जा सकती है. चरण के हिसाब से फ़िट करने की सुविधा, पिछले बिल्ड के नतीजों की रोलिंग विंडो तय करती है. इसकी तुलना मौजूदा बिल्ड से की जाती है. इस तरीके से, कई बेंचमार्क के नतीजों को एक रिग्रेशन मेट्रिक में जोड़ा जाता है. रेग्रेशन टेस्टिंग के दौरान गड़बड़ी को कम करने के लिए, चरण के हिसाब से फ़िट करने की सुविधा का इस्तेमाल किया जा सकता है.
इससे, गलत तरीके से समस्या का पता चलने की संभावना कम हो जाती है. ऐसा तब हो सकता है, जब किसी एक बिल्ड के लिए बेंचमार्क के समय धीमे हों और फिर सामान्य हो जाएं.
टेस्ट कवरेज रिग्रेशन जांच
टेस्ट कवरेज एक मेट्रिक है. इससे आपको और आपकी टीम को यह तय करने में मदद मिल सकती है कि क्या टेस्ट में किसी बदलाव को ज़रूरत के मुताबिक कवर किया गया है. हालांकि, यह एकमात्र इंडिकेटर नहीं होना चाहिए. आम तौर पर, रिग्रेशन जांच को इस तरह सेट अप किया जाता है कि वह बेस शाखा के मुकाबले कवरेज कम होने पर, चेतावनी दिखाए या जांच पूरी न कर पाए.