ট্রেড ফেডারেশন ব্যবহার করে সম্পাদিত একটি পরীক্ষার জীবনচক্র চারটি পৃথক পর্যায় নিয়ে গঠিত, যা আনুষ্ঠানিকভাবে সংজ্ঞায়িত ইন্টারফেসের চারপাশে ডিজাইন করা হয়েছে।
সংজ্ঞায়িত ইন্টারফেস
- বিল্ড প্রোভাইডার : পরীক্ষা করার জন্য একটি বিল্ড প্রদান করে, প্রয়োজনে উপযুক্ত ফাইল ডাউনলোড করে।
- টার্গেট প্রিপারার : পরীক্ষার পরিবেশ প্রস্তুত করে, সম্ভবত সফ্টওয়্যার ইনস্টলেশন এবং ডিভাইস কনফিগারেশন সহ।
- পরীক্ষা : পরীক্ষা (গুলি) সম্পাদন করে এবং পরীক্ষার ফলাফল সংগ্রহ করে। এটি যেকোনো JUnit পরীক্ষা হতে পারে, যদিও আমাদের IRemoteTest ইন্টারফেসটি বিশেষভাবে ট্রেড ফেডারেশন পরিবেশে ভালভাবে কাজ করার জন্য ডিজাইন করা হয়েছে।
- টেস্ট ইনভোকেশন লিসেনার (ফলাফল রিপোর্টিং) : পরীক্ষার ফলাফলের জন্য শোনে, সাধারণত পরীক্ষার ফলাফলগুলি একটি সংগ্রহস্থলে ফরোয়ার্ড করার উদ্দেশ্যে বা টেস্ট রানারে প্রদর্শন করার উদ্দেশ্যে।
টিএফ-এর মৌলিক পরীক্ষার সত্তা হল একটি কনফিগারেশন (কনফিগারেশন)। একটি কনফিগারেশন একটি XML ফাইল যা একটি পরীক্ষার জীবনচক্র উপাদান ঘোষণা করে।
পরীক্ষার জীবনচক্রের এই বিচ্ছেদ পুনঃব্যবহারের অনুমতি দেওয়ার উদ্দেশ্যে। এই নকশাটি ব্যবহার করে, বিকাশকারী একবার একটি পরীক্ষা তৈরি করতে পারে এবং তারপরে ইন্টিগ্রেটর বিভিন্ন পরিবেশে সেই পরীক্ষা চালানোর জন্য বিভিন্ন কনফিগারেশন তৈরি করতে পারে। উদাহরণস্বরূপ, তারা একটি কনফিগারেশন তৈরি করতে পারে যা একটি স্থানীয় মেশিনে একটি পরীক্ষা চালাবে এবং ফলাফলটি stdout এ ডাম্প করবে। তারপরে তারা একটি দ্বিতীয় কনফিগারেশন তৈরি করতে পারে যা একই পরীক্ষাটি কার্যকর করবে, তবে একটি ডাটাবেসে পরীক্ষার ফলাফল সংরক্ষণ করতে একটি ভিন্ন টেস্ট ইনভোকেশন লিসেনার ব্যবহার করবে। একটি তৃতীয় কনফিগারেশন ডিজাইন করা হতে পারে যেটি কোথাও একটি পরীক্ষা ল্যাব থেকে ক্রমাগত পরীক্ষা চালানো হয়।
এখানে উল্লেখ করা সুবিধাজনক যে একটি কনফিগারেশন এবং তার কমান্ড-লাইন আর্গুমেন্ট (যেমন টেস্ট রানার দ্বারা সরবরাহ করা হয়েছে) একটি কমান্ড হিসাবে পরিচিত। যখন TF একটি ITestDevice
এর সাথে একটি কমান্ড যুক্ত করে এবং এটি কার্যকর করে, তখন পরবর্তী অবজেক্টটি একটি আমন্ত্রণ হিসাবে পরিচিত হয়। সংক্ষেপে, একটি আমন্ত্রণ তার সমগ্র জীবনচক্র জুড়ে একটি সম্পূর্ণ TF পরীক্ষা সম্পাদনকে অন্তর্ভুক্ত করে।
অতিরিক্ত কনফিগারেশন উপাদান
- ডিভাইস পুনরুদ্ধার : হারিয়ে গেলে ডিভাইস যোগাযোগ পুনরুদ্ধার করার প্রক্রিয়া।
- লগার : ট্রেডফেড লগিং ডেটা সংগ্রহ করে।
পর্যায় আউটপুট এবং ত্রুটি
একটি আহ্বানের প্রতিটি পর্যায় ক্রমানুসারে কার্যকর হয় এবং একটি নির্দিষ্ট লক্ষ্য থাকে। এই বিভাগটি প্রতিটি পর্যায়ের স্বাভাবিক আউটপুট এবং ত্রুটিগুলি বর্ণনা করে।
প্রদানকারী তৈরি করুন
এই পর্যায়টি একটি IBuildInfo
অবজেক্ট তৈরি করে এবং আউটপুট করে যাতে পরীক্ষাগুলি সেট আপ এবং চালানোর জন্য প্রয়োজনীয় সমস্ত ফাইলের রেফারেন্স থাকে।
এই পর্যায়ে সবচেয়ে সাধারণ ত্রুটি হল অনুরোধ করা ফাইলগুলি ডাউনলোড বা খুঁজে পেতে ব্যর্থতা।
এই পর্যায়ে একটি ত্রুটির ফলে সরাসরি ত্রুটি রিপোর্ট করা হয় এবং কোনো পরীক্ষা চালানো হয় না।
লক্ষ্য প্রস্তুতি
এই পর্যায়টি পরীক্ষার অধীনে লক্ষ্যের জন্য প্রয়োজনীয় রাজ্যগুলি সেট আপ করে। এই পর্যায়টি প্রদত্ত পরীক্ষার আহ্বানের জন্য প্রয়োজনীয় ডিভাইস বা হোস্ট সেটআপ পরিবর্তন করতে পারে।
এই পর্যায়ে সাধারণ ত্রুটিগুলি সাধারণত একটি নির্দিষ্ট অবস্থায় ডিভাইস সেটআপ করতে ব্যর্থতা (উদাহরণস্বরূপ, ফ্ল্যাশিং ব্যর্থ) এবং সেটআপের জন্য প্রয়োজনীয় ফাইলগুলি খুঁজে পেতে ব্যর্থতা জড়িত।
এই পর্যায়ে একটি ত্রুটি লক্ষ্য ক্লিন আপ চলমান, ত্রুটি রিপোর্টিং, এবং কোন পরীক্ষা চালানো হচ্ছে না.
টেস্ট
এই পর্যায়টি পূর্বে প্রস্তুত করা লক্ষ্যে অনুরোধকৃত পরীক্ষাগুলি চালায় এবং সমস্ত পরীক্ষার ফলাফলের রিপোর্ট করে।
এই পর্যায়ে সাধারণ ত্রুটিগুলি সাধারণত পরীক্ষার অধীনে লক্ষ্য অনুপলব্ধ হওয়া বা কিছু ত্রুটির কারণে পরীক্ষার আংশিক সম্পাদন জড়িত থাকে। এই ত্রুটিগুলি হল অবকাঠামোগত সমস্যা যা পরীক্ষা সম্পাদনকে প্রভাবিত করে একটি একক পরীক্ষার ক্ষেত্রে ব্যর্থতার বিপরীতে।
এই পর্যায়ে একটি ত্রুটির ফলে পরীক্ষা চালানো বন্ধ হয়ে যায়, টার্গেট ক্লিন আপ রানিং, ত্রুটি রিপোর্ট করা এবং আংশিক ফলাফল পাওয়া যায়।
ফলাফল রিপোর্টিং
এই পর্যায়টি কনফিগার করা পরিষেবাগুলিতে ফলাফল এবং ত্রুটিগুলি রিপোর্ট করে (উদাহরণস্বরূপ, সার্ভার এবং স্থানীয় ফাইল)।
যদিও পৃথক ফলাফল রিপোর্টারদের ত্রুটি থাকতে পারে, তারা একে অপরের থেকে বিচ্ছিন্ন (একজন রিপোর্টার অন্য একজনের থেকে ত্রুটি দেখতে পায় না)। এই ত্রুটিগুলি শুধুমাত্র একজন স্বতন্ত্র প্রতিবেদকের নিজস্ব ফলাফল রিপোর্টিংকে প্রভাবিত করে এবং ত্রুটিগুলি লগগুলিতে দেখা যেতে পারে৷