टीएफ परीक्षण जीवनचक्र

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

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

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

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

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

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

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

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

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

निर्माण प्रदाता

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

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

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

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

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

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

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

परीक्षण

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

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

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

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

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

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