Android ओपन सोर्स प्रोजेक्ट (AOSP) कई टूल और टेस्ट सुइट उपलब्ध कराता है के अलग-अलग हिस्सों की जांच की जा सकती है. इसमें पेजों का इस्तेमाल करने से पहले सेक्शन में, आपको इन शर्तों की जानकारी होनी चाहिए:
- Android डिवाइस पर काम करने वाला डिवाइस
- ऐसा डिवाइस जिस पर तीसरे पक्ष के डेवलपर का लिखा हुआ कोई भी तीसरे पक्ष का ऐप्लिकेशन चलाया जा सके जो Android SDK और NDK का इस्तेमाल करते हैं. Android डिवाइस के साथ काम करने वाले डिवाइसों को की ज़रूरी शर्तें कंपैटबिलिटी डेफ़िनिशन दस्तावेज़ (सीडीडी) और कंपैटबिलिटी टेस्ट सुइट (सीटीएस). Android के साथ काम करने वाला सभी डिवाइस, Android नेटवर्क में शामिल होने की ज़रूरी शर्तें पूरी करते हैं. इनमें ये शामिल हैं Google Play का संभावित लाइसेंस, Google मोबाइल सेवाओं (GMS) का सुइट ऐप्लिकेशन और एपीआई के साथ-साथ Android ट्रेडमार्क के इस्तेमाल की जानकारी भी देता है. इनमें से कोई भी आपका स्वागत कर सकता है Android नेटवर्क का हिस्सा होने के बावजूद, Android नेटवर्क का हिस्सा माना जाता है. और आपका डिवाइस Android के साथ काम करना चाहिए.
- आर्टफ़ैक्ट
- बिल्ड से जुड़ा लॉग, जो डिवाइस में मौजूद समस्याएं हल करने की सुविधा देता है.
- कंपैटबिलिटी डेफ़िनिशन दस्तावेज़ (सीडीडी)
- एक ऐसा दस्तावेज़ जिसमें सॉफ़्टवेयर और हार्डवेयर के लिए Android डिवाइस के साथ काम करने वाला डिवाइस.
- कंपैटबिलिटी टेस्ट सुइट (सीटीएस)
यह एक मुफ़्त, व्यावसायिक स्तर का टेस्ट सुइट होता है. इसे बाइनरी या एक ही सोर्स में आता है. सीटीएस, यूनिट टेस्ट का एक सेट है. इसे आपका हर दिन का वर्कफ़्लो. सीटीएस का मकसद यह बताना है कि इस प्लैटफ़ॉर्म पर, आपके प्रॉडक्ट के साथ किस तरह की कार्रवाइयां की जा सकती हैं. साथ ही, यह भी पक्का करना होगा कि सॉफ़्टवेयर, डेवलपमेंट की पूरी प्रक्रिया के दौरान एक-दूसरे के साथ काम करता रहे.
सीटीएस और प्लैटफ़ॉर्म टेस्ट एक-दूसरे से अलग नहीं होते. यहाँ कुछ सामान्य जानकारी दी गई है दिशा-निर्देश:
- अगर कोई टेस्ट, फ़्रेमवर्क एपीआई के फ़ंक्शन या व्यवहार के सही होने का दावा कर रहा है, और टेस्ट, सभी OEM पार्टनर पर लागू किया जाना चाहिए और यह सीटीएस में होना चाहिए.
- अगर टेस्ट का मकसद प्लैटफ़ॉर्म डेवलपमेंट के दौरान रिग्रेशन का पता लगाना है, हो सकता है कि उन्हें पूरा करने के लिए खास लोगों की अनुमति की ज़रूरत हो. इसके अलावा, (जैसा कि एओएसपी में जारी किया गया है), यह एक ऐसा प्लैटफ़ॉर्म होना चाहिए परीक्षण.
- Google मोबाइल सेवाएं (GMS)
Google के ऐप्लिकेशन और एपीआई का कलेक्शन, जिन्हें डिवाइसों पर पहले से इंस्टॉल किया जा सकता है.
- GoogleTest (GTest)
C++ टेस्टिंग और मॉकिंग फ़्रेमवर्क. आम तौर पर, GTest बाइनरी लोअर-लेवल ऐब्स्ट्रक्शन लेयर ऐक्सेस करें या अलग-अलग सिस्टम के लिए रॉ आईपीसी परफ़ॉर्म करें सेवाओं. GTest के लिए टेस्टिंग का तरीका आम तौर पर सेवा की जांच की जा रही है. सीटीएस में GTest फ़्रेमवर्क शामिल है.
- इंस्ट्रुमेंटेशन टेस्ट
टेस्ट को एक्ज़ीक्यूट करने के लिए खास एनवायरमेंट
am instrument
कमांड से लॉन्च किया गया, जहां टारगेट किए गए ऐप्लिकेशन की प्रोसेस को रीस्टार्ट करके उसे बुनियादी ऐप्लिकेशन कॉन्टेक्स्ट के साथ शुरू किया जाता है और इंस्ट्रुमेंटेशन थ्रेड, ऐप्लिकेशन प्रोसेस वर्चुअल के अंदर शुरू की गई है मशीन. सीटीएस में इंस्ट्रुमेंटेशन टेस्ट होते हैं.- लॉगकैट
यह एक कमांड-लाइन टूल है, जो सिस्टम मैसेज का लॉग बनाता है. इसमें ये शामिल हैं इससे पता चलता है कि डिवाइस से कब कोई गड़बड़ी मिलती है और आपके पास कौनसे मैसेज हैं
Log
क्लास के साथ आपके ऐप्लिकेशन से लिखा गया है.- लॉग इन करना
कंप्यूटर सिस्टम इवेंट का ट्रैक रखने के लिए लॉग का इस्तेमाल करना, जैसे गड़बड़ियों के रूप में. Android में लॉग इन करना जटिल है, क्योंकि इसके लिए कई तरह के स्टैंडर्ड इस्तेमाल किए जाते हैं Logcat टूल में जोड़े जाते हैं.
- सबमिट करने के बाद की जांच
Android की ऐसी जांच जो तब की जाती है, जब नया पैच कॉमन कर्नेल ब्रांच का इस्तेमाल किया जाएगा. आंशिक शाखा नाम के रूप में
aosp_kernel
डालने पर, आप कर्नेल ब्रांच की सूची देखी जा सकती है, जिसके नतीजे उपलब्ध हैं. उदाहरण के लिए, परिणामandroid-mainline
के लिए यहां पाया जा सकता है https://ci.android.com/builds/branches/aosp_kernel-common-android-mainline/grid.- प्री-सबमिट टेस्ट
इस टेस्ट का इस्तेमाल करके, सामान्य कर्नेल.
- ट्रेड फ़ेडरेशन
इसे ट्रेडेड भी कहा जाता है. यह एक कंटिन्यूअस टेस्ट है Android डिवाइसों पर टेस्ट चलाने के लिए डिज़ाइन किया गया फ़्रेमवर्क. उदाहरण के लिए, ट्रेडफ़ेड का इस्तेमाल, 'कंपैटबिलिटी टेस्ट सुइट' और वेंडर टेस्ट सुइट की जांच करने के लिए किया जाता है.
- वेंडर टेस्ट सुइट (वीटीएस)
कई सुविधाओं का एक सेट Android की टेस्टिंग, टेस्ट-ड्रिवन डेवलपमेंट प्रोसेस को बढ़ावा देना, और ऑटोमेशन हार्डवेयर ऐब्स्ट्रक्शन लेयर (HAL) और ओएस कर्नेल टेस्टिंग.
प्लैटफ़ॉर्म टेस्ट के टाइप
प्लैटफ़ॉर्म टेस्ट, आम तौर पर एक या एक से ज़्यादा Android सिस्टम के साथ इंटरैक्ट करता है या HAL लेयर का डेटा है, तो उस विषय की सुविधाओं की जांच कर रहा है जो जांच में है. साथ ही, उसके सही होने का दावा करता है टेस्ट का नतीजा. प्लैटफ़ॉर्म टेस्ट से ये काम किए जा सकते हैं:
- (टाइप 1) Android फ़्रेमवर्क का इस्तेमाल करने वाले एक्सरसाइज़ फ़्रेमवर्क एपीआई. खास एपीआई
व्यायाम में ये शामिल हो सकते हैं:
- तीसरे पक्ष के ऐप्लिकेशन के लिए बनाए गए सार्वजनिक एपीआई
- खास ऐप्लिकेशन के लिए छिपे हुए एपीआई, जैसे कि सिस्टम एपीआई या
निजी एपीआई (
@hide
याprotected
,package private
)
- (टाइप 2) रॉ बाइंडर या आईपीसी प्रॉक्सी का इस्तेमाल करके Android सिस्टम की सेवाएं शुरू करना सकता है.
- (तीसरा टाइप) लो-लेवल एपीआई या आईपीसी इंटरफ़ेस का इस्तेमाल करके, एचएएल से सीधे इंटरैक्ट करें.
टाइप 1 और 2 टेस्ट आम तौर पर इंस्ट्रुमेंटेशन टेस्ट होते हैं, जबकि टाइप 3 टेस्ट आम तौर पर GTest.
आगे क्या करना है?
यहां उन दस्तावेज़ों की सूची दी गई है जिन्हें पढ़कर ज़्यादा जानकारी हासिल की जा सकती है:
अगर आपने Android आर्किटेक्चर का अध्ययन नहीं किया है, तो यह देखें स्ट्रक्चर के बारे में खास जानकारी.
अगर आपको Android के साथ काम करने वाला कोई डिवाइस बनाना है, तो Android के साथ काम करने वाले प्रोग्राम की खास जानकारी.
इंस्ट्रुमेंटेशन, फ़ंक्शनल, मेट्रिक, और JAR होस्ट टेस्ट इंटिग्रेट करने के लिए को प्लैटफ़ॉर्म की लगातार टेस्टिंग सेवा में शामिल हैं, तो डेवलपमेंट वर्कफ़्लो की जांच करना.
जोखिम की आशंकाओं का पता लगाने और अपने डिवाइसों को सुरक्षित रखने के लिए, सुरक्षा जांच देखें.
अपने एचएएल और कर्नेल के काम करने के तरीके की जांच करने के बारे में जानने के लिए, यहां देखें विक्रेता टेस्ट सुइट (वीटीएस) और इन्फ़्रास्ट्रक्चर.
ऐप्लिकेशन की जांच के लिए, पढ़ें Android को टेस्ट करने की बुनियादी बातें ऐप्लिकेशन और Kotlin 05.1:टेस्टिंग में Android का बेहतर वर्शन इंस्टॉल करें बुनियादी जानकारी इसका इस्तेमाल करके सैंपल दिए गए.
पहले से सबमिट करने की बुनियादी जांच के बारे में जानें, जो आपके लिए रेपो हुक के ज़रिए उपलब्ध है. इन हुक का इस्तेमाल लिंटर चलाने, फ़ॉर्मैटिंग की जांच करने, और यूनिट को ट्रिगर करने के लिए किया जा सकता है आगे बढ़ने से पहले उसकी जांच कर लेता है. जैसे, कमिट वाला फ़ॉर्मैट अपलोड करना. ये हुक बंद हैं डिफ़ॉल्ट रूप से. ज़्यादा जानकारी के लिए, AOSP प्रीअपलोड देखें हुक.
डेटा लॉग करने के बारे में ज़्यादा जानने के लिए, लॉग इन करने के बारे में जानकारी पाना लेख पढ़ें.
Android कोड को डीबग करने का तरीका समझने के लिए, यहां देखें नेटिव Android प्लैटफ़ॉर्म कोड को डीबग करें.