بخشی از مقاله

چکیده

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

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

.1 مقدمه

محاسبات ابری سبکی از محاسبه است که در آن منابع به صورت پویا، مقیاسپذیر و اغلب مجازی هستند که به عنوان یک سرویس بر روی اینترنت ارائه میشوند. این نوع از محاسبات، با محاسبات توری، محاسبات ابزار، محاسبات توزیعشده، محاسبات موازی، فنآوری ذخیرهسازی شبکه، مجازیسازی، تعادل بار و غیره ترکیب شده است.

در یک سیستم نرمافزاری محاسبات ابری؛ شش لایه از اجزا وجود دارد که عبارتند از: مشتری، خدمات، نرمافزار، پلتفرم، ذخیره سازی و زیرساختها.

محاسبات ابری، اصطلاحی کلی برای هر چیزی است که شامل ارائهی خدمات میزبانی بر روی اینترنت است. ابر می-تواند خصوصی یا عمومی باشد. یک ابر عمومی، خدمات را به هر کسی در اینترنت به فروش میرساند. یک ابر خصوصی، شبکهای اختصاصی یا یک مرکز داده است که خدمات میزبانی برای تعداد محدودی از افراد را فراهم میآورد. هنگامی که یک ارائهدهندهی خدمات از منابع ابر عمومی، برای ایجاد ابر خصوصی بهره میبرد؛ نتیجهی حاصل، ابر خصوصی مجازی نامیده میشود. هدف از محاسبات ابری، در هر دو حالت خصوصی یا عمومی بودن ابر، فراهم آوردن دسترسی آسان و مقیاسپذیر به منابع محاسباتی و خدمات فناوری اطلاعات است.[1]
اگرچه چندین تعریف برای مدلهای ارائهی خدمات محاسبات ابری وجود دارد، سه مدل به طور گستردهای اتخاذ شده است.

الف- نرمافزار به عنوان یک سرویسٌ - - Saas؛ مدلی است که به صورت ارائهی خدمات و برنامههای نرمافزاری بر روی زیرساخت ابری برای مصرفکنندگان و مشتریان تعریف میگردد. این برنامههای کاربردی از پلتفرمهای مختلف از طریق یک رابط کلاینت با استفاده آسان قابل دسترس هستندSaaS .[2]، شامل برنامهی کاملی است که به صورت یک سرویس بر حسب تقاضا فراهم میگردد؛ یک نمونهی واحد از نرمافزار روی ابر اجرا میشود و به چندین کاربر نهایی یا مشتری سازمانی سرویس میدهد.

ب- بسترهای نرمافزاری به عنوان یک سرویسٌ - - Paas؛ این سرویس در ابر به عنوان مجموعهای از نرمافزارها و ابزارهای توسعه محصول تعریف شدهاست که بر روی زیرساختهای تهیهکنندگان قرار میگیرد. برنامههای کاربردی توسعهدهندگان، از طریق اینترنت برروی بستر نرم افزاری تهیهکنندگان ایجاد خواهند شد. تهیهکنندگان ممکن است از رابطهای برنامههای کاربردی، پرتالهای وب سایت یا دروازه نرمافزاری نصب شده بر روی کامپیوتر مشتریان استفادهکنند. لازم است توسعهدهندگان بدانند که استانداردی برای ایجاد قابلیت همکاری یا انتقال داده در ابر وجود ندارد به طوریکه بعضی تهیهکنندگان اجازه نخواهند داد نرمافزارهای تولید شده بوسیله مشتریان از بستر نرم افزاریشان خارج شود

ج- زیرساخت به عنوان یک سرویسٍ - Iaas - ؛ پایینترین سطح از مدل سرویس در مدلهای تحویل ابر است. IaaS، قابلیتهای محاسباتی و ذخیرهسازی اولیه را به عنوان سرویسهای استاندارد در شبکه ارائه میدهد. سرورها، سیستمهای ذخیرهسازی، سوئیچها، روترها و دیگر سیستمها با همدیگر به عنوان مجموعهای از منابع در دسترس هستند تا بارکاری و دیگر الزامات برنامهی کاربردی که به توان بالایی نیاز دارند را مدیریت کنند. در IaaS، مصرفکنندگان خدمات محاسباتی را به دست میآورند و میتواند سیستم سفارشی پیکربندی شدهی خود را در این منابع به طور بالقوه و به تکرار داشته باشند و زیرساختهای موجود خود را گسترش دهند.

نمودار مفهومی رایانش ابری به شرح زیر است:

شکل - 1 نمودار مفهومی رایانش ابری[

.2 تست نرمافزار

تست، فرآیندی اساسی و پیوسته در توسعهی نرمافزار است. کیفیت و قابل اطمینان بودن نرمافزار تا حد زیادی به تستی که روی آن انجام میشود، بستگی دارد.

تست نرم افزار یکی از بهترین اعمال، برای مهاجرت به محیط ابری بوده است.

رویکردها و روشهای متفاوتی برای تست نرمافزار در دسترس هستند و بر طبق نیاز میتوان از آنها بهره برد. تست نرمافزار، میتواند به عنوان روشی برای مورد آزمون قرار دادن نرمافزار در برابر نقایص تعریف شود. این نقایص، می-توانند عدم مطابقت با نیازهای کاربر، برخی اشکالات منطقی، مسائل مربوط به پیادهسازی یا خطای انسانی را شامل شود.

زمانی که صحبت از تست نرمافزار در حیطهی ابر میشود، اغلب موضوع خودکارسازی انجام تست، مطرح میگردد. تعداد زیادی ابزارهای تست اتوماسیون در بازار وجود دارد که به آدرسهای مختلفی در یک تست چرخهی زندگی نیاز دارد، به عنوان مثال: تولید دادههای آزمون به صورت خودکار، تولید تستکیسَ، اجرا و ارزیابی تست.[2]

.3 تست ابر
تست ابری، شکل جدیدی از تست نرمافزار است که در آن، برنامههای وب از زیرساخت و محیط محاسبات ابری برای شبیهسازی ترافیک کاربران در دنیای واقعی با به کارگیری تکنولوژیها و راهحل های ابری، استفاده میکنند. تست ابری، اساساً در راستای مفهوم ابر و SaaS قرار میگیرد. تست ابری، با استفاده از زیرساختهای ابری مانند سختافزار و پهنای باند، که شرایط و پارامترهای دنیای واقعی را بهتر و به صورت نزدیکتری شبیهسازی میکنند، به آزمون ابر میپردازد.

به عبارت سادهتر تست ابر؛ به درستیسنجی و اعتبارسنجی برنامهها، محیطها و زیرساختهایی که برحسب تقاضا در دسترس قرار داده میشوند، اشاره میکند . تست ابری، به صورت تست به عنوان سرویسٌ - - TaaS تعریف میگردد. TaaS؛ به عنوان مدل جدیدی از کسبوکار و خدمات در نظر گرفته میشود که در آن ارائهدهندهی خدمات ابری، متعهد و ملزم به انجام فعالیتهای تست نرمافزار در خصوص برنامههای مشخصشده در زیرساخت ابری برای مشتریان، میشود. TaaS، میتواند به منظور اعتبارسنجی محصولات مختلفی از سازمانها که با آزمون محصولات و خدمات سروکار دارند و از مدل مجوز مبتنی بر ابر برای مشتریها بهره میبرند، استفاده شود.

تست به عنوان یک سرویس، یک مدل جدید ارائهی قابلیتهای تست به کاربران نهایی است. کاربران در هزینههای تعمیر و نگهداری و ارتقاء صرفهجویی میکنند و ارائهدهندگان خدمات میتوانند خدمات خود را بدون تأثیر بر کاربران نهایی ارتقاء دهند.

هدف از تست ابر، اطمینان یافتن از ارائهی خدمات با کیفیت بالا و همچنین اجتناب از قطع دادهها میباشد که این مسئله نیازمند انجام تست در داخل مراکز داده یا خارج از مراکز داده یا در هر دو حالت است. ذخیرهسازی نامحدود مؤثر، در دسترس بودن سریع زیرساختها با قابلیت مقیاسپذیری، انعطافپذیری و دسترسیپذیری محیط تست توزیعشده، از زمان اجرای تست برنامههای بزرگ، میکاهد. حوزههای جدید تست نرمافزار در محیط ابری، در تقاطع این حوزههای کلیدی چون تست نرمافزار، محاسبات ابری و مهاجرت سیستم قرار میگیرند. مهندسین تست ابر و مدیران تضمین کیفیت، با مسائل و چالشهای زیادی در تست ابرهای مدرن و برنامههای مبتنی بر ابر مواجه هستند.

شکل - 2 محیط تست محاسبات ابری[5]

.3.1 اهمیت تست ابر

در مقایسه با تستهای نرم افزار موجود، تست مبتنی بر ابر، دارای چندین مزیت منحصر به فرد است که عبارتند از: کاهش دادن هزینه ها با بهره گیری از منابع محاسباتی در ابرها به کارگیری مزیت خدمات تست مبتنی بر تقاضا - توسط شخص ثالث - به منظور، اداره اعتبارسنجی آنلاین بلادرنگ مؤثر و مقیاس بزرگ در خصوص نرم افزارهای مبتنی بر اینترنت در ابرها.

بهره گیری آسان از زیرساخت سیستم ابری مقیاسپذیر، به منظور تست و ارزیابی کارآیی و مقیاسپذیری سیستم .

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید