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