टीएफ टेस्ट जीवनचक्र

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

परिभाषित इंटरफेस

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

TF में मौलिक परीक्षण इकाई एक कॉन्फ़िगरेशन (कॉन्फ़िगरेशन) है। कॉन्फ़िगरेशन एक XML फ़ाइल है जो एक परीक्षण के जीवनचक्र घटकों की घोषणा करती है।

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

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

अतिरिक्त कॉन्फ़िगरेशन घटक

  • डिवाइस रिकवरी : खो जाने पर डिवाइस संचार को पुनर्प्राप्त करने के लिए तंत्र।
  • लकड़हारा : ट्रेडफेड लॉगिंग डेटा एकत्र करता है।

स्टेज आउटपुट और त्रुटियां

आह्वान का प्रत्येक चरण क्रमिक रूप से निष्पादित होता है और इसका एक विशिष्ट लक्ष्य होता है। यह खंड प्रत्येक चरण के सामान्य आउटपुट और त्रुटियों का वर्णन करता है।

प्रदाता बनाएँ

यह चरण एक IBuildInfo ऑब्जेक्ट बनाता है और आउटपुट करता है जिसमें परीक्षण सेट करने और चलाने के लिए सभी आवश्यक फ़ाइलें संदर्भ शामिल हैं।

इस स्तर पर सबसे आम त्रुटि अनुरोधित फ़ाइलों को डाउनलोड करने या खोजने में विफलता है।

इस स्तर पर एक त्रुटि का परिणाम सीधे त्रुटि की रिपोर्ट करना है, और कोई परीक्षण नहीं चलाया जा रहा है।

लक्ष्य तैयारी

यह चरण परीक्षण के तहत लक्ष्य के लिए आवश्यक राज्यों को स्थापित करता है। यह चरण दिए गए परीक्षण आमंत्रण के लिए आवश्यकतानुसार डिवाइस या होस्ट सेटअप को बदल सकता है।

इस स्तर पर सामान्य त्रुटियों में आमतौर पर डिवाइस को किसी दिए गए राज्य में सेटअप करने में विफलता (उदाहरण के लिए, विफल फ्लैशिंग) और सेटअप के लिए आवश्यक फाइलों को खोजने में विफलता शामिल होती है।

इस स्तर पर एक त्रुटि के परिणामस्वरूप लक्ष्य क्लीन अप चल रहा है, त्रुटि की रिपोर्टिंग, और कोई परीक्षण नहीं चल रहा है।

परीक्षण

यह चरण पहले से तैयार लक्ष्य पर अनुरोधित परीक्षण चलाता है, और सभी परीक्षण निष्पादन परिणामों की रिपोर्ट करता है।

इस स्तर पर सामान्य त्रुटियों में आमतौर पर परीक्षण के तहत लक्ष्य अनुपलब्ध होता है या कुछ त्रुटि परीक्षणों के आंशिक निष्पादन के कारण होती है। ये त्रुटियां बुनियादी ढांचे के मुद्दे हैं जो एक परीक्षण मामले की विफलता के विपरीत परीक्षण निष्पादन को प्रभावित करते हैं।

इस स्तर पर एक त्रुटि के परिणामस्वरूप परीक्षण निष्पादन रुक जाता है, लक्ष्य साफ हो जाता है, त्रुटि की रिपोर्ट करना और आंशिक परिणाम प्राप्त करना होता है।

परिणाम रिपोर्टिंग

यह चरण कॉन्फ़िगर की गई सेवाओं (उदाहरण के लिए, सर्वर और स्थानीय फ़ाइलें) को परिणामों और त्रुटियों की रिपोर्ट करता है।

हालांकि व्यक्तिगत परिणाम रिपोर्टरों में त्रुटियां हो सकती हैं, वे एक-दूसरे से अलग-थलग हैं (एक रिपोर्टर को दूसरे से त्रुटियां नहीं दिखाई देती हैं)। ये त्रुटियां केवल एक व्यक्तिगत रिपोर्टर की अपनी परिणाम रिपोर्टिंग को प्रभावित करती हैं और त्रुटियों को लॉग में देखा जा सकता है।