ترجمه مقاله نقش ضروری ارتباطات 6G با چشم انداز صنعت 4.0
- مبلغ: ۸۶,۰۰۰ تومان
ترجمه مقاله پایداری توسعه شهری، تعدیل ساختار صنعتی و کارایی کاربری زمین
- مبلغ: ۹۱,۰۰۰ تومان
در چرخه تولید نرم افزار، حداکثر تلاش در مرحله نگهداری صرف می شود. این به دلیل تست مجدد است که در این مرحله انجام می شود تا اطمینان حاصل شود که هر تغییری در سیستم تحت تست (SUT) انجام می شود مانع از کار افتادن عناصر بدون تغییر SUT نمی شود. این تست مجدد بخشی از تست رگرسیون است که در مرحله نگهداری انجام می شود. اما در روش تست مجدد تمامی موارد تست قدیمی مجدداً اجرا می شوند که منجر به افزایش هزینه و زمان تست می شوند. بنابراین، تکنیک اولویت بندی مورد تست به طور گسترده برای غلبه بر این مساله یعنی پایین نگه داشتن هزینه و زمان تست مورد استفاده قرار می گیرد. تکنیک های اولویت بندی مورد تست، موارد تست را برای تست رگرسیون به ترتیبی زمان بندی می کنند که سبب بهبود نرخ تشخیص خطا، درصد پوشش دهی و غیره شود. برای بهبود نرخ تشخیص خطا، ما روشی را برای اولویت بندی موارد تست با استفاده از چندین تابع اصلاح شده و کاوش قانون ارتباط پیشنهاد می دهیم. از آنجایی که ما در حال انجام تست مبتنی بر مدل هستیم، دیاگرام های رفتاری زبان مدل سازی یکپارچه (UML) همانند دیاگرام فعالیت و دیاگرام توالی برای مدل سازی سیستم مورد استفاده قرار می گیرند. گراف توالی فعالیت (ASG) با در نظر گرفتن ویژگی های مرکب دیاگرام های فعالیت و توالی تولید می شود. سپس سناریوهای تست با گردش در گراف تولید می شوند. نودهای تحت تاثیر قرار گرفته و نودهای تغییر یافته مربوطه با استفاده از الگوریتم برش رو به جلو کشف می شوند. جزئیات مربوط به نودهای تغییر یافته و نودهای تحت تاثیر مربوطه در مخزن پروژه ذخیره می شوند. سپس کاوش قانون ارتباط (ARM) به داده های تاریخی اعمال می شود تا الگوی مکرر را تولید کنند. در نهایت، موارد تست براساس ارزش تست حساسیت کسب و کار (BCTV) و الگوی مکرر اولویت بندی می شوند. ما همچنین اثربخشی روش پیشنهادی را با تعیین درصد تشخیص خطا تایید کرده ایم.
مفاهیم پایه ای
بیشتر محصولات نرم افزاری توسط مشتریان مورد قبول واقع نمی شوند چرا که آن ها نمی توانند نیازهای کاربر را مرتفعه کنند. پس از تحویل نرم افزار، شرکت تولید کننده بازخورد کاربران را به منظور ارتقاء خصوصیت محصول جمع آوری می کند. سپس اصلاح محصول به ازای هر بازخورد جمع آوری شده در محصول موجود در طی مرحله نگهدای انجام می شود. این اصلاح شامل افزودن کارکردها، تغییر در کارکردهای موجود و بررسی مجدد عملکرد کارکرد در محیط جدید است (Mall 2014). محصول اصلاح شده مجدداً توسط TCهای موجود تست می شود تا اطمینان حاصل شود که اصلاحات بر محصول موجود تاثیرگذار نیستند. نوع فرآیند تست مجدد، تست رگرسیون نامیده می شود. تست رگرسیون شامل سه تکنیک است: انتخاب مورد تست، به حداقل رساندن مجموعه تست و اولویت بندی تست (Chauhan 2016; Mall 2014). تکنیک انتخاب مورد تست مجموعه ای از موارد تست را انتخاب می کند و تکنیک به حداقل رساندن مجموعه تست به طور مداوم موارد تست اضافی را حذف می کند تا اندازه مجموعه تست را کاهش دهد. تکنیک اول زمان تست و تکنیک دوم هزینه تست را کاهش می دهد. اما تکنیک اولویت بندی مورد تست هم زمان تست و هم هزینه آن را با اولویت بندی موارد تست کاهش می دهد تا کارکرد مورد هدف همانند نرخ تشخیص اولیه، حداکثر پوشش دهی مسیر و پوشش دهی خطر را به حداکثر برساند.
اولویت بندی مورد تست در تست مبتنی بر کد و تست مبتنی بر مدل قابل انجام است. در CBT، سورس کد سیستم یا خطوط کد به عنوان ورودی برای تولید TCها پذیرفته می شوند و آن موارد تست مجدداً برای فرآیند اولویت بندی مورد استفاده قرار می گیرند. به طور مشابه، در تست مبتنی بر مدل، سیستم به عنوان ورودی برای توسعه TCها مورد استفاده قرار می گیرد و TCها برای فرآیند اولویت بندی پذیرفته می شوند. توسعه دهندگان نرم افزار در بیشتر شرکت ها دیاگرام های زبان مدل سازی یکپارچه (UML) را برای طراحی مدل سیستم ترجیح می دهند چرا که دیاگرام های UML به آسانی قابل مشاهده، طراحی و مستندسازی هستند.
ما در این کار دیاگرام توالی UML و دیاگرام فعالیت را به عنوان ورودی در نظر گرفته ایم. در اینجا TCها از سوی گراف وابستگی مدل به نام ASG توسعه داده می شوند که با ترکیب هر دو دیاگرام توسعه داده می شوند. سپس نودهای اصلاح شده و نودهای متاثر مرتبط با استفاده از یک الگوریتم جمع آوری می شوند. الگوهای تکراری نودهای متاثیر با استفاده از تکنیک کاوش داده ها به نام کاوش قانون ارتباط (ARM) تولید می شوند. در نتیجه BCV تمامی نودها در الگوی تکراری وجود دارد و BCTV تمامی TCهای تولید شده در نظر گرفته می شوند. در نهایت اولویت بندی مورد تست با کمک BCTV انجام می شود.