چرخه حیات آزمایشی که بااستفاده از Trade Federation اجرا میشود از چهار مرحله مجزا تشکیل شده است، که براساس میاناهای تعریفشده رسمی طراحی شدهاند.
میاناهای تعریفشده
- ارائهدهنده ساخت: ساختمانی را برای آزمایش ارائه میدهد و درصورت لزوم فایلهای مناسب را بارگیری میکند.
- آمادهساز هدف: محیط آزمایش را آماده میکند، که احتمالاً شامل نصب نرمافزار و پیکربندی دستگاه میشود.
- آزمایش: آزمایش(ها) را اجرا میکند و نتایج آزمایش را جمعآوری میکند. این میتواند هر JUnit Test باشد، اگرچه میانای IRemoteTest ما بهطور خاص برای عملکرد خوب در محیط Trade Federation طراحی شده است.
- شنود فراخوانی آزمون (گزارش نتایج): نتایج آزمون را میشنود، معمولاً با هدف ارسال نتایج آزمون به مخزن یا نمایش آنها به «اجراکننده آزمون».
نهاد آزمایشی بنیادی در TF، پیکربندی (config) است. پیکربندی فایل XML است که عناصر چرخه حیات آزمایش را اعلام میکند.
این جداسازی چرخه حیات آزمایش برای امکان استفاده مجدد درنظر گرفته شده است. بااستفاده از این طراحی، «توسعهدهنده» میتواند یک «آزمایش» را یکبار ایجاد کند، و سپس «ادغامکننده» میتواند «پیکربندیهای» مختلفی را برای اجرای آن «آزمایش» در محیطهای مختلف ایجاد کند. برای مثال، آنها میتوانند «پیکربندی» ایجاد کنند که آزمایشی را در ماشین محلی اجرا کند و نتیجه را در خروجی استاندارد تخلیه کند. سپس میتوانند «پیکربندی» دومی ایجاد کنند که همان آزمون را اجرا کند، اما از «شنونده فراخوانی آزمون» متفاوتی برای ذخیره نتایج آزمون در پایگاه داده استفاده کند. «پیکربندی» سومی ممکن است برای اجرای مداوم آن آزمایش از یک آزمایشگاه آزمایشی در جایی طراحی شود.
در اینجا مناسب است که توجه داشته باشیم «پیکربندی» بههمراه آرگومانهای خط فرمان آن (که توسط «اجراکننده آزمایش» ارائه میشود) بهعنوان فرمان شناخته میشود. وقتی TF یک «فرمان» را با
ITestDevice جفت میکند و آن را اجرا میکند، شیء بعدی بهعنوان فراخوانی شناخته میشود.
بهطور خلاصه، «فراخوانی» شامل اجرای کامل آزمون TF در کل چرخه حیات آن میشود.
عناصر پیکربندی اضافی
- بازیابی دستگاه: سازوکار بازیابی ارتباط دستگاه درصورت ازدست رفتن.
- گزارشگیر: دادههای گزارشگیری tradefed را جمعآوری میکند.
برونداد و خطاهای مرحله
هر مرحله از یک فراخوانی بهصورت متوالی اجرا میشود و هدف خاصی دارد. این بخش خروجیها و خطاهای معمول هر مرحله را شرح میدهد.
ساختن ارائهدهنده
این مرحله یک شیء
IBuildInfo
ایجاد و خروجی میدهد که شامل همه ارجاعهای فایلهای موردنیاز برای راهاندازی و اجرای آزمایشها است.
رایجترین خطا در این مرحله، عدم موفقیت در بارگیری یا پیدا کردن فایلهای درخواستی است.
خطا در این مرحله منجر به گزارش مستقیم خطا میشود و هیچ آزمایشی اجرا نمیشود.
آمادهسازی هدف
این مرحله وضعیتهای لازم را برای هدف تحت آزمایش تنظیم میکند. این مرحله میتواند دستگاه یا تنظیمات میزبان را درصورت نیاز برای فراخوانی آزمایش دادهشده تغییر دهد.
خطاهای رایج در این مرحله معمولاً شامل عدم موفقیت در تنظیم دستگاه در وضعیت معین (برای مثال، چشمک زدن ناموفق) و عدم موفقیت در یافتن فایلهای موردنیاز برای راهاندازی است.
خطا در این مرحله منجر به اجرای پاکسازی هدف، گزارش خطا، و اجرا نشدن هیچ آزمایشی میشود.
آزمایشها
این مرحله آزمایشهای درخواستشده را روی هدف آمادهشده قبلی اجرا میکند و همه نتایج اجرای آزمایش را گزارش میدهد.
خطاهای رایج در این مرحله معمولاً شامل دردسترس نبودن هدف تحت آزمایش یا برخیاز خطاها میشود که باعث اجرای ناقص آزمایشها میشود. این خطاها مشکلات زیرساختی هستند که بر خود اجرای آزمایشی تأثیر میگذارند، نه اینکه چارچوب تست تکی ناموفق باشد.
خطا در این مرحله باعث میشود اجرای آزمایش متوقف شود، پاکسازی هدف اجرا شود، خطا گزارش شود، و نتایج جزئی دریافت شود.
گزارش نتایج
این مرحله نتایج و خطاها را به سرویسهای پیکربندیشده (برای مثال، سرورها و فایلهای محلی) گزارش میکند.
اگرچه گزارشگران نتایج فردی ممکن است خطا داشته باشند، اما این خطاها از یکدیگر جدا هستند (یک گزارشگر خطاهای گزارشگر دیگر را نمیبیند). این خطاها فقط بر گزارش نتایج خود گزارشدهنده تأثیر میگذارد و خطاها را میتوان در گزارشهای وقایع مشاهده کرد.