व्यापार महासंघ सिंहावलोकन

ट्रेड फेडरेशन (ट्रेडफेड या संक्षेप में टीएफ) एक सतत परीक्षण ढांचा है जिसे एंड्रॉइड डिवाइस पर परीक्षण चलाने के लिए डिज़ाइन किया गया है। उदाहरण के लिए, ट्रेडफेड का उपयोग संगतता परीक्षण सूट (सीटीएस) और विक्रेता परीक्षण सूट (वीटीएस) चलाने के लिए किया जाता है।

ट्रेड फ़ेडरेशन एक जावा एप्लिकेशन है जो एक होस्ट कंप्यूटर पर चलता है, और adb पर ddmlib (DDMS के पीछे की लाइब्रेरी) का उपयोग करके एक या एक से अधिक Android उपकरणों से संचार करता है।

हमने नीचे TF की कुछ मुख्य विशेषताओं को कुछ नमूना उपयोग मामलों के साथ सूचीबद्ध किया है। उस ने कहा, यदि आप सीधे कूदना चाहते हैं और आरंभ करना चाहते हैं, तो आप सीधे यहां प्रारंभ करें पृष्ठ पर जा सकते हैं।

विशेषताएँ

  • मॉड्यूलर, लचीला, स्केलेबल डिजाइन
  • कई अलग-अलग प्रकार के Android परीक्षण चलाने के लिए समर्थन में बनाया गया है: इंस्ट्रूमेंटेशन , uiautomator , देशी/gtest, होस्ट-आधारित JUnit, आदि
  • adb . के शीर्ष पर विश्वसनीयता और पुनर्प्राप्ति तंत्र प्रदान करता है
  • समानांतर में कई उपकरणों पर शेड्यूलिंग और रनिंग टेस्ट का समर्थन करता है

अपने मौजूदा परीक्षणों को चलाने के तरीके के बारे में नवीनतम जानकारी के लिए TF के माध्यम से परीक्षण देखें, जैसे इंस्ट्रुमेंटेशन

बक्सों का इस्तेमाल करें

ट्रेड फेडरेशन की मॉड्युलैरिटी मौजूदा बिल्ड, टेस्ट और रिपोर्टिंग इन्फ्रास्ट्रक्चर के साथ वातावरण में स्लॉट करना आसान बनाती है। हम कुछ प्रदर्शनकारी उपयोग के मामलों को नीचे सूचीबद्ध करते हैं जहां ट्रेडफेड कुशल, स्केलेबल परीक्षण प्रथाओं को सक्षम कर सकता है।

सबसे पहले, इस प्रश्न के संदर्भ में संभावित उपयोग के मामलों के परिदृश्य पर विचार करना उपयोगी है "कौन से हिस्से परिवर्तनीय हैं, और कौन से हिस्से स्थिर हैं?" उदाहरण के लिए, एक डिवाइस ओईएम फ्रेमवर्क, सिस्टम और हार्डवेयर को संशोधित कर सकता है, लेकिन मौजूदा अनुप्रयोगों पर इसका बहुत कम या कोई प्रभाव नहीं पड़ता है। दूसरी ओर, एक एप्लिकेशन डेवलपर ऐप को संशोधित कर सकता है, लेकिन सिस्टम या ढांचे के अधिकांश पहलुओं पर उसका बहुत कम नियंत्रण होता है।

परिणामस्वरूप, प्रत्येक उपयोग के मामले में एक इकाई के पास अलग-अलग परीक्षण लक्ष्य होंगे, और परीक्षण विफलताओं के एक सेट के मामले में अलग-अलग विकल्प होंगे। इन मतभेदों के बावजूद, ट्रेड फेडरेशन अपनी प्रत्येक परीक्षण प्रक्रिया को कुशल, लचीला और स्केलेबल बनाने में मदद कर सकता है।

डिवाइस ओईएम

एक डिवाइस ओईएम हार्डवेयर बनाता है, और उस हार्डवेयर पर अच्छी तरह से चलने के लिए अक्सर एंड्रॉइड सिस्टम और फ्रेमवर्क को ट्वीक करेगा। OEM हार्डवेयर और सिस्टम स्तरों पर स्थिरता और प्रदर्शन को बनाए रखते हुए उन लक्ष्यों को पूरा करने का प्रयास कर सकता है, और यह सुनिश्चित कर सकता है कि फ्रेमवर्क परिवर्तन मौजूदा अनुप्रयोगों के साथ संगतता को न तोड़ें।

OEM एक डिवाइस फ्लैशिंग मॉड्यूल लागू कर सकता है जो जीवनचक्र के लक्ष्य सेटअप चरण के दौरान निष्पादित होगा। उस मॉड्यूल के पास इसकी निष्पादन अवधि के दौरान डिवाइस पर पूर्ण नियंत्रण होगा, जो इसे डिवाइस को बूटलोडर, फ्लैश में संभावित रूप से मजबूर करने की अनुमति देगा, और फिर डिवाइस को उपयोगकर्ता स्पेस मोड में रीबूट करने के लिए मजबूर करेगा। एक मॉड्यूल के साथ एक सतत निर्माण प्रणाली में जुड़ने के लिए, यह ओईएम को अपने डिवाइस पर परीक्षण चलाने की अनुमति देगा क्योंकि वे सिस्टम-स्तरीय फर्मवेयर और जावा-स्तरीय ढांचे में परिवर्तन करते हैं।

एक बार डिवाइस पूरी तरह से बूट हो जाने के बाद, ओईएम मौजूदा जुनीट-आधारित परीक्षणों का लाभ उठाने में सक्षम होगा, या रुचि की कार्यक्षमता को सत्यापित करने के लिए नए लिखेंगे। अंत में, वे मौजूदा परीक्षण-परिणाम रिपॉजिटरी से जुड़ने के लिए या सीधे परिणामों की रिपोर्ट करने के लिए एक या अधिक परिणाम रिपोर्टिंग मॉड्यूल लिख सकते हैं (उदाहरण के लिए, ईमेल द्वारा )।

ऐप डेवलपर

एक एप्लिकेशन डेवलपर एक ऐप बनाता है जिसे विभिन्न प्लेटफ़ॉर्म संस्करणों और विभिन्न उपकरणों में अच्छी तरह से चलाने की आवश्यकता होती है। यदि किसी विशेष प्लेटफ़ॉर्म संस्करण और/या डिवाइस पर कोई समस्या आती है, तो समाधान जोड़ने और आगे बढ़ने का एकमात्र उपाय है। बड़े डेवलपर्स के लिए, परीक्षण प्रक्रिया को निरंतर निर्माण अनुक्रम में शामिल किया जा सकता है। छोटे डेवलपर्स के लिए, इसे समय-समय पर या हाथ से शुरू किया जा सकता है।

अधिकांश ऐप डेवलपर एपीके टेस्ट इंस्टॉलेशन मॉड्यूल का उपयोग करेंगे जो पहले से ही टीएफ में मौजूद हैं। एक संस्करण है जो स्थानीय फाइल सिस्टम से स्थापित होता है , साथ ही एक ऐसा संस्करण भी है जो एक बिल्ड सेवा से डाउनलोड किए गए एपीके स्थापित कर सकता है। यह ध्यान रखना महत्वपूर्ण है कि बाद वाला संस्करण एक ही मेजबान मशीन पर चल रहे मनमाने ढंग से कई टीएफ इंस्टेंस के साथ ठीक से काम करना जारी रखेगा।

कई उपकरणों से निपटने में TF की दक्षता के कारण, प्रत्येक परीक्षा परिणाम को उस परीक्षण के लिए उपयोग किए जाने वाले उपकरण के प्रकार के आधार पर वर्गीकृत करना आसान होगा। इस प्रकार, TF संभावित रूप से एप्लिकेशन के प्रत्येक निर्माण के लिए 2-आयामी (या बहु-आयामी) संगतता मैट्रिक्स उत्पन्न कर सकता है।

परीक्षण सेवा

उदाहरण के लिए, एक परीक्षण सेवा ऐप डेवलपर्स को ऐप सबमिट करने और ऐप के लिए पावर उपयोग निर्धारित करने के लिए पावर-माप टूल वाले उपकरणों पर परीक्षण चलाने की अनुमति दे सकती है। यह पिछले दो उपयोग मामलों से अलग है जिसमें सेवा निर्माता उन उपकरणों या अनुप्रयोगों को नियंत्रित नहीं करता है जो चल रहे हैं।

क्योंकि ट्रेड फ़ेडरेशन कोई भी जावा क्लास चला सकता है जो सरल IRemoteTest इंटरफ़ेस को लागू करता है, ऐसे ड्राइवरों को लिखना तुच्छ है जो डिवाइस पर चल रहे टेस्ट केस के साथ हार्डवेयर के कुछ बाहरी टुकड़े को समन्वयित कर सकते हैं। ड्राइवर स्वयं थ्रेड्स को स्पॉन कर सकता है, अन्य सर्वरों को अनुरोध भेज सकता है, या कुछ और कर सकता है जिसकी उसे आवश्यकता हो। इसके अलावा, परिणाम रिपोर्टिंग इंटरफ़ेस की सादगी और बहुमुखी प्रतिभा, ITestInvocationListener का अर्थ है कि मानक परिणाम रिपोर्टिंग पाइपलाइन में मनमाने ढंग से परीक्षण परिणामों (उदाहरण के लिए, संख्यात्मक पावर मेट्रिक्स सहित) का प्रतिनिधित्व करना भी सीधा है।