ट्रेड फेडरेशन (ट्रेडफेड या संक्षेप में टीएफ) एक सतत परीक्षण ढांचा है जिसे एंड्रॉइड उपकरणों पर परीक्षण चलाने के लिए डिज़ाइन किया गया है। उदाहरण के लिए, ट्रेडफेड का उपयोग संगतता परीक्षण सूट (सीटीएस) और विक्रेता परीक्षण सूट (वीटीएस) चलाने के लिए किया जाता है।
ट्रेड फेडरेशन एक जावा एप्लिकेशन है जो एक होस्ट कंप्यूटर पर चलता है, और एडीबी पर डीडीएमएलआईबी (डीडीएमएस के पीछे की लाइब्रेरी) का उपयोग करके एक या अधिक एंड्रॉइड डिवाइसों से संचार करता है।
हमने TF की कुछ मुख्य विशेषताओं को कुछ नमूना उपयोग मामलों के साथ नीचे सूचीबद्ध किया है। जैसा कि कहा गया है, यदि आप तुरंत इसमें शामिल होना चाहते हैं और शुरुआत करना चाहते हैं, तो आप सीधे यहां प्रारंभ करें पृष्ठ पर जा सकते हैं।
विशेषताएँ
- मॉड्यूलर, लचीला, स्केलेबल डिज़ाइन
- कई अलग-अलग प्रकार के एंड्रॉइड परीक्षण चलाने के लिए समर्थन बनाया गया है: इंस्ट्रूमेंटेशन , यूआईऑटोमेटर , नेटिव/जीटेस्ट, होस्ट-आधारित जुनीट, आदि।
- एडीबी के शीर्ष पर विश्वसनीयता और पुनर्प्राप्ति तंत्र प्रदान करता है
- समानांतर में कई उपकरणों पर शेड्यूलिंग और परीक्षण चलाने का समर्थन करता है
अपने मौजूदा परीक्षण, जैसे इंस्ट्रुमेंटेशन , को चलाने के तरीके के बारे में नवीनतम जानकारी के लिए टीएफ के माध्यम से परीक्षण देखें।
बक्सों का इस्तेमाल करें
ट्रेड फेडरेशन की मॉड्यूलरिटी मौजूदा निर्माण, परीक्षण और रिपोर्टिंग बुनियादी ढांचे के साथ वातावरण में फिट होना आसान बनाती है। हम नीचे कुछ प्रदर्शनात्मक उपयोग के मामले सूचीबद्ध करते हैं जहां ट्रेडफेड कुशल, स्केलेबल परीक्षण प्रथाओं को सक्षम कर सकता है।
सबसे पहले, "कौन से हिस्से परिवर्तनीय हैं, और कौन से हिस्से स्थिर हैं?" प्रश्न के संदर्भ में संभावित उपयोग के परिदृश्य पर विचार करना उपयोगी है। उदाहरण के लिए, एक डिवाइस ओईएम फ्रेमवर्क, सिस्टम और हार्डवेयर को संशोधित कर सकता है, लेकिन मौजूदा अनुप्रयोगों पर इसका बहुत कम या कोई प्रभाव नहीं पड़ता है। दूसरी ओर, एक एप्लिकेशन डेवलपर ऐप को संशोधित कर सकता है, लेकिन सिस्टम या फ्रेमवर्क के अधिकांश पहलुओं पर उसका बहुत कम नियंत्रण होता है।
परिणामस्वरूप, प्रत्येक उपयोग के मामले में एक इकाई के पास अलग-अलग परीक्षण लक्ष्य होंगे, और परीक्षण विफलताओं के एक सेट के मामले में उसके पास अलग-अलग विकल्प होंगे। इन मतभेदों के बावजूद, ट्रेड फेडरेशन अपनी प्रत्येक परीक्षण प्रक्रिया को कुशल, लचीला और स्केलेबल बनाने में मदद कर सकता है।
डिवाइस OEM
एक डिवाइस ओईएम हार्डवेयर बनाता है, और उस हार्डवेयर पर अच्छी तरह से चलने के लिए अक्सर एंड्रॉइड सिस्टम और फ्रेमवर्क में बदलाव करेगा। ओईएम हार्डवेयर और सिस्टम स्तरों पर स्थिरता और प्रदर्शन बनाए रखते हुए उन लक्ष्यों को पूरा करने का प्रयास कर सकता है, और यह सुनिश्चित कर सकता है कि ढांचे में बदलाव मौजूदा अनुप्रयोगों के साथ संगतता को न तोड़ें।
ओईएम एक डिवाइस फ्लैशिंग मॉड्यूल लागू कर सकता है जो जीवनचक्र के लक्ष्य सेटअप चरण के दौरान निष्पादित होगा। निष्पादन अवधि के दौरान उस मॉड्यूल का डिवाइस पर पूर्ण नियंत्रण होगा, जो संभावित रूप से डिवाइस को बूटलोडर में मजबूर करने, फ्लैश करने और फिर डिवाइस को यूजरस्पेस मोड में वापस रीबूट करने के लिए मजबूर करने की अनुमति देगा। एक सतत निर्माण प्रणाली से जुड़ने के लिए एक मॉड्यूल के साथ संयुक्त, यह OEM को अपने डिवाइस पर परीक्षण चलाने की अनुमति देगा क्योंकि वे सिस्टम-स्तरीय फ़र्मवेयर और जावा-स्तरीय फ़्रेमवर्क में परिवर्तन करते हैं।
एक बार जब डिवाइस पूरी तरह से बूट हो जाता है, तो OEM रुचि की कार्यक्षमता को सत्यापित करने के लिए मौजूदा JUnit-आधारित परीक्षणों का लाभ उठाने या नए लिखने में सक्षम होगा। अंत में, वे मौजूदा परीक्षण-परिणाम रिपॉजिटरी से जुड़ने के लिए, या सीधे परिणामों की रिपोर्ट करने के लिए एक या अधिक परिणाम रिपोर्टिंग मॉड्यूल लिख सकते हैं (उदाहरण के लिए, ईमेल द्वारा )।
ऐप डेवलपर
एक एप्लिकेशन डेवलपर एक ऐप बनाता है जिसे विभिन्न प्लेटफ़ॉर्म संस्करणों और विभिन्न उपकरणों पर अच्छी तरह से चलाने की आवश्यकता होती है। यदि किसी विशेष प्लेटफ़ॉर्म संस्करण और/या डिवाइस पर कोई समस्या आती है, तो एकमात्र उपाय समाधान जोड़ना और आगे बढ़ना है। बड़े डेवलपर्स के लिए, परीक्षण प्रक्रिया को निरंतर निर्माण अनुक्रम में शामिल किया जा सकता है। छोटे डेवलपर्स के लिए, इसे समय-समय पर या हाथ से शुरू किया जा सकता है।
अधिकांश ऐप डेवलपर एपीके टेस्ट इंस्टॉलेशन मॉड्यूल का उपयोग करेंगे जो पहले से ही टीएफ में मौजूद हैं। एक संस्करण है जो स्थानीय फ़ाइल सिस्टम से इंस्टॉल होता है , साथ ही एक ऐसा संस्करण भी है जो बिल्ड सेवा से डाउनलोड किए गए एपीके इंस्टॉल कर सकता है। यह ध्यान रखना महत्वपूर्ण है कि बाद वाला संस्करण एक ही होस्ट मशीन पर मनमाने ढंग से चलने वाले कई टीएफ इंस्टेंसेस के साथ ठीक से काम करना जारी रखेगा।
कई उपकरणों से निपटने में टीएफ की दक्षता के कारण, प्रत्येक परीक्षा परिणाम को उस परीक्षण के लिए उपयोग किए गए उपकरण के प्रकार के आधार पर वर्गीकृत करना आसान होगा। इस प्रकार, टीएफ संभावित रूप से एप्लिकेशन के प्रत्येक निर्माण के लिए 2-आयामी (या बहु-आयामी) संगतता मैट्रिक्स उत्पन्न कर सकता है।
परीक्षण सेवा
उदाहरण के लिए, एक परीक्षण सेवा ऐप डेवलपर्स को ऐप सबमिट करने और ऐप के लिए पावर उपयोग निर्धारित करने के लिए पावर-माप उपकरण वाले उपकरणों पर परीक्षण चलाने की अनुमति दे सकती है। यह पिछले दो उपयोग-मामलों से इस मायने में भिन्न है कि सेवा निर्माता चलाए जा रहे उपकरणों या अनुप्रयोगों को नियंत्रित नहीं करता है।
क्योंकि ट्रेड फेडरेशन किसी भी जावा क्लास को चला सकता है जो सरल IRemoteTest
इंटरफ़ेस को लागू करता है, ऐसे ड्राइवरों को लिखना मामूली है जो डिवाइस पर चलाए जा रहे टेस्ट केस के साथ हार्डवेयर के कुछ बाहरी टुकड़े को समन्वयित कर सकते हैं। ड्राइवर स्वयं थ्रेड्स उत्पन्न कर सकता है, अन्य सर्वरों को अनुरोध भेज सकता है, या कुछ और कर सकता है जिसकी उसे आवश्यकता हो सकती है। इसके अलावा, परिणाम रिपोर्टिंग इंटरफ़ेस, ITestInvocationListener
की सादगी और बहुमुखी प्रतिभा का मतलब है कि मानक परिणाम रिपोर्टिंग पाइपलाइन में मनमाने परीक्षण परिणामों (उदाहरण के लिए, संख्यात्मक पावर मेट्रिक्स सहित) का प्रतिनिधित्व करना भी इसी तरह सरल है।