Table of Contents
چکیده
ازمون نرم افزار یک بخش حیاتی از فرآیند مهندسی نرمافزار است. تست خودکار این فرآیند را دقیقتر و کارآمدتر میکند. با توجه به تعداد زیاد و تنوع ابزارهای آزمون، یک طبقهبندی جامع از این ویژگیها ضروری است. هدف از این تحقیق توسعه یک طبقهبندی جامع برای ابزارهای تست به منظور کمک به توسعه دهندگان نرمافزار در انتخاب ابزار مناسب برای نرمافزارهای خاص است. این چارچوب شامل دو بخش اصلی است: (۱)طبقهبندی ابزارهای آزمون؛ (۲)روش انتخاب چند معیاره. بخش اول معیارهای مختلف ابزارهای آزمایش را پوشش میدهد. از آنجا که این معیارها در تعداد زیاد، گسترده و متنوع هستند، یک طبقهبندی از این معیارها مورد نیاز است. این طبقهبندی به توسعه دهندگان کمک خواهد کرد تا بین ابزارهای آزمون براساس طیف گستردهای از معیارهای مختلف تمایز قایل شوند. بخش دوم چارچوب یک روش انتخاب چند معیاره است؛ که توسعه دهندگان نرمافزار را قادر میسازد تا ابزار آزمون مناسب را با استفاده از یک روش سیستماتیک و کافی خودکار انتخاب کنند. این روش هزینه فرآیند انتخاب را کاهش میدهد و به مبتدیان کمک میکند تا ابزارهای آزمون را براساس معیارهای علمی و جامع انتخاب کنند. روش انتخاب از دو روش علمی شناختهشده تکنیکهای تصمیمگیری چند معیاره استفاده میکند؛ فرآیند سلسله مراتبی تحلیلی (AHP)و تکنیک اولویت سفارش براساس شباهت به راهحل ایدهآل (TOPSIS). طبقهبندی ابزار آزمون به خوبی توسط متخصصان دانشگاهی در مهندسی نرمافزار تایید شد و نمرات خوبی از نظر اهمیت، سودمندی و درک به دست آورد. دانشگاهیان گزارش دادند که این طبقهبندی کمی پیچیده است و باید ساده شود. روش انتخاب به عنوان یک وب سایت اجرا شد و با استفاده از سناریوهای مختلف برای اثبات کیفیت انتخاب حتی در موارد پیچیده اعتبار سنجی شد.
مقدمه
IEEE ازمون نرم افزار را به این شکل تعریف میکنه : عنوان فرایندی برای ارزیابی دستی یک سیستم یا اجزای آن و یا به وسیله ابزارهای خودکار برای تعیین اینکه آیا الزامات کاربر را برآورده میکند یا برای یافتن تفاوت بین نتایج واقعی و نتایج مورد انتظار . تست دستی با تعامل با نرمافزار براساس برخی از موارد تست از پیش تعریفشده انجام میشود. فرآیند آزمایش دستی زمانبر هست و این مشکل زمانی بدتر میشه که ما آزمایشها را پس از هر اصلاح و با هر ویژگی مرتبط تکرار کنیم. ما میتوانیم موارد آزمون را تنها یکبار تعریف کنیم و میتوانیم نرمافزار را چندین بار به صورت خودکار اجرا کنیم. این ابزارها نرمافزار را در برابر برخی از موارد آزمون از پیش تعریفشده اعمال میکنند؛ اگر تفاوتهایی در نتایج وجود داشته باشه، به این معنی هست که باگهایی وجود داره که باید تشخیص داده بشه و ثبیت بشه. توسعه دهنده باید کد را بررسی کنه، اشکالات را تشخیص بده و آنها را اصلاح کنه، و تستهای اجرایی را تا زمانی که نتایج واقعی و مورد انتظار یکسان باشند، ادامه بده . بخش صنعت نرمافزار تعداد زیادی از ابزارهای مورد آزمایش را معرفی میکند. توسعه دهندگان نرمافزار در هنگام انتخاب ابزارهای ازمون نرم افزار مناسب برای سیستمهای خود با مشکل مواجه هستند. این امر با توجه به تنوع گسترده ویژگیهای نرمافزار و دشواری داشتن یک ابزار ازمون نرم افزار که شامل تمام این تنوع است، نرمال است.. عوامل زیادی وجود دارند که بر انتخابهای شما تاثیر میگذارند مانند زمان، منابع، اندازه و سطح کیفیت مورد نیاز. با نرمافزار بزرگ مقیاس، معمولا بین دستی و تست خودکار ترکیب میشود.

تاریخچه
تست نرمافزار یک مرحله حیاتی در چرخه حیات نرمافزار است. در توسعه نرمافزار از هر روشی که استفاده شده باشد، زمانی که ازمون نرم افزار اشغال میکنه از کل پروژه کمتر از ۴۰ % نیست . آزمایش خودکار یا اتوماتیک ایده جدیدی نیست. در واقع، ابزارهای زیادی در مراحل مختلف توسعه نرمافزار مورد استفاده قرار میگیرند. در مرحله آزمایش، ابزارهای زیادی وجود دارند که میتوانند به طور موثر برای سرعت بخشیدن، کنترل و بهبود فرآیند آزمایش استفاده بشند . به منظور تسهیل استفاده از ابزارهای آزمون، جامعه پژوهش رویکردهای مختلف طبقهبندی ابزارهای آزمون را معرفی کرد در کنار آرایهبندی ها یا تاکسونومی ها و طبقهبندیها، محققان دیگر به عوامل کلیدی انتخاب ابزار آزمایش پرداختهاند و برخی از دستورالعملها را برای انتخاب آسان و سیستماتیک ابزار آزمایش پیشنهاد کردهاند .اساسا، ابزارهای آزمون رو توسعه دهندها یا آزمون کننده های نرمافزار براساس دیدگاههای آزمون، ویژگیهای نرمافزار، یا ویژگیهای ابزارهای آزمون انتخاب میکنند . که دیدگاههای مختلفی از آزمون هم وجود داره، ما میتوانیم ازمون نرم افزار رو براساس سطوح آزمایش، مدلهای آزمایش ، انواع آزمایش و تکنیکهای آزمایش مورد بررسی قرار دهیم. به طور مشابه، نرمافزاری که مورد آزمایش قرار گرفتهاست نیز دارای ویژگیهای مختلفی مثل زبان برنامهنویسی، مدل داده و پلت فرم میباشند

انواع تست های نرم افزار
سطوح تست به موارد زیر تجزیه میشوند: تست واحد، تست یکپارچهسازی، تست سیستم و تست پذیرش. تست واحد مربوط به تست کوچکترین جز در نرمافزار به صورت جداگانه میباشد. اجزا میتوانند یک شی باشند، یک روش در صورتی که زبان برنامهنویسی شی گرا باشد، یک تابع، یا یک رویه در صورتی که زبان برنامهنویسی زبان ساختار یافته باشد. تست واحد بر عملکرد واحد / جز تست شده تمرکز دارد. این کار معمولا توسط خود توسعه دهنده انجام میشود. تست واحد معمولا جعبه سفید است، که به این معنی است که حالات تست و دادههای تست براساس ساختار کد انتخاب میشوند.
یکپارچهسازی تست با تست یکپارچهسازی بین دو یا چند مولفه نرمافزاری سر و کار دارد. این روش معمولا پس از تست اجزای مختلف به صورت جداگانه به دست میآید، بنابراین بر روی تست روابط بین اجزا و کل عملکرد اجزای یکپارچه به صورت جمعی تمرکز میکند. تست سیستم – همانطور که نام آن نشاندهنده تست کل سیستم به عنوان یک کل است. این کار اساسا برای تست تمام کارکردها و خدمات بدون در نظر گرفتن اجزای تشکیلدهنده آن انجام میشود. معمولا این تست جعبه سیاه است، که جعبه سیاه به معنی تست خروجی واقعی با استفاده از یک ورودی انتخابی عمومی و خروجی مورد انتظار / هدفمند هست. علاوه بر عملکرد، هدف از تست سیستم، تست سایر رفتارها / ویژگیهای سیستم مانند امنیت، عملکرد و قابلیت استفاده است.
آزمون پذیرش سطح نهایی آزمون است که توسط کاربر به دست میآید و اعتبارسنجی سیستم را مورد هدف قرار میدهد، به این معنی که دادههای آزمون – موارد و آزمون – دادهها به طور مستقیم توسط کاربر استخراج و مدیریت میشوند. تایید سیستم با هدف حصول اطمینان از اینکه نرمافزار نیازهای کاربر و انتظارات مشتریان را برآورده میکند، انجام میشود. اشکال مختلفی از تست پذیرش وجود دارد، دو نوع رایج تست آلفا و تست بتا هستند. آزمون آلفا در سازمان توسعه دهنده و محیط به دست میآید در حالی که آزمون بتا در سازمان کاربر و محیط واقعی به دست میآید

هدف از ازمایش
اساسا هدف از آزمایش، آزمایش کد است. آزمایش کد میتواند با استفاده از دو تکنیک کلی انجام شود؛ روشهای استاتیکی و دینامیکی. تست استاتیک کد را بدون اجرا آزمایش میکند و به همین دلیل به آن استاتیک گفته میشود. این روش برای تشخیص خطا یا کنوانسیون استانداردهای کد اجرا میشود. این کار با عبور از کد و ردیابی علل خطا یا نقض استانداردها انجام میشود. تست دینامیک کد را در حالت اجرا تست میکند. این کار با توجه به ورودی از پیش آمادهشده و در مقابل خروجی مورد انتظار انجام میشود. در معیار آزمون پویا، ورودی و خروجی مورد انتظار براساس تکنیکهای مختلف آماده میشوند. تکنیکهای معمول برای ورودی / خروجی که آماده میشوند. تکنیک مبتنی بر مدل نیز برای استنتاج / استخراج معیارهای آزمون مورد استفاده قرار میگیرد. مثالهای مبتنی بر مدل عبارتند از جدول تصمیمگیری، آزمون حالت گذار و هر تکنیک مبتنی بر مشخصات و مبتنی بر مدل .

ویژگی های ازمون نرم افزار
براساس مدلهای کیفیت نرمافزار، ویژگیهای مختلفی وجود دارد . ویژگیهای معمول عبارتند از: عملکرد، قابلیت اطمینان، امنیت، قابلیت نگهداری، قابلیت استفاده، قابلیت حمل، و بهرهوری. ویژگیهای کیفیت شامل تمام الزامات غیر کارکردی برای نرمافزار است. اکثر انواع تستها و ابزارهای آزمون این ویژگیها را به نحوی هدف قرار میدهند، برای مثال: تست امنیتی، تست عملکرد، تست قابلیت استفاده، … و غیره به همین دلیل است که ما ویژگیهای کیفیت را به عنوان یک دیدگاه مهم از ازمون نرم افزار و ابزارهای ازمون نرم افزار در نظر میگیریم.
با توجه به عوامل فنی و اقتصادی، معیارهای متعددی : مانند بودجه، فروشنده، فنآوری نرمافزار و پلت فرم را می توان مورد توجه قرار داد .
بعد از این مرور کلی از موضوع ازمون نرم افزار داشتیم، دیدگاههای مختلف برای آزمایش طبقهبندی ابزارها به کار گرفته شده رو بررسی میکنیم . علاوه بر این، این دیدگاهها الهام بخش محققان دیگر در رویکردهای طبقهبندی هم بوده. این بخش زیر کار قبلی در مورد طبقهبندی ابزارهای آزمایش را نشان میده. مقالاتی که به دستههای ابزار آزمایش براساس دیدگاههای مختلف پرداختهاند رو بررسی کردن. با این حال، ما میتوانیم این رویکردها را در دو دسته کلی دستهبندی کنیم؛ اولی از بالا به پایین و دومی از پایین به بالا است. رویکرد بالا به پایین از مفهوم آزمایش، انواع، تکنیکها و تمام نماهایی که در بخش قبل ذکر شد برای طبقهبندی ابزارهای آزمایش استفاده میکند. رویکرد پایین به بالا از خود ابزارها شروع میشود و با دستهبندی ابزارها به گروههای مشابه بالا میرود.
چیزی است که در سال ۱۹۹۱ توسط دوروتی گراهام معرفی شد یک نقطه عطف ارزشمند حساب میشه. طرح معرفیشده شش دسته اصلی را پیشنهاد کرده:
مدیریت آزمون، طراحی آزمون، ارزیابی عدم اجرا، اجرای آزمون، تحلیل آزمون و ارزیابی کیفیت آزمون .
این طرح ساده، عمیق، مقیاس پذیر و در عین حال جامع بود. بیشتر طبقهبندیهایی که بعدا مطرح شدند از این طرح به عنوان یک مدل مرجع استفاده کردند. طرح دوروتی شامل زیرگروههای بسیاری در هر طبقه اصلی است. شما کلی هنوز هم بینقص هست. در واقع، این taxonomy تا همین حالا هم خوب کار می کنه با این حال، با جهش بزرگ فعلی در ازمون نرم افزار و به طور کلی در اتوماسیون، بسیاری از زیرشاخهها میتوانند اضافه / حذف بشن. ابزاری که میخواهید طبقهبندی کنید هر چه که باشد، به راحتی در یک یا چند دستهبندی در این طبقهبندی درگیر خواهد شد. مرز بین دستهها هم خیلی مشخص نیستند، با این حال یک وجه تمایض واضح بین آنها معرفی شدهاست. بنابراین یک ابزار تست میتواند به بیش از یک دسته تعلق داشته باشد که در آن میتواند بسیاری از عملکردهای تست را پشتیبانی کند. شرح مختصری از دستههای اصلی به شرح زیر است :
Test management tools ابزارهای مدیریت آزمون
این دسته تمام فعالیتهای ارزیابی ریسک، برنامهریزی، نظارت بر تخصیص منابع و کنترل فرآیند آزمون را پوشش میدهد.
Test design tools ابزارهای طراحی آزمون: این دسته با جنبههای مختلف طراحی آزمون شامل استخراج، مدیریت، و مستند سازی معیارهای آزمون، ورودیهای آزمون، دادههای آزمون، ساختارهای داده، و محیط آزمون در ارتباط است.
Non-execution evaluation tools ابزارهای ارزیابی غیر اجرایی: این ابزارها از فعالیتهای آزمایشی که کیفیت نرمافزار را بدون اجرای کد ارزیابی میکنند، پشتیبانی میکنند.
Test execution tools ابزارهای اجرای آزمون: این دسته از ابزارها را منتقل میکنند که فرآیند تمرین نرمافزار را با ورودیهای از پیش تعریفشده آزمون پشتیبانی میکنند. هدف از آزمایش میتواند عملکرد سیستم یا رفتار سیستم باشد. در نتیجه، تست تایید، تست رگرسیون، و تست استرس زیر مجموعههای این دسته اصلی هستند. در تست تایید، ورودی تست باید در برابر خروجی مورد انتظار بررسی شود تا اطمینان حاصل شود که نرمافزار به درستی انجام شدهاست. تست تایید میتواند برای کد جدید یا پس از تغییر ساخته شود. تست رگرسیون پس از اینکه تغییری ایجاد شد تا اطمینان حاصل شود که هیچ عارضه جانبی مضری وجود ندارد، انجام میشود. تست استرس به منظور ارزیابی انعطافپذیری نرمافزار نسبت به اندازه یا نرخ ورودی بیش از حد انجام میشود.
Test analysis tools ابزارهای تجزیه و تحلیل آزمون: این ابزارها با ارزیابی و پرداختن به نتایج اجرای آزمون پویا، یعنی، تجزیه و تحلیل علت شکست به منظور شناسایی خطاها یا خطاها مرتبط هستند. ابزارهای تجزیه و تحلیل آزمون شامل تمام ابزارهای اشکالزدایی، از جمله ابزارهای نوع خاصی از سیستمها مانند سیستمهای بیدرنگ و سیستمهای توزیعشده میباشد.
Test quality evaluation tools ابزارهای ارزیابی کیفیت آزمون: این دسته شامل ابزارهایی است که برای ارزیابی کیفیت آزمون مورد استفاده قرار میگیرند. تمام ابزارهای پوشش به این دسته تعلق دارند.

شش ویژگی کیفی نرمافزار
این ویژگیها میتوانند به عنوان پایهای از جنبههای ازمون نرم افزار و همچنین طبقهبندی ابزار آزمون در نظر گرفته شوند. این ویژگیهای کیفی به این ترتیب هستند
Functionality عملکرد “مجموعهای از ویژگیهایی که بر وجود مجموعهای از توابع و ویژگیهای خاص آنها تاثیر میگذارند”.
کارکردها آنهایی هستند که نیازهای بیانشده یا ضمنی را برآورده میکنند.” این ویژگیها عبارتند از: مناسب بودن، دقت، قابلیت همکاری، امنیت، قابلیت انطباق.
Reliability – قابلیت اطمینان — ” مجموعهای از ویژگیهایی که بر توانایی نرمافزار برای حفظ سطح عملکرد خود در برخی شرایط اعلامشده برای مدت زمان مشخص تأثیر میگذارد.این ویژگیها شامل: تابآوری خطا یا تحملپذیری اشکال، قابلیت بازیابی، انطباق با قابلیت اطمینان
Usability کاربردپذیری – “مجموعهای از ویژگیها که بر رابطه بین سطح عملکرد نرمافزار و مقدار منابع مورد استفاده، تحت شرایط ذکر شده تاثیر میگذارند؛” که عبارتند از: قابلیت یادگیری، قابل فهم بودن ، قابل استفاده بودن.
قابلیت نگهداری Maintainability- ” مجموعهای از ویژگیها که بر تلاش لازم برای ایجاد تغییرات خاص تأثیر میگذارند.” اینها عبارتند از: قابلیت تجزیه و تحلیل، قابلیت نگهداری، ثبات، قابلیت آزمایش، قابلیت نگهداری.
Portability قابلیت انتقال – ” مجموعهای از ویژگیها که براساس توانایی نرمافزار برای انتقال از یک محیط به محیط دیگر به وجود میآیند.” قابلیت انطباق، قابلیت نصب، همزیستی، قابلیت جابجایی، قابلیت انطباق با سیستم.
فاکتورهای کیفیت IEEE مشابه ISO ۹۱۲۶ هستند: بهرهوری، قابلیت نگهداری، قابلیت انتقال، قابلیت اطمینان، قابلیت استفاده، و قابلیت عملکرد . به این نکته هم باید اشاره بکنیم که ، “امنیت” – که امروزه به یک نیاز اساسی برای هر نوع از برنامههای کاربردی تبدیل شدهاست، در IEEE ۱۰۶۱ گنجانده نشده است، و به عنوان یک زیر معیار در ISO ۹۱۲۶ گنجانده شدهاست. این غفلت در آن زمان معقول بود؛ با این حال امروزه نیاز به در نظر گرفتن امنیت به عنوان یک نیاز اساسی کیفی برای نرمافزار احساس میشود.

آزمون چرخه عمر
در سال ۱۹۹۹ مارک فاستر با دوروتی گراهام ابزارهای آزمون رو براساس مدل V یا آزمون چرخه عمر همانطور که در شکل نشانداده شدهاست، طبقهبندی کردند.
ابزارهای طراحی آزمایش:. به استخراج ورودیها یا دادههای آزمایش کمک میکنند.
Static analysis tools: ابزارهای تجزیه و تحلیل ایستا: این ابزارها در مرحله کدگذاری / اجرا مورد استفاده قرار میگیرند. ابزارهای تحلیل ایستا، کدها را بدون اجرای آنها تحلیل میکنند. این نوع ابزار انواع خاصی از نقایص را بسیار موثرتر و ارزانتر از هر وسیله دیگری شناسایی میکند.
Coverage tools ابزارهای پوشش: آنها در فاز آزمون واحد استفاده میشوند. ابزارهای پوشش ارزیابی میکنند که چه مقدار از نرمافزار تحت آزمایش توسط مجموعهای از تستها انجام شدهاست.
Dynamic analysis tools ابزارهای تجزیه و تحلیل پویا: آنها در مرحله آزمون ادغام مورد استفاده قرار میگیرند. ابزارهای تحلیل پویا سیستم را در حالی که نرمافزار در حال اجرا است، ارزیابی میکنند. به عنوان مثال، ابزارهایی که میتوانند نشت حافظه را تشخیص دهند، ابزارهای تحلیل دینامیکی هستند.
Performance testing تست عملکرد: در سیستم و تست پذیرش استفاده میشود. این نوع، زمان اتخاذ شده برای رویدادهای مختلف را اندازهگیری میکند. به عنوان مثال، آنها میتوانند زمانهای پاسخ را تحت شرایط معمولی یا زمانی که لود روی برنامه هست اندازهگیری کنند.
Test execution and comparison tools: ابزارهای اجرای آزمایش و مقایسه: در آزمون واحد، آزمون یکپارچهسازی و آزمون سیستم نیز استفاده میشود. ابزارهای اجرای آزمون و مقایسه، امکان اجرای خودکار تستها و نتایج آزمون را فراهم میکنند تا با نتایج مورد انتظار مقایسه شوند.
Test management tools ابزارهای مدیریت آزمون: مورد استفاده در تمام مراحل. از این نوع برای کمک به برنامهریزی آزمون، پیگیری این که چه آزمونهایی اجرا شدهاند استفاده میشود. این دسته همچنین شامل ابزارهایی برای کمک به قابلیت ردیابی تستها ، طرحها و کدها هستند

عوامل کلیدی برای انتخاب ابزار ازمون نرم افزار
بر اساس ماهیت فرآیند تست
ابزارهای مدیریتی که شامل ابزارهای مدیریت تست : : این دسته شامل ابزارهایی است که برای مدیریت assets مختلف در فرآیند تست استفاده می شود. دارایی ها می توانند موارد تست، نقص، یا ها task باشند
ابزارهای مدیریت نیازمندی ها : این ابزارها معمولاً در مرحله تحلیل نرم افزار استفاده می شوند. با این حال، در مرحله تست هم برای لینک کردن واحدهای آزمایش شده و/یا عیوب با الزامات نسبی استفاده می شود. این لینک ها برای تخمین شدت باگ ها و مکان یابی مناطق آلوده مفید هستند.
ابزارهای مدیریت حوادث : این دسته شامل ابزارهایی است که برای مستندسازی و ردیابی خرابی ها و ناهنجاری های سیستم استفاده می شود. همچنین به عنوان ابزار مدیریت نقص یا ردیابی اشکال نیز شناخته می شود.
ابزارهای مدیریت پیکربندی : از این ابزارها برای حفظ تغییرات در طول تست استفاده می شود.
ابزارهای اجرایی: این دسته شامل ابزارهایی است که با حالت اجرای کد استفاده می شوند. که شامل:
ابزارهای اجرای تست: این رایج ترین دسته بندی شناخته شده است. همچنین به عنوان ابزار اجرای آزمایشی یا ابزارهای ضبط و پخش مجدد شناخته می شود. این ابزارها اساساً برای اتوماسیون تست رگرسیون استفاده می شوند. این ابزارها زمان اجرای تست را به میزان قابل توجهی کاهش می دهند
چارچوب تست واحد/تست هارنس: این نوع ابزار معمولاً توسط توسعه دهنده برای تست یک واحد کد استفاده می شود.
مقایسه کننده تست: از این ابزارها برای مقایسه نتایج واقعی برنامه ها با موارد از پیش تعریف شده استفاده می شود.
اندازه گیری پوششی: ابزارهای این دسته برای بررسی پوشش کد مورد تست استفاده می شود. که یک تصویر واضح از نحوه تست کامل نرم افزار ارائه می ده.
ابزارهای امنیتی: این دسته شامل ابزارهایی هست که نشت داده را بررسی می کنند.
ابزارهای تست استاتیک: این کلاس شامل ابزارهایی است که در انواع مختلف تست استاتیک استفاده می شودکه شامل:
ابزارهای پشتیبانی فرآیند بررسی: این نوع برای پشتیبانی از مدیریت assetsها یا دارایی های بررسی ایستا استفاده می شود.
ابزارهای تجزیه و تحلیل استاتیک: ابزارهایی که در این دسته قرار می گیرند برای تجزیه و تحلیل سینتکس ها و همچنین منطق کدهارو بدون اجرا اونا بررسی میکنند.
ابزارهای مدل سازی: این دسته شامل ابزارهایی که به تولید داده برای آن مدل های که در طراحی تست استفاده میشن کمک می کنه
ابزارهای تست عملکرد یک دسته بندی چتری برای همه ابزارهایی هستند که برای آزمایش اثربخشی و سرعت نرم افزار استفاده می شن. که شامل :
ابزارهای تست بارگذاری : این نوع ابزارها برای بررسی رفتار نرم افزار در زمانی که تعداد زیادی کاربر به طور همزمان وجود دارند استفاده می شود. از این ابزارها برای تشخیص انسداد سیستم و نحوه واکنش در زمانی که بار به تدریج زیاد می شود استفاده می شود.
ابزارهای تست استرس: این دسته شامل ابزارهایی است که توانایی سیستم را برای حفظ سطح معقولی از کارایی در شرایط سخت بررسی می کند.
ابزار تجزیه و تحلیل پویا: این ابزار از نوع پویا هست چون در حالت اجرا انجام می شود. با این حال، با تست پویا متفاوت هست. ابزارهای این دسته برای کشف آنچه در پشت صحنه با کد اتفاق می افتد استفاده می شود. این که آیا کد توسط یک مورد آزمایشی خاص اجرا می شود یا توسط عملیات به درستی استفاده می شود.
ابزارهای مانیتورینگ: ابزارهای این دسته بینشی از جنبه های مختلف سیستم مانند حافظه، CPU در حین اجرای سیستم ارائه می دهند.
ابزارهای مشخصات تست: ابزارهای این دسته معمولاً برای کمک به طراحی موارد تست یا تولید داده های آزمایشی استفاده می شوند

Topsis و AHP
در نهایت، با بررسی همه دسته بندی ها و تاکسونومی ها فقدان یک راه جامع سیستماتیک برای طبقه بندی ابزارهای تست وجود دارد. دیدگاه های زیادی وجود دارد که می توان از آنها برای یک طبقه بندی جامع استفاده کرد.
چارچوب چند معیاره پیشنهادی برای انتخاب ابزارهای تست
این چارچوب برای کمک به انتخاب دقیق از میان تعداد زیادی ابزار تست بر اساس طبقه بندی معیارهای گسترده توسعه یافته است. چارچوب پیشنهادی از دو بخش اصلی تشکیل شده است. (1) دسته بندی آرایه ها یا taxonomy ها ، (2) یک روش انتخاب چند معیاره برای انتخاب ابزار مناسب برای یک نرم افزار خاص. ایده این است که یک سیستم مبتنی بر وب ایجاد کنیم تا این سرویس را به طور خودکار ابزار مناسب را برای توسعه دهندگان / آزمایش کنندگان معرفی کند.
بخش اول که تاکسونومی هست سعی می کند تا حد امکان معیارهای زیادی از ابزارهای آزمایش را در بر گیرد. هدف یک طبقه بندی جامع است که می تواند به کاربران و فروشندگان نیز با روش انتخاب دقیق خودکار کمک کند.
روش انتخاب معرفی شده از دو روش شناخته شده تکنیک های تصمیم گیری چند معیاره استفاده می کند، AHP (فرایند تحلیل سلسله مراتبی) و TOPSIS (تکنیک اولویت سفارش بر اساس شباهت به راه حل ایده آل).

فروز داودزاده
این تحقیق چارچوبی را برای انتخاب ابزارهای تست معرفی می کند. بر اساس نتایج، چارچوب پیشنهادی موفقیت آمیز بود. چارچوب در هر دو بخش، طبقه بندی ابزارهای آزمایش و روش انتخاب، به خوبی ارزیابی می شود. برای بخش اول چارچوب – طبقهبندی ابزارهای تست – کارشناسان نشان دادند که طبقهبندی: (1) مهم و مفید است. (2) جامع؛ (3) به توسعه دهندگان کمک می کند تا بهترین ابزارها را برای تست نرم افزار از میان تعداد زیادی ابزار تست انتخاب کنند. اکثر کارشناسان اشاره کردند که طبقه بندی کمی پیچیده است و این می تواند استفاده از آن را دشوار کند. بخش دوم چارچوب پیشنهادی بر اساس آزمایشات انجام شده موفقیت آمیز بود. ارزیابی با استفاده از پارامترها و سناریوهای مختلف با دقت طراحی و اجرا می شود. روش انتخاب پیشنهادی حتی با موارد پیچیده نیز نتایج خوبی به دست آورد. با تشکر از استفاده از AHP با TOPSIS به عنوان یک روش ترکیبی انتخاب چند معیاره. نتایج دقیق بود و روش همیشه بهترین ابزار با رتبه بالا را انتخاب میکند و همه ابزارها را از بهترین ابزار تا بدترین رتبهبندی میکند. استفاده از چارچوب پیشنهادی به توسعه دهندگان کمک می کند تا بر اساس معیارهای ابزار و نرم افزار، بهترین ابزار تست را برای نرم افزار خود انتخاب کنند. هزینه های فرآیند انتخاب را کاهش می دهد و به مبتدیان در آزمون کمک می کند تا ابزار تست را بر اساس معیارهای علمی و جامع انتخاب کنند. برای کارهای آینده، طبقه بندی را می توان ساده کرد. اعتبار سنجی گسترده ای برای طبقه بندی توسط توسعه دهندگان و دانشگاهیان توصیه می شود. یک مطالعه تجربی توصیه می شود زیرا می تواند تصویر دقیقی از طبقه بندی پیشنهادی ارائه دهد.. جهت خواندن مقالات بیشتر وب سایت فروز را دنبال کنید.

No comment