تاریخ انتشار Cloud: ۱۲ دسامبر ۲۰۲۰
نسخه TestRail ۶.۷ شامل تغییرات و بهبودهای مختلفی است که برای بهتر شدن عملکرد و مقیاسپذیری برای همه مشتریان TestRail Cloud طراحی شدهاند.
خلاصه تغییرات:
- برای مشتریان TestRail Cloud، یک Data Storage Policy جدید معرفی کردهایم که از تاریخ ۱ فوریه ۲۰۲۱ ، همراه با قابلیتهای جدید admin برای پایش و مدیریت میزان استفاده از فضای ذخیرهسازی، اعمال میشود.
- در برخی تنظیمات export داده و گزارشگیری تغییرات کوچکی دادهایم تا اثر ناخواسته روی performance کمتر شود.
- به بعضی از صفحههای web app و همه bulk API methodها pagination اضافه کردهایم تا به مشتریانی که حجم زیادی test case و دادههای تاریخی تست دارند، مثل results، runs، milestones و موارد مشابه، بهتر سرویس بدهیم. مشتریانی که در حال حاضر از هر bulk endpoint در TestRail استفاده میکنند، باید تا ۲۶ فوریه ۲۰۲۱ به bulk API endpointهای جدید دارای pagination منتقل شوند تا دچار قطعی سرویس نشوند.
- برای کاربرانی که برای مدیریت billing و license حساب TestRail Billing Portal دارند، یک policy انقضای رمز عبور ۹۰ روزه اضافه کردهایم. این تغییر روی کاربران TestRail app اثری ندارد.
تغییرات فضای ذخیرهسازی داده #
بزرگترین تغییر این نسخه، اعمال چند اصلاح در نحوه گزارشگیری از data storage در instanceهای میزبانیشده TestRail Cloud و روشنتر شدن معنای این گزارشها برای مشتریان در آینده است.
تا پیش از این، برای instanceهای cloud اصلاً گزارشی درباره data storage ارائه نمیکردیم. در حالت کلی هم این موضوع مشکل بزرگی ایجاد نکرده بود، چون برای بیشتر مشتریان، پلن ذخیرهسازی پیشفرض ما هم برای نیازهای آنها و هم برای نیازهای ما کاملاً کافی بود.
برای شفافیت کامل:
- مشتریان hosted TestRail ما باید بتوانند دادههای تست خود را ذخیره کنند؛ از جمله test caseها، testها، runs، plans و موارد مشابه، همراه با attachmentهای مرتبط و reportهای تولیدشده.
- مشتریان hosted TestRail ما همچنین باید بتوانند در صورت نیاز، این دادهها را از TestRail export کنند تا آنها را منتقل کنند یا بهصورت محلی backup بگیرند.
ما در Gurock باید بتوانیم هر روز از instanceهای hosted پشتیبان بگیریم تا در صورت نیاز آنها را به وضعیت قبلی برگردانیم.
متأسفانه بعضی از instanceهای مشتریان hosted TestRail Cloud، کمتر از ۱٪، آنقدر بزرگ شدهاند که انجام برخی از این عملیات بهصورت ایمن، موفق و بدون اثرگذاری روی سایر مشتریان در زیرساخت cloud ما دشوار شده است. با اینکه همچنان performance خود پلتفرم را بهبود میدهیم، لازم بود راهی برای تغییر مدل و policy فعلی storage پیدا کنیم تا بهترین تجربه ممکن از TestRail را برای همه مشتریان فراهم کند.
در نتیجه، در TestRail ۶.۷ یک data storage policy و چند قابلیت جدید در TestRail app معرفی کردهایم تا به تیم شما کمک کند storage خود را پایش و مدیریت کند.
Data Storage Policy #
برای اطلاعات بیشتر درباره Data Storage Policy ما میتوانید به متن کامل policy که اینجا منتشر شده است مراجعه کنید، اما نکات اصلی اینها هستند:
از ۱ فوریه ۲۰۲۱:
- مشتریان Professional TestRail در اشتراک cloud خود ۵۰GB فضای ذخیرهسازی داده خواهند داشت.
- مشتریان Enterprise TestRail در اشتراک cloud خود ۵۰۰GB فضای ذخیرهسازی داده خواهند داشت.
بهعنوان بخشی از بهبودهای این نسخه، instanceهای TestRail Enterprise را به یک cluster جداگانه با منابع بیشتر منتقل کردهایم تا حتی هنگام استفاده از حجمهای بالاتر storage هم performance بالا حفظ شود.
میدانیم که برای بعضی از مشتریان Professional، فضای ۵۰GB ممکن است برای نیازهایشان کافی نباشد. بنابراین گزینههای storage قابلپرداخت بیشتری اضافه کردهایم که بهازای هر ۲۵GB افزایش، تا سقف ۲۰۰GB، ماهانه ۱۰ دلار محاسبه میشود.
به بیان ساده، اگر از سهمیه Professional خود عبور کنید، بر اساس بیشترین میزان storage مصرفشده در دوره billing، برای هر ۲۵GB افزایش تا سقف مجاز ۲۰۰GB، ماهانه ۱۰ دلار اضافه از شما دریافت میکنیم. این مبلغ به صورتحساب ماهانه معمول شما اضافه میشود. اگر به ۲۰۰GB برسید، این گزینهها را دارید:
- با انجام چند اقدام اصلاحی، حجم data storage مصرفی خود را کاهش دهید؛ به مستندات TestRail Data Management مراجعه کنید.
- اشتراک خود را به Enterprise ارتقا دهید تا سهمیه شما به ۵۰۰GB افزایش پیدا کند.
- دادههای خود را به یک نصب on-premise از TestRail export کنید.
در هر دو tier Professional و Enterprise در TestRail، اگر به حداکثر ظرفیت مجاز storage برسید، یعنی بهترتیب ۲۰۰GB و ۵۰۰GB، موضوع overage را به شما اطلاع میدهیم و برای پیدا کردن راهحلی جهت کاهش حجم storage کمک میکنیم. اگر برای کاهش storage اقدامی انجام ندهید، ممکن است برخی قابلیتها محدود شوند تا از اثرگذاری آنها روی performance زیرساخت cloud ما جلوگیری شود:
- دادهها را نمیتوان از administration console export کرد؛ CSV & export تستکیسهای XML همچنان مجاز است).
- امکان ایجاد custom fieldهای بیشتر وجود ندارد.
- امکان آپلود attachmentهای بیشتر وجود ندارد.
مشتریان Hosted میتوانند وضعیت فعلی فضای ذخیرهسازی دادههای خود را در بخش مدیریت TestRail > Overview مشاهده کنند:

Administratorها همچنین میتوانند میزان مصرف فعلی فضای ذخیرهسازی دادهها را در بخش جدید Data Management بررسی کنند:


در همین بخش، قابلیت بهبودیافته Data Export را هم پیدا میکنید؛ در ادامه درباره آن توضیح میدهیم.
تغییرات Data Export #
چند تغییر در قابلیت export در TestRail ایجاد کردهایم. از نسخه ۶.۷ به بعد، هنگام زمانبندی export باید از ابتدا مشخص کنید از کدام نسخه SQL میخواهید استفاده کنید: MySQL یا MSSQL.
همچنین، اگر گزینههای مربوط به شامل کردن reportها، attachmentها یا هر دو را انتخاب نکنید، این موارد بهصورت پیشفرض از export حذف میشوند.
این تغییرات به همان دلایلی انجام شدهاند که سیاست ذخیرهسازی داده را اجرا کردیم. انجام این exportها و قرار دادن همه اطلاعات بهصورت پیشفرض، برای عملکرد زیرساخت cloud ما ریسک ایجاد میکرد. با کاهش اندازه exportها، یعنی محدود کردن آنها به یک نسخه SQL و اضافه کردن فقط دادههایی که صراحتاً درخواست شدهاند، میتوانیم خطر افت عملکرد را برای همه مشتریان Hosted کاهش دهیم.

Pagination & تغییرات API #
Pagination یکی دیگر از قابلیتهای مهم در release مربوط به scalability است و هم روی TestRail UI و هم روی TestRail API تأثیر میگذارد.
Pagination در UI #
برای UI، در همه صفحاتی که ممکن بود با بارگذاری پیشفرض تعداد زیادی test case، test، run و سایر موجودیتهای TestRail دچار مشکل شوند، pagination را پیادهسازی کردهایم. فهرست کامل صفحاتی که pagination در آنها اعمال شده، در ادامه آمده است:
- /runs/view/
- /tests/view/
- /cases/results/
- /runs/overview/
- /suites/runs/
- /suites/overview/
- /plans/view/
Administratorهای TestRail میتوانند سطح pagination را در این صفحات با استفاده از Pagination Limit در تنظیمات Administration > User Interface کنترل کنند؛ نمونه آن در تصویر زیر نشان داده شده است.

Pagination در API #
برای درخواستهای bulk در API هم pagination را معرفی کردهایم. از این به بعد، وقتی با استفاده از یک endpoint در TestRail API مثل get_cases یک درخواست bulk ارسال میکنید، میبینید که ساختار response تغییر کرده و اکنون یک object با fieldهای اضافی pagination و یک array شامل حداکثر ۲۵۰ موجودیت برمیگرداند.
همه bulk endpointهای API ساختار جدید و لینکهای pagination را خواهند داشت. اگر نتیجه درخواست شما از حداکثر تعداد objectهای مجاز بیشتر باشد، ۲۵۰ مورد اول و لینکی به مجموعه بعدی نتایج را در body پاسخ دریافت میکنید.
{"offset": 0,
"limit": 250,
"size": 250,
"_links":{
"next": "/api/v2/get_cases/1&limit=250&offset=250",
"prev": null
},
"cases":[
{ "id": 1, "title": "..", .. },
{ "id": 2, "title": "..", .. },
..
]
}
میتوانید به درخواست خود offset اضافه کنید، یا با افزودن پارامترهای offset و limit به URL درخواست، تعداد موجودیتهای برگشتی را بیشتر محدود کنید:
GET index.php?/api/v2/get_cases/:project_id &suite_id=:suite_id limit=:limit &offset=:offset
فهرست کامل endpointهای bulk API که شامل این تغییر میشوند در ادامه آمده است:
- get_cases
- get_runs
- get_results
- get_tests
- get_results_for_case
- get_results_for_run
- get_plans
- get_projects
- get_sections
- get_milestones
- get_history_for_case
- get_attachments_for_case
- get_attachments_for_run
- get_attachments_for_plan
دوره بتای API در نسخه ۶.۷ #
میدانیم که سازگار شدن با این تغییرات ممکن است کمی زمان ببرد. به همین دلیل، آنها را در حالت بتا منتشر کردهایم تا کاربران API فرصت کافی برای اعمال تغییرات لازم در کد و integrationهایی که از این endpointها استفاده میکنند داشته باشند.
اگر در حال حاضر از یکی از متدهای bulk API که در بالا فهرست شدهاند استفاده میکنید، باید پیش از ۲۶ فوریه ۲۰۲۱ به متد جدید API صفحهبندیشده که در بالا توضیح داده شد مهاجرت کنید.
در نسخه TestRail ۶.۷، API برای همه endpointهای بالا همچنان از requestها و responseهای API قدیمی استفاده میکند.
اگر میخواهید API جدید را امتحان کنید، میتوانید header و parameter زیر را به requestهای API خود اضافه کنید:
--header 'x-api-ident: beta'
پس از پایان دوره بتا، endpointهای بهروزرسانیشده برای همه responseها استفاده خواهند شد.
اطلاعات بیشتر درباره این تغییرات را میتوانید در مستندات TestRail API.
تغییرات گزارشها #
نسخه ۶.۷ همچنین شامل چند تغییر جزئی و یک اصلاح برای گزارشهای TestRail است.
برای بهبود عملکرد، امکان انتخاب گزینه «all» را برای یک بُعد مشخص در گزارش حذف کردهایم. برای مثال، هنگام اجرای گزارش Comparison for Cases، دیگر دکمه رادیویی «All Test Runs» را نخواهید دید.

این تغییر را به دلایلی مشابه سایر قابلیتهای نسخه ۶.۷ اعمال کردهایم. در یک instance بزرگ و hosted از TestRail که تعداد زیادی test run دارد، ساختن گزارش برای همه runها بهصورت پیشفرض رویکردی تا حدی پرریسک بود. اجرای چنین گزارشی ممکن بود زمان زیادی ببرد و هنگام تولید گزارش، روی عملکرد instance hosted تأثیر بگذارد. بنابراین گزینه «all» را بهعنوان گزینه پیشفرض از گزارشهایی که از آن استفاده میکردند حذف کردهایم.
البته اگر واقعاً میخواهید برای یک بُعد مشخص روی «all» گزارش بگیرید، همچنان میتوانید این کار را با تنظیم یک filter مناسب انجام دهید.

همچنین یک bug را برطرف کردیم تا در صورت شکست، گزارشها بیپایان دوباره اجرا نشوند؛ چون عملکرد سیستم مهم است.
بهروزرسانیهای TestRail Billing Portal #
در نهایت، برای بهبود امنیت همه مشتریان TestRail، یک policy جدید برای انقضای ۹۰ روزه password در TestRail Billing Portal معرفی کردهایم که از آدرس زیر در دسترس است https://secure.testrail.com/customers/auth/login/. این policy انقضای password هیچ تأثیری روی کاربران app ندارد؛ فقط برای کاربرانی اعمال میشود که در ارتباط با account خود در TestRail Billing Portal، بهعنوان contact اصلی، فنی یا billing برای subscriptionهای TestRail Cloud یا licenseهای server معرفی شدهاند.
دریافت TestRail ۶.۷ #
میتوانید trial رایگان ۳۰ روزه TestRail را از اینجا شروع کنید، چه برای Cloud و چه برای Server: https://secure.testrail.com/customers/testrail/trial
اگر میخواهید برای TestRail Cloud یک subscription ایجاد کنید، میتوانید این کار را از داخل TestRail و از مسیر زیر انجام دهید: Administration > Subscription. همچنین اگر میخواهید لایسنسهای TestRail Server را سفارش دهید، میتوانید از این بخش وبسایت ما اقدام کنید: https://secure.testrail.com/customers/shop/annual/purchase/
مشتریان ثبتنامشده میتوانند نسخه کامل را از TestRail Billing Portal دانلود کنند: https://secure.testrail.com/customers/auth/login/
TestRail Enterprise #
اگر میخواهید درباره افزایش سقف فضای ذخیرهسازی، فعالسازی مدیریت در سطح project، single sign-on یا هر قابلیت دیگری در TestRail Enterprise بیشتر بدانید، لطفاً وارد حساب خود شوید و با تیم پشتیبانی تماس بگیرید؛ یا اگر وارد حساب نشدهاید، روی دکمه Submit a request در بالای سمت راست این صفحه کلیک کنید.
مطمئن نیستید از کدام پلن TestRail استفاده میکنید؟ با ما تماس بگیرید؛ خوشحال میشویم کمک کنیم.
بهروزرسانی به TestRail ۶.۷ #
TestRail Cloud #
instanceهای TestRail Cloud بهصورت خودکار به آخرین نسخه بهروزرسانی میشوند. میتوانید نسخه خود را از مسیر TestRail Help > About TestRail در منو بررسی کنید.
TestRail Server #
اگر از نسخه on-premise TestRail استفاده میکنید، میتوانید طبق روال معمول با نصب نسخه جدید روی نصب فعلی TestRail، آن را بهروزرسانی کنید؛ نیازی نیست نصب فعلی را حذف کنید. وقتی با مرورگر وب به TestRail دسترسی پیدا میکنید، database upgrade wizard بهصورت خودکار اجرا میشود. برای جزئیات، دستورالعملهای بهروزرسانی را ببینید:
اگر از Docker استفاده میکنید، لطفاً دستورالعملهای این بخش را ببینید:
لطفاً قبل از ارتقا به نسخه جدید، حتماً از نصب فعلی on-premise خود backup تهیه کنید.

