इस पेज पर, डेवलपर के बनाए गए सीटीएस (सीटीएस-डी) के इस्तेमाल से जुड़े दिशा-निर्देश दिए गए हैं.
टेस्ट कवरेज
सीटीएस और सीटीएस की पुष्टि करने वाले टूल की तरह, सीटीएस-डी सिर्फ़ इनके लिए लागू किया जा सकता है:
- किसी खास एपीआई लेवल के लिए, डेवलपर SDK (developer.android.com) में बताए गए सभी सार्वजनिक एपीआई.
- किसी खास एपीआई लेवल के लिए, Android कंपैटबिलिटी डेफ़िनिशन डॉक्यूमेंट (सीडीडी) में शामिल सभी ज़रूरी शर्तें.
ज़रूरी शर्तों के अलावा, ज़रूरी नहीं होने वाली शर्तें भी होती हैं. जैसे, ज़रूरी है, करना चाहिए, हो सकता है. इन शर्तों को पूरा करना ज़रूरी नहीं है और इनकी जांच, सीटीएस का इस्तेमाल करके नहीं की जा सकती.
सभी एपीआई और सीडीडी की ज़रूरी शर्तें, किसी खास एपीआई लेवल से जुड़ी होती हैं. इसलिए, सभी सीटीएस जांच (सीटीएस, सीटीएस-डी, और सीटीएस की पुष्टि करने वाला टूल), उसी एपीआई लेवल से जुड़ी होती हैं जिससे वे एपीआई या ज़रूरी शर्तें जुड़ी होती हैं. अगर किसी खास एपीआई को बंद कर दिया गया है या उसमें बदलाव किया गया है, तो उससे जुड़े टेस्ट को भी बंद कर दिया जाना चाहिए या अपडेट किया जाना चाहिए.
सीटीएस टेस्ट बनाने के नियम
- टेस्ट से एक ही नतीजा मिलना चाहिए.
- टेस्ट से यह तय करना चाहिए कि डिवाइस को मंज़ूरी मिली है या नहीं. इसके लिए, डिवाइस को बॉक्स से बाहर निकालकर एक बार टेस्ट करना ज़रूरी है.
- टेस्ट क्रिएटर्स को उन सभी संभावित फ़ैक्टर को हटाना होगा जिनसे टेस्ट के नतीजों पर असर पड़ सकता है.
- अगर किसी डिवाइस को किसी खास हार्डवेयर कंडीशन/एनवायरमेंट/सेटअप की ज़रूरत है, तो कमिट मैसेज में उस सेटअप के बारे में साफ़ तौर पर बताया जाना चाहिए. सेटअप करने के निर्देशों के उदाहरण के लिए, सीटीएस सेट अप करना देखें.
- टेस्ट एक बार में छह घंटे से ज़्यादा नहीं चलना चाहिए. अगर इसे ज़्यादा समय तक चलाना है, तो कृपया टेस्ट के प्रस्ताव में इसकी वजह शामिल करें, ताकि हम इसकी समीक्षा कर सकें.
ऐप्लिकेशन पर लगी पाबंदी की जांच करने के लिए, यहां जांच की शर्तों का एक उदाहरण दिया गया है:
- वाई-फ़ाई की स्पीड अच्छी हो (ऐसे टेस्ट के लिए जो वाई-फ़ाई पर निर्भर करता है).
- जांच के दौरान डिवाइस स्थिर रहता है (या नहीं, यह जांच पर निर्भर करता है).
- डिवाइस को किसी भी पावर सोर्स से अनप्लग किया गया हो और उसकी बैटरी में X प्रतिशत चार्ज हो.
- सीटीएस के अलावा, कोई भी ऐप्लिकेशन, फ़ोरग्राउंड सेवाएं या बैकग्राउंड सेवाएं नहीं चल रही हैं.
- सीटीएस चलाते समय स्क्रीन बंद हो.
- डिवाइस
isLowRamDevice
नहीं है. - बैटरी सेवर / ऐप्लिकेशन से जुड़ी पाबंदियों को “डिफ़ॉल्ट” सेटिंग से नहीं बदला गया है.
ज़रूरी शर्तें देखना
हम ऐसे नए टेस्ट स्वीकार करते हैं जो किसी ऐसे व्यवहार को लागू करते हैं जिसकी जांच, मौजूदा CTS, CTS की पुष्टि करने वाले टूल या CTS-D टेस्ट से नहीं की जाती. हमारे टेस्ट कवरेज के दायरे से बाहर के व्यवहार की जांच करने वाले किसी भी टेस्ट को अस्वीकार कर दिया जाएगा.
सीटीएस सबमिट करने की प्रोसेस
- टेस्ट का प्रस्ताव लिखना: ऐप्लिकेशन डेवलपर, Google समस्या ट्रैकर का इस्तेमाल करके, टेस्ट का प्रस्ताव सबमिट करता है. इसमें, वह समस्या के बारे में बताता है और उसे ठीक करने के लिए टेस्ट का प्रस्ताव देता है. प्रस्ताव में, सीडीडी की ज़रूरी शर्तों का आईडी शामिल होना चाहिए. Android टीम, प्रस्ताव की समीक्षा करती है.
- CTS टेस्ट बनाना: किसी प्रस्ताव को मंज़ूरी मिलने के बाद, उसे सबमिट करने वाला व्यक्ति मुख्य (AOSP/main) शाखा पर AOSP पर CTS टेस्ट बनाता है. Android टीम, कोड की समीक्षा करती है.
- टेस्ट पब्लिश करें:
AOSP/main
पर अपना सीएल सबमिट करें. इसके बाद, उसे सबसे नईandroidx-tests-dev
शाखा में चुनिंदा बदलावों के साथ पब्लिश करें. यह टेस्ट अब सार्वजनिक तौर पर उपलब्ध है.
CTS-D टेस्ट लिखने के दिशा-निर्देश
- Java कोड स्टाइल गाइड का पालन करें.
- CTS डेवलपमेंट में बताए गए सभी चरणों का पालन करें.
- अपने टेस्ट को सही टेस्ट प्लान में जोड़ें:
- CTS-D टेस्ट प्लान में अपने नए टेस्ट जोड़ने के लिए,
include-filters
का इस्तेमाल करें:platform/cts/tools/cts-tradefed/res/config/cts-developer.xml
. - अपने नए टेस्ट को मुख्य CTS टेस्ट प्लान से बाहर रखने के लिए,
exclude-filters
का इस्तेमाल करें:platform/cts/tools/cts-tradefed/res/config/cts-developer-exclude.xml
.
- CTS-D टेस्ट प्लान में अपने नए टेस्ट जोड़ने के लिए,
build_error.log
मेंerrorprone
की सभी चेतावनियां और सुझाव मैनेज करें.- अपने बदलावों को
head
पर फिर से बेस करें. इसमेंcts-developer.xml
औरcts-developer-exclude.xml
टेस्ट प्लान शामिल हैं. - Google की इंजीनियरिंग टीम से संपर्क करके पता करें कि आपके टेस्ट केस को किसी मौजूदा CTS मॉड्यूल में शामिल किया जा सकता है या नहीं. अगर ऐसा नहीं हो पाता है, तो वे आपको नया मॉड्यूल बनाने में मदद करेंगे.
- बनाए गए हर नए टेस्ट मॉड्यूल के लिए, नई टेस्ट मॉड्यूल डायरेक्ट्री में 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> दस्तावेज़ देखें.
- नए टेस्ट के तरीकों, क्लास या मॉड्यूल को चेक इन करते समय, उन्हें CTS-D के टेस्ट प्लान में जोड़ें. साथ ही, उन्हें नए टेस्ट की तरह ही मुख्य CTS टेस्ट प्लान से बाहर रखें.
CTS-D टेस्ट चलाना
run cts --plan cts-developer
का इस्तेमाल करके, कमांड लाइन से CTS-D टेस्ट प्लान चलाएं.
किसी खास टेस्ट केस को चलाने के लिए, run cts --include-filter "test_module_name test_name"
का इस्तेमाल करें.
सीटीएस की पूरी जांच करने के बारे में जानने के लिए, सीटीएस की जांच करना लेख पढ़ें.
स्वीकार करना और रिलीज़ करना
जांच का अनुरोध सबमिट करने के बाद, हमारी टीम इसकी समीक्षा करेगी. इससे यह पक्का किया जाएगा कि यह अनुरोध, सीडीडी की ज़रूरी शर्तों या एपीआई के व्यवहार से जुड़े दस्तावेज़ की जांच करता है या नहीं. अगर यह पता चलता है कि जांच में किसी मान्य ज़रूरत या व्यवहार की जांच की जा रही है, तो टीम इस टेस्ट केस को Google इंजीनियर को भेजेगी, ताकि वह इसकी आगे की समीक्षा कर सके. Google के इंजीनियर, आपसे संपर्क करके सुझाव देंगे कि टेस्ट को बेहतर कैसे बनाया जा सकता है. इसके बाद ही, उसे CTS में स्वीकार किया जाएगा.
सीटीएस के रिलीज़ शेड्यूल के बारे में जानकारी पाने के लिए, रिलीज़ शेड्यूल और शाखा की जानकारी देखें.