چرخه عمر آزمایشی که با استفاده از فدراسیون تجارت اجرا می شود از چهار مرحله مجزا تشکیل شده است که حول رابط های رسمی تعریف شده طراحی شده اند.
رابط های تعریف شده
- Build Provider : ساختی را برای آزمایش ارائه می دهد و در صورت لزوم فایل های مناسب را دانلود می کند.
- Target Preparer : محیط آزمایش را آماده می کند، احتمالاً شامل نصب نرم افزار و پیکربندی دستگاه.
- تست : تست(ها) را اجرا می کند و نتایج آزمون را جمع آوری می کند. این ممکن است هر تست JUnit باشد، اگرچه رابط IRemoteTest ما به طور خاص طراحی شده است تا در محیط Trade Federation به خوبی کار کند.
- Test Invocation Listener (گزارش نتایج) : به نتایج آزمون گوش می دهد، معمولاً به منظور ارسال نتایج آزمون به مخزن یا نمایش آنها به Test Runner.
موجودیت آزمایشی اساسی در TF یک پیکربندی (پیکربندی) است. کانفیگ یک فایل XML است که اجزای چرخه حیات یک تست را اعلام می کند.
این جداسازی چرخه عمر آزمایش برای امکان استفاده مجدد در نظر گرفته شده است. با استفاده از این طرح، Developer می تواند یک بار یک تست ایجاد کند و سپس یکپارچه ساز می تواند تنظیمات مختلفی را برای اجرای آن تست در محیط های مختلف ایجاد کند. به عنوان مثال، آنها می توانند یک پیکربندی ایجاد کنند که آزمایشی را روی یک ماشین محلی اجرا کند و نتیجه را در stdout قرار دهد. سپس میتوانند پیکربندی دومی را ایجاد کنند که همان تست را اجرا میکند، اما از یک Test Invocation Liner برای ذخیره نتایج آزمایش در پایگاه داده استفاده میکند. پیکربندی سوم ممکن است طراحی شود که آزمایش را به طور مداوم از یک آزمایشگاه آزمایشی در جایی انجام دهد.
در اینجا ذکر این نکته راحت است که یک Configuration به همراه آرگومان های خط فرمان آن (همانطور که توسط Test Runner ارائه شده است) به عنوان Command شناخته می شود. هنگامی که TF یک فرمان را با یک ITestDevice
جفت می کند و آن را اجرا می کند، شی بعدی به عنوان Invocation شناخته می شود. به طور خلاصه، یک Invocation شامل اجرای کامل تست TF در کل چرخه عمر خود می شود.
اجزای پیکربندی اضافی
- بازیابی دستگاه : مکانیزمی برای بازیابی ارتباطات دستگاه در صورت گم شدن.
- Logger : دادههای ثبتشده را جمعآوری میکند.
خروجی مرحله و خطاها
هر مرحله از فراخوانی به صورت متوالی اجرا می شود و هدف خاصی دارد. این بخش خروجی ها و خطاهای معمول هر مرحله را توضیح می دهد.
ارائه دهنده ساخت
این مرحله یک شی IBuildInfo
را ایجاد و خروجی میدهد که شامل تمام مراجع فایلهای مورد نیاز برای تنظیم و اجرای تستها است.
رایج ترین خطا در این مرحله عدم دانلود یا یافتن فایل های درخواستی است.
یک خطا در این مرحله منجر به گزارش مستقیم خطا می شود و هیچ آزمایشی اجرا نمی شود.
آماده سازی هدف
این مرحله حالت های لازم را برای هدف تحت آزمایش تنظیم می کند. این مرحله می تواند دستگاه یا تنظیمات میزبان را در صورت نیاز برای فراخوانی آزمایشی داده شده تغییر دهد.
خطاهای رایج در این مرحله معمولاً شامل تنظیم نشدن دستگاه در یک وضعیت معین (مثلاً فلش نشدن ناموفق) و یافتن فایلهای مورد نیاز برای تنظیم است.
یک خطا در این مرحله منجر به اجرای پاکسازی هدف، گزارش خطا و عدم اجرای آزمایش می شود.
تست ها
این مرحله تست های درخواستی را روی هدف از قبل آماده شده اجرا می کند و تمام نتایج اجرای آزمایش را گزارش می دهد.
خطاهای رایج در این مرحله معمولاً شامل در دسترس نبودن هدف تحت آزمایش یا برخی خطاها باعث اجرای جزئی آزمایش ها می شود. این خطاها مسائل زیرساختی هستند که بر اجرای آزمایش تأثیر میگذارند، در مقابل شکست یک مورد آزمایشی منفرد.
یک خطا در این مرحله منجر به توقف اجرای آزمایش، پاکسازی هدف، گزارش خطا و دریافت نتایج جزئی می شود.
گزارش نتایج
این مرحله نتایج و خطاها را به سرویس های پیکربندی شده (مثلاً سرورها و فایل های محلی) گزارش می دهد.
اگرچه گزارشگران نتایج فردی ممکن است خطا داشته باشند، اما آنها از یکدیگر جدا هستند (یک گزارشگر خطاهای دیگری را نمی بیند). این خطاها فقط بر گزارش نتایج خود یک گزارشگر تأثیر می گذارد و خطاها را می توان در گزارش ها مشاهده کرد.