इस पेज पर, डेवलपर के बनाए गए सीटीएस (सीटीएस-डी) के इस्तेमाल से जुड़े दिशा-निर्देश दिए गए हैं.
टेस्ट कवरेज
CTS-D, CTS और CTS Verifier की तरह ही सिर्फ़ इन चीज़ों को लागू कर सकता है:
- वे सभी सार्वजनिक एपीआई जिनके बारे में किसी खास एपीआई लेवल के लिए डेवलपर SDK (developer.android.com) में बताया गया है.
- किसी खास एपीआई लेवल के लिए, Android के साथ काम करने की शर्तों के बारे में बताने वाले दस्तावेज़ (सीडीडी) में शामिल सभी ज़रूरी शर्तें.
ज़रूरी शर्तों के अलावा, ज़रूरी नहीं होने वाली शर्तें भी होती हैं. जैसे, ज़रूरी है, करना चाहिए, हो सकता है. इन शर्तों को पूरा करना ज़रूरी नहीं है और इनकी जांच, सीटीएस का इस्तेमाल करके नहीं की जा सकती.
सभी एपीआई और सीडीडी की ज़रूरी शर्तें, किसी खास एपीआई लेवल से जुड़ी होती हैं. इसलिए, सभी सीटीएस जांच (सीटीएस, सीटीएस-डी, और सीटीएस की पुष्टि करने वाला टूल), उसी एपीआई लेवल से जुड़ी होती हैं जिससे जुड़े एपीआई या ज़रूरी शर्तें हैं. अगर किसी खास एपीआई को बंद कर दिया गया है या उसमें बदलाव किया गया है, तो उससे जुड़े टेस्ट को भी बंद कर दिया जाना चाहिए या अपडेट किया जाना चाहिए.
सीटीएस टेस्ट बनाने के नियम
- टेस्ट से एक ही नतीजा बार-बार मिलना चाहिए.
- टेस्ट से यह तय होना चाहिए कि डिवाइस को मंज़ूरी मिली है या नहीं. इसके लिए, डिवाइस को बॉक्स से बाहर निकालकर एक बार टेस्ट करना ज़रूरी है.
- टेस्ट क्रिएटर्स को उन सभी संभावित फ़ैक्टर को हटाना होगा जिनसे टेस्ट के नतीजों पर असर पड़ सकता है.
- अगर किसी डिवाइस को किसी खास हार्डवेयर कंडीशन/एनवायरमेंट/सेटअप की ज़रूरत है, तो कमिट मैसेज में उस सेटअप के बारे में साफ़ तौर पर बताया जाना चाहिए. सेटअप करने के निर्देशों के उदाहरण के लिए, सीटीएस सेट अप करना लेख देखें.
- टेस्ट एक बार में छह घंटे से ज़्यादा नहीं चलना चाहिए. अगर इसे ज़्यादा समय तक चलाना है, तो कृपया टेस्ट के प्रस्ताव में इसकी वजह शामिल करें, ताकि हम इसकी समीक्षा कर सकें.
ऐप्लिकेशन पर लगी पाबंदी की जांच करने के लिए, जांच की शर्तों का एक उदाहरण यहां दिया गया है:
- वाई-फ़ाई की स्पीड स्थिर हो (वाई-फ़ाई पर निर्भर टेस्ट के लिए).
- जांच के दौरान डिवाइस स्थिर रहता है (या नहीं, यह जांच पर निर्भर करता है).
- डिवाइस को पावर सोर्स से अनप्लग किया गया है और उसकी बैटरी में X प्रतिशत चार्ज है.
- सीटीएस के अलावा, कोई ऐप्लिकेशन, फ़ोरग्राउंड सेवा या बैकग्राउंड सेवाएं नहीं चल रही हैं.
- सीटीएस चलाने के दौरान स्क्रीन बंद हो.
- डिवाइस
isLowRamDevice
नहीं है. - बैटरी सेवर / ऐप्लिकेशन पर लगी पाबंदियों को “डिफ़ॉल्ट” सेटिंग से नहीं बदला गया है.
ज़रूरी शर्तें देखें
हम ऐसे नए टेस्ट स्वीकार करते हैं जो किसी ऐसे व्यवहार को लागू करते हैं जिसकी जांच, मौजूदा सीटीएस, सीटीएस की पुष्टि करने वाले टूल या सीटीएस-डी टेस्ट से नहीं की जाती. हमारे टेस्ट कवरेज के दायरे से बाहर के व्यवहार की जांच करने वाले किसी भी टेस्ट को अस्वीकार कर दिया जाएगा.
सीटीएस सबमिट करने की प्रोसेस
- टेस्ट का प्रस्ताव लिखना: ऐप्लिकेशन डेवलपर, Google समस्या ट्रैकर का इस्तेमाल करके, टेस्ट का प्रस्ताव सबमिट करता है. इसमें, वह समस्या के बारे में बताता है और उसे ठीक करने के लिए टेस्ट का प्रस्ताव देता है. प्रस्ताव में, सीडीडी की ज़रूरी शर्तों का आईडी शामिल होना चाहिए. Android टीम, इस प्रस्ताव की समीक्षा करती है.
- CTS टेस्ट बनाना: किसी प्रस्ताव को मंज़ूरी मिलने के बाद, उसे सबमिट करने वाला व्यक्ति मुख्य (AOSP/main) शाखा पर AOSP पर CTS टेस्ट बनाता है. Android टीम, कोड की समीक्षा करती है.
- टेस्ट पब्लिश करें: अपने CL को
AOSP/main
पर सबमिट करें. इसके बाद, उसेandroidx-tests-dev
की नई ब्रांच में चुनें. यह टेस्ट अब सार्वजनिक तौर पर उपलब्ध है.
CTS-D टेस्ट लिखने के दिशा-निर्देश
- Java कोड स्टाइल गाइड का पालन करें.
- CTS डेवलपमेंट में बताए गए सभी चरणों का पालन करें.
- अपने टेस्ट को सही टेस्ट प्लान में जोड़ें:
- CTS-D टेस्ट प्लान में नए टेस्ट जोड़ने के लिए,
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
.
- 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 में शामिल किया जाएगा.
सीटीएस के रिलीज़ शेड्यूल के बारे में जानकारी पाने के लिए, रिलीज़ शेड्यूल और शाखा की जानकारी देखें.