Android प्लैटफ़ॉर्म की टेस्टिंग

Android ओपन सोर्स प्रोजेक्ट (एओएसपी), लागू करने की प्रक्रिया के अलग-अलग हिस्सों की जांच करने के लिए, कई टूल और टेस्ट सुइट उपलब्ध कराता है. इस सेक्शन में मौजूद पेजों का इस्तेमाल करने से पहले, आपको इन शब्दों के बारे में जानकारी होनी चाहिए:

Android के साथ काम करने वाला डिवाइस
ऐसा डिवाइस जो Android SDK और NDK का इस्तेमाल करके, तीसरे पक्ष के डेवलपर के लिखे गए किसी भी तीसरे पक्ष के ऐप्लिकेशन को चला सकता है. यह ज़रूरी है कि Android पर चलने वाले डिवाइस, कंपैटबिलिटी डेफ़िनिशन दस्तावेज़ (सीडीडी) की ज़रूरी शर्तों को पूरा करते हों. साथ ही, उन्हें कंपैटबिलिटी टेस्ट सुइट (सीटीएस) में पास किया गया हो. Android के साथ काम करने वाले डिवाइस, Android नेटवर्क में शामिल हो सकते हैं. इसमें, Google Play का लाइसेंस, ऐप्लिकेशन और एपीआई के Google Mobile Services (GMS) सुइट का लाइसेंस, और Android ट्रेडमार्क का इस्तेमाल शामिल है. Android सोर्स कोड का इस्तेमाल कोई भी कर सकता है. हालांकि, किसी डिवाइस को Android के साथ काम करने वाला माना जा सकता है, इसके लिए ज़रूरी है कि वह Android के साथ काम करता हो.
आर्टफ़ैक्ट
बिल्ड से जुड़ा लॉग, जो स्थानीय समस्या हल करने की सुविधा देता है.
कंपैटबिलिटी डेफ़िनिशन दस्तावेज़ (सीडीडी)
यह एक ऐसा दस्तावेज़ है जिसमें Android के साथ काम करने वाले किसी डिवाइस के सॉफ़्टवेयर और हार्डवेयर की ज़रूरी शर्तों की जानकारी होती है.
कंपैटबिलिटी टेस्ट सुइट (सीटीएस)

मुफ़्त में उपलब्ध, व्यावसायिक ग्रेड का टेस्ट सुइट. इसे AOSP में बाइनरी या सोर्स के तौर पर डाउनलोड किया जा सकता है. सीटीएस, यूनिट टेस्ट का एक सेट है. इसे आपके रोज़ के वर्कफ़्लो में इंटिग्रेट करने के लिए डिज़ाइन किया गया है. सीटीएस का मकसद, यह पक्का करना है कि सिस्टम, ऐप्लिकेशन के साथ काम नहीं करता या नहीं. साथ ही, यह भी पक्का किया जाता है कि सॉफ़्टवेयर डेवलपमेंट की पूरी प्रोसेस के दौरान उसके साथ काम करता रहे.

सीटीएस और प्लैटफ़ॉर्म टेस्ट, एक-दूसरे से अलग नहीं हैं. यहां कुछ सामान्य दिशा-निर्देश दिए गए हैं:

  • अगर कोई टेस्ट, फ़्रेमवर्क एपीआई फ़ंक्शन या व्यवहार के सही होने का दावा कर रहा है और यह टेस्ट सभी OEM पार्टनर पर लागू किया जाना चाहिए, तो यह CTS में होना चाहिए.
  • अगर किसी टेस्ट का मकसद प्लैटफ़ॉर्म के डेवलपमेंट के दौरान, रिग्रेशन को पकड़ना है और उसे करने के लिए खास अनुमति की ज़रूरत पड़ सकती है और वह लागू करने की जानकारी (जैसा कि AOSP में रिलीज़ किया गया है) पर निर्भर हो सकता है, तो उसे प्लैटफ़ॉर्म टेस्ट माना जाना चाहिए.
Google मोबाइल सेवाएं (GMS)

Google के उन ऐप्लिकेशन और एपीआई का कलेक्शन जिन्हें डिवाइसों पर पहले से इंस्टॉल किया जा सकता है.

GoogleTest (GTest)

C++ टेस्टिंग और मॉकिंग फ़्रेमवर्क. GTest बाइनरी आम तौर पर, कम लेवल की एब्स्ट्रैक्शन लेयर को ऐक्सेस करती हैं या अलग-अलग सिस्टम सेवाओं के लिए रॉ आईपीसी करती हैं. आम तौर पर, GTest के लिए टेस्टिंग का तरीका, जांच की जा रही सेवा के साथ पूरी तरह से जुड़ा होता है. CTS में 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 पर देखे जा सकते हैं.

सबमिट करने से पहले की जाने वाली जांच

यह एक टेस्ट है, जिसका इस्तेमाल आम कर्नेल में गड़बड़ियों को रोकने के लिए किया जाता है.

Trade Federation

इसे Tradefed भी कहा जाता है. यह Android डिवाइसों पर टेस्ट चलाने के लिए डिज़ाइन किया गया, लगातार टेस्ट करने वाला फ़्रेमवर्क है. उदाहरण के लिए, Tradefed का इस्तेमाल, Compatibility Test Suite और Vendor Test Suite टेस्ट चलाने के लिए किया जाता है.

वेंडर टेस्ट सुइट (वीटीएस)

Android टेस्टिंग के लिए कई सुविधाओं का सेट, टेस्ट-ड्रिवन डेवलपमेंट प्रोसेस को बढ़ावा देना, और हार्डवेयर एब्स्ट्रैक्शन लेयर (एचएएल) और ओएस कर्नेल टेस्टिंग को ऑटोमेट करना.

प्लैटफ़ॉर्म टेस्ट के टाइप

प्लैटफ़ॉर्म टेस्ट आम तौर पर, Android सिस्टम की एक या उससे ज़्यादा सेवाओं या एचएएल लेयर के साथ इंटरैक्ट करता है. साथ ही, टेस्ट किए जा रहे विषय की जांच करता है और जांच के नतीजों के सही होने की पुष्टि करता है. प्लैटफ़ॉर्म टेस्ट में ये काम किए जा सकते हैं:

  • (टाइप 1) Android फ़्रेमवर्क का इस्तेमाल करने वाले एक्सरसाइज़ फ़्रेमवर्क एपीआई. इस्तेमाल किए जा रहे खास एपीआई में ये शामिल हो सकते हैं:
    • तीसरे पक्ष के ऐप्लिकेशन के लिए बनाए गए सार्वजनिक एपीआई
    • छिपे हुए एपीआई, जो खास ऐप्लिकेशन के लिए हैं. जैसे, सिस्टम एपीआई या निजी एपीआई (@hide या protected, package private)
  • (टाइप 2) रॉ बाइंडर या आईपीसी प्रॉक्सी का इस्तेमाल करके, Android सिस्टम की सेवाओं को सीधे तौर पर शुरू करें.
  • (तीसरा टाइप) लो-लेवल एपीआई या आईपीसी इंटरफ़ेस का इस्तेमाल करके, सीधे एचएएल के साथ इंटरैक्ट करें.

टाइप 1 और 2 टेस्ट आम तौर पर इंस्ट्रूमेंटेशन टेस्ट होते हैं, जबकि टाइप 3 टेस्ट आम तौर पर GTests होते हैं.

आगे क्या करना है?

ज़्यादा जानकारी के लिए, यहां दिए गए दस्तावेज़ पढ़ें: