डेवलपर के लिए उपलब्ध सीटीएस

इस पेज पर, डेवलपर-पावर्ड सीटीएस (सीटीएस-डी) के इस्तेमाल के लिए दिशा-निर्देश दिए गए हैं.

जांच की कवरेज

सीटीएस-डी, सीटीएस और सीटीएस वेरिफ़ायर की तरह, सिर्फ़ इन चीज़ों को लागू कर सकता है:

  • किसी खास एपीआई लेवल के लिए, डेवलपर एसडीके (developer.android.com) में बताए गए सभी सार्वजनिक एपीआई.
  • किसी खास एपीआई लेवल के लिए, Android Compatibility Definition Document (सीडीडी) में शामिल सभी ज़रूरी शर्तें.

ज़रूरी नहीं मानी जाने वाली शर्तें, जैसे कि STRONGLY RECOMMENDED, SHOULD, MAY, वैकल्पिक होती हैं. इनकी जांच सीटीएस का इस्तेमाल करके नहीं की जा सकती.

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

सीटीएस टेस्ट बनाने के नियम

  • किसी टेस्ट से, एक ही मकसद का नतीजा लगातार मिलना चाहिए.
  • किसी डिवाइस की जांच करने के लिए, उसे बॉक्स से निकालकर एक बार टेस्ट करना ज़रूरी है. इससे यह पता चलता है कि डिवाइस टेस्ट में पास हुआ है या फ़ेल.
  • टेस्ट बनाने वाले लोगों को, उन सभी संभावित वजहों को हटाना होगा जिनसे टेस्ट के नतीजों पर असर पड़ सकता है.
  • अगर किसी डिवाइस को किसी खास हार्डवेयर की स्थिति/एनवायरमेंट/सेटअप की ज़रूरत है, तो कमिट मैसेज में उस सेटअप के बारे में साफ़ तौर पर बताया जाना चाहिए. सेटअप के निर्देशों के उदाहरण के लिए, सीटीएस सेट अप करना लेख पढ़ें.
  • टेस्ट एक बार में छह घंटे से ज़्यादा नहीं चलना चाहिए. अगर इसे ज़्यादा समय तक चलाने की ज़रूरत है, तो कृपया अपने टेस्ट के प्रपोज़ल में इसकी वजह बताएं, ताकि हम इसकी समीक्षा कर सकें.

यहां, किसी ऐप्लिकेशन पर लगी पाबंदी की जांच करने के लिए, टेस्ट की शर्तों का एक उदाहरण दिया गया है:

  • वाई-फ़ाई कनेक्शन स्थिर है (ऐसे टेस्ट के लिए जो वाई-फ़ाई पर निर्भर करता है).
  • टेस्ट के दौरान डिवाइस स्थिर रहता है (या नहीं, यह टेस्ट पर निर्भर करता है).
  • डिवाइस को किसी भी पावर सोर्स से अनप्लग किया गया है और उसकी बैटरी का लेवल X प्रतिशत है.
  • सीटीएस के अलावा, कोई भी ऐप्लिकेशन, फ़ोरग्राउंड सेवा या बैकग्राउंड सेवा नहीं चल रही है.
  • सीटीएस के चलने के दौरान, स्क्रीन बंद है.
  • डिवाइस isLowRamDevice नहीं है.
  • बैटरी सेवर / ऐप्लिकेशन पर लगी पाबंदियों को “आउट-ऑफ़-द-बॉक्स” स्थिति से नहीं बदला गया है.

टेस्ट के लिए ज़रूरी शर्तें

हम ऐसे नए टेस्ट स्वीकार करते हैं जो किसी ऐसे व्यवहार को लागू करते हैं जिसकी जांच, मौजूदा सीटीएस, सीटीएस वेरिफ़ायर या सीटीएस-डी टेस्ट से नहीं की जाती. अगर कोई टेस्ट, हमारे टेस्ट कवरेज से बाहर के किसी व्यवहार की जांच करता है, तो उसे अस्वीकार कर दिया जाएगा.

सीटीएस सबमिट करने की प्रोसेस

  1. टेस्ट का प्रपोज़ल लिखना: कोई ऐप्लिकेशन डेवलपर, Google Issue Tracker का इस्तेमाल करके टेस्ट का प्रपोज़ल सबमिट करता है. इसमें, पहचानी गई समस्या के बारे में बताया जाता है और उसकी जांच करने के लिए टेस्ट का सुझाव दिया जाता है. प्रपोज़ल में, संबंधित सीडीडी की ज़रूरी शर्त का आईडी शामिल होना चाहिए. Android टीम, प्रपोज़ल की समीक्षा करती है.
  2. सीटीएस टेस्ट डेवलप करना: प्रपोज़ल को मंज़ूरी मिलने के बाद, उसे सबमिट करने वाला व्यक्ति, Android के सबसे नए रिलीज़ ब्रांच (android17-release) पर, एओएसपी पर सीटीएस टेस्ट बनाता है. Android टीम, कोड की समीक्षा करती है. अगर कोड स्वीकार कर लिया जाता है, तो टीम उसमें किए गए बदलाव को चेरीपिक करती है और उसे इंटरनल डेवलपमेंट ब्रांच में मर्ज कर देती है. ज़्यादा जानकारी के लिए, मुझे एओएसपी में बदलावों का सुझाव कहां देना चाहिए? लेख पढ़ें.

सीटीएस-डी टेस्ट लिखने के दिशा-निर्देश

  • Java Code Style Guide का पालन करें.
  • सीटीएस डेवलपमेंट में बताए गए सभी चरणों का पालन करें.
  • अपने टेस्ट को सही टेस्ट प्लान में जोड़ें:
    • अपने नए टेस्ट को सीटीएस-डी टेस्ट प्लान में जोड़ने के लिए, include-filters का इस्तेमाल करें: platform/cts/tools/cts-tradefed/res/config/cts-developer.xml.
    • अपने नए टेस्ट को मुख्य सीटीएस टेस्ट प्लान से बाहर रखने के लिए, exclude-filters का इस्तेमाल करें: platform/cts/tools/cts-tradefed/res/config/cts-developer-exclude.xml.
  • build_error.log में, errorprone की सभी चेतावनियों और सुझावों को मैनेज करें.
  • head में अपने बदलावों को रीबेस करें. इसमें cts-developer.xml और cts-developer-exclude.xml टेस्ट प्लान शामिल हैं.
  • यह तय करने के लिए कि आपका टेस्ट केस, मौजूदा सीटीएस मॉड्यूल में शामिल किया जा सकता है या नहीं, Google के इंजीनियरिंग संपर्क से बात करें. अगर ऐसा नहीं किया जा सकता, तो वे नया मॉड्यूल बनाने में आपकी मदद करेंगे.
  • बनाए गए हर नए टेस्ट मॉड्यूल के लिए, नए टेस्ट मॉड्यूल डायरेक्ट्री में OWNERS फ़ाइल बनाएं.
    • आपकी OWNERS फ़ाइल में, Google के उस टेस्ट के मालिक से मिली यह जानकारी होनी चाहिए जिसके साथ मिलकर आप काम कर रहे हैं:
    • # Bug component: xxx
    • Google के टेस्ट के मालिक का एलडीएपी आईडी
  • AndroidTest.xml में, ये पैरामीटर तय करें.
      उदाहरण के लिए, सैंपल फ़ाइलें (1,2) देखें:
    • Instant_app या not_instant_app
    • secondary_user या not_secondary_user
    • all_foldable_states या no_foldable_states
  • सही minSDK तय करने के लिए, <uses-sdk> से जुड़ा दस्तावेज़ देखें.
  • नए टेस्ट के तरीकों, क्लास या मॉड्यूल की जांच करते समय, उन्हें सीटीएस-डी टेस्ट प्लान में जोड़ें और मुख्य सीटीएस टेस्ट प्लान से बाहर रखें. यह तरीका, नए टेस्ट के लिए भी अपनाया जाता है.

अपना सीटीएस-डी टेस्ट चलाना

`run cts --plan cts-developer` का इस्तेमाल करके, कमांड लाइन से सीटीएस-डी टेस्ट प्लान चलाएं.

किसी खास टेस्ट केस को चलाने के लिए, run cts --include-filter "test_module_name test_name" का इस्तेमाल करें.

पूरा सीटीएस चलाने के बारे में जानकारी के लिए, सीटीएस टेस्ट चलाना लेख पढ़ें.

स्वीकार करना और रिलीज़ करना

टेस्ट का अनुरोध सबमिट करने के बाद, एक इंटरनल टीम उसकी समीक्षा करेगी. इससे यह पक्का किया जाएगा कि टेस्ट, सीडीडी की किसी ज़रूरी शर्त या दस्तावेज़ में बताए गए एपीआई के किसी व्यवहार की जांच करता हो. अगर यह पता चलता है कि टेस्ट, किसी मान्य ज़रूरी शर्त या व्यवहार की जांच कर रहा है, तो टीम इस टेस्ट केस को Google के इंजीनियर को आगे की समीक्षा के लिए फ़ॉरवर्ड करेगी. सीटीएस में स्वीकार किए जाने से पहले, Google का इंजीनियर आपसे संपर्क करके, टेस्ट को बेहतर बनाने के बारे में सुझाव देगा.

सीटीएस के रिलीज़ शेड्यूल के बारे में ज़्यादा जानकारी के लिए, रिलीज़ शेड्यूल और ब्रांच की जानकारी देखें.