دریافت فایل دانلود فایل ورد Word پروژه طراحی و پیاده‌سازی یک زبان خاص دامنه برای آزمون نرم‌افزار

تعداد صفحات : 103 چکیده: این تحقیقدر مورد طراحی و پیادهسازی یک زبان خاص دامنه جهت انجام آزمون بار روی برنامههای کاربردی تحت وب است. زبانهای خاص دامنه، زبانهایی دانلود فایل ورد Word پروژه طراحی و پیاده‌سازی یک زبان خاص دامنه برای آزمون نرم‌افزار|41018352|daryanakhoda|دانلود فایل ورد Word پروژه طراحی و پیاده‌سازی یک زبان خاص دامنه برای آزمون نرم‌افزار,پروژه طراحی و پیاده‌سازی یک زبان خاص دامنه برای آزمون نرم‌افزار,طراحی و پیاده‌سازی یک زبان خاص دامنه برای آزمون نرم‌افزار
مشخصات فایل مورد نظر در مورد دانلود فایل ورد Word پروژه طراحی و پیاده‌سازی یک زبان خاص دامنه برای آزمون نرم‌افزار آماده دریافت می باشد برای مشاهده جزئیات فایل به ادامه مطلب یا دریافت فایل بروید.

تعداد صفحات : 103

چکیده:

این تحقیقدر مورد طراحی و پیاده‌سازی یک زبان خاص دامنه جهت انجام آزمون بار روی برنامه‌های کاربردی تحت وب است. زبان‌های خاص دامنه، زبان‌هایی هستند که برای انجام اموری در حوزه خاص و با هدف سهولت در تولید برنامه‌ها طراحی می‌شوند. در توسعه هر سیستم نرم‌افزاری، مرحله آزمون نرم‌افزار از جهات مختلف اهمیت بسیار داشته و زمان و هزینه زیادی را تحمیل می‌کند. برای نرم‌افزارهای تحت وب، آزمون بار از اهمیت ویژه‌ای برخوردار است. هدف از این تحقیق ، ارائه زبانی است که با استفاده از آن بتوان آزمون بار برای برنامه‌های کاربردی تحت وب را با سهولت و سرعت بیشتر و با هزینه و تخصص کمتری انجام داد. در این حوزه، زبان‌های خاص دامنه به منظور انجام آزمون‌‌های واحد و آزمون‌های کاربردی ارائه‌شده‌اند. هرچند با استفاده از برخی قابلیت‌های این زبان‌ها و ترکیب آن‌ها با امکانات زبان‌های همه منظوره، می‌توان آزمون بار نیز انجام داد، اما نمی‌توان از آن‌ها به عنوان یک زبان خاص دامنه جهت آزمون بار نام برد زیرا کاربران همچنان با برخی دشواری‌های زبان‌های همه منظوره درگیر هستند؛ به عبارت دیگر زبان خاص دامنه‌ای که تنها مختص آزمون بار باشد، طراحی و یا گزارش نشده است. این تحقیق در واقع پاسخی به این نیاز است. زبان خاص دامنه پیشنهادی بر مبنای زبان گرووی و چارچوب‌های جِب و اسپاک بنانهاده شده و قادر است تمامی سناریوهایی که یک کاربر انسانی در یک صفحه وب انجام می­دهد را پشتیبانی نماید. در این زبان کاربر می‌تواند مشخص کند که برنامه کاربردی مورد نظر وی، با چه تعداد کاربر به صورت همزمان مورد آزمون قرار گیرد. همچنین امکان ذخیره خروجی و نتایج آزمون به قالب‌هایی مانندXML،XLS،CSVوTXTدر نظر گرفته‌شده تا نتایج به راحتی در نرم‌افزارهای تحلیلی و آماری مورد استفاده باشد. در این تحقیق برای دو برنامه کاربردی تحت وب که سناریوهای متداولی هستند، دو آزمون بار انجام‌شده تا صحت عملکرد زبان در انجام آزمون بار مشخص شود. بر اساس این آزمون­ها، زبان خاص دامنه پیشنهادی زمان ایجاد یک آزمون بار را به طور تقریبی تا 40 برابر برای زبان‌های سطح بالایی چونJavaوC#کاهش می‌دهد. این میزان کاهش برای زبان سطح پایین‌تری چونC++تا 80 برابر نیز می‌رسد. از نظر کد نویسی نیز استفاده از زبان خاص دامنه پیشنهادی برای زبان‌های سطح بالای مذکور تا 6 برابر و برای زبان سطح پایینی چونC++،10تا 12 برابر حجم کد نویسی را کاهش می‌دهد.

فصل اول: مقدمه و کلیات تحقیق

1-1-مقدمه

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

چارچوب‌های متعددی وجود دارند که کار و تعامل با برنامه‌های کاربردی وب را ساده‌تر ساخته و به خودکارسازی آزمون آن‌ها می‌پردازند که نمونه­هایی از آن­ها عبارتند از جب[1]، کانو[2]، گردل[3]و… که با زبان گرووی[4]طراحی‌شده‌اند چرا که زبان گرووی از جهات مختلفی که در فصل‌های آتی ذکر خواهد شد، مناسب‌تر از هر زبان دیگری برای انجام این کار است. بر خلاف گذشته که فقط آزمون واحد برای برنامه‌های کاربردی وب انجام می‌شد، این چارچوب‌ها زمینه‌ی ایجاد آزمون عملکردی را نیز فراهم می­کنند. از آنجا که آزمون برنامه‌های کاربردی وب با این چارچوب‌ها ساده‌تر انجام می‌گیرد و در بین آن‌ها محیط جب با دیگر چارچوب‌ها و تمام مرورگرها سازگار است، از آن استفاده شده است تا زبانی برای آزمون بار در برنامه‌های کاربردی وب طراحی شود.

1-2-بیان مسئله

اهمیت آزمون نرم‌افزار و اثرات آن بر کیفیت نرم‌افزار کاملاً واضح است. نوشتن آزمون‌ها کاری گران‌قیمت، خواندن آن‌ها مشقت‌بار و نگهداری‌شان بسیار دشوار است. برای کار با این حوزه به تخصص بالایی نیاز است به همین دلیل این تفکر به وجود آمده است که برای دامنه‌ی آزمون نرم‌افزار، زبانی طراحی شود تا آزمون‌ها با تمرکز و تخصص بیشتری انجام گیرند. آزمون عملکردی برنامه‌های کاربردی وب به طور موثر، همواره یک چالش بوده است چرا که با وجود دشواری که در مسیر نوشتن و آزمون این برنامه‌ها وجود دارد اما باز هم تا کنون فقط آزمون واحد به صورت سنتی برای وب وجود داشته است .[1] برخی از اشکالات اساسی در یک برنامه وب، مواردی هستند که یک آزمون واحد هیچ راهی برای بررسی آن‌ها ندارد.

متأسفانه، تحقیقات انجام‌شده نشان می‌دهد که استفاده از ابزارها برای نوشتن و اجرای آزمون عملکردی دست و پاگیر هستند. تفاوت‌های موجود در مرورگرها و محیط‌ها باعث شده است که اجرای آزمون‌ها توسط توسعه‌دهندگان بر روی رایانه‌های مختلف تبدیل به یک چالش شود و یا اینکه اجرای آن عملی نباشد. همچنین نشان‌دهنده‌ی این است که حتی پس از سرمایه­گذاری زمان و تلاش برای نوشتن آزمون عملکردی، آن‌ها تمایل دارند که بسیار شکننده باشند و همچنین فهم آن‌ها برای توسعه‌دهندگان دیگر مشکل است. در این تحقیق از جب که تمامی این موارد را تغییر داده و محیطی ساده فراهم آورده است تا بتوان با برنامه‌های کاربردی وب به سادگی تعامل برقرار کرد، استفاده شده است تا یکی از این چالش­ها برطرف شده و با طراحی یک زبان خاص دامنه، آزمون عملکردی برای حوزه‌ی آزمون بار وب‌سایت صورت پذیرد تا بتوان برنامه‌های کاربردی وب را باکیفیت بالاتر عرضه داشت.

1-3-مشکل طراحی زبان خاص دامنه برای آزمون بار

این که جب یک چهارچوب مناسب جهت ارتباط با صفحات وب و کار با آن‌ها است و به ما اجازه می‌دهد که بتوان از طریق یک رابط برنامه‌نویسی، در قالب یک زبان خاص دامنه، با تمامی تگ‌های صفحه وب مورد نظر ارتباط برقرار کنیم، به تنهایی برای آن چه که ما به دنبال آن هستیم کافی نخواهد بود. طراحی و اجرای یک آزمون عملکرد، به خصوص در مورد این تحقیق که هدفش آزمون بار بر روی یک نرم‌افزار وب است، بسیار فراتر از کار با تگ‌های یک صفحه و ساخت درخواست‌هایGETوPOSTپروتکلHTTPاست. اندازه‌گیری زمان اجرا، اندازه‌گیری میزان اطلاعات جا به جا شده و همین طور بررسی پاسخ‌هایHTTPبازگشتی از سرویس‌دهنده وب، خود از مواردی هستند که یک چهارچوب آزمون بار، نیازمند اندازه‌گیری آن‌ها و گزارش دهی در مورد آن‌ها است.

1-4-روش مقابله با مشکل طراحی

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

1-5-حوزه پیشنهادی مسئله

آزمون بار می­تواند در حوزه­های مختلف برای یک وب‌سایت صورت پذیرد. یکی از این حوزه­ها میزان پاسخ­دهی سرویس‌دهنده‌ی وب می­باشد که نتیجه­ی آن تعداد پاسخ­ها در واحد زمان است. نوع دیگر آزمون بار می­تواند نرخ اطلاعات فرستاده‌شده و دریافت شده در درخواست­های مختلف وب باشد به طوری که بتوان در نهایت گفت که یک صفحه­ی خاص با چه سرعتی به ما خدمت رسانی می­کند. همچنین می­تواند شامل آزمون قابلیت اطمینان باشد به طوری که در نهایت به ما می­گوید که یک صفحه خاص یا یک عملکرد خاص با چه شرایطی قابل‌اطمینان است.

در آزمون عملکردی یک تابع، برنامه‌ی کاربردی مورد آزمون قرار می­گیرد و معمولاً کلاس‌های متعددی درگیر آن می‌شوند ولی در آزمون واحد یک متد روی یک کلاس آزموده می‌شود و یا اینکه به طور معمول یک آزمون واحد معادل یک آزمون کلاس است.

1-6-ساختار تحقیق

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

Geb[1]

Canoo[2]

Gradle[3]

Groovy[4]

فهرست مطالب:

فصل اول: مقدمه و کلیات تحقیق

1-1-مقدمه

1-2-بیان مسئله

1-3-مشکل طراحی زبان خاص دامنه برای آزمون بار

1-4-روش مقابله با مشکل طراحی

1-5-حوزه پیشنهادی مسئله

1-6-ساختار تحقیق

فصل دوم: ادبیات و پیشینه تحقیق

2-1مقدمه

2-2روند تحول زبان‌ها

2-2-1زبان‌های همه منظوره

2-2-2صفحه گسترده‌ها و زبان‌های نسل چهارم

2-2-3برنامه‌نویسی زبان گرا

2-4برنامه در برنامه‌نویسی زبان گرا

2-5زبان‌های خاص دامنه

2-5-1طراحی و پیاده‌سازی زبان خاص دامنه

2-5-2انواع زبان‌های خاص دامنه

2-6گرووی، زبان میزبان

2-7آزمون نرم‌افزار

2-7-1اهداف آزمون

2-7-2انواع آزمون

2-7-2-1آزمون جعبه سفید

2-7-2-2آزمون جعبه سیاه

2-8کارهای مرتبط

فصل سوم: روش تحقیق

3-1مقدمه

3-2آزمون نرم‌افزار

3-3مشکلات پیش روی آزمون‌نویس‌ها

3-4زبان خاص دامنه برای آزمون دامنه

3-4-1نیاز به وجود یک زبان خاص دامنه برای دامنه آزمون بار

3-5آزمون نرم‌افزارهای تحت وب

3-5-1آزمون‌های سمت مشتری

3-6معماری سیستم پیشنهادی

3-7پارامترهای مؤثر در آزمون بار

3-7-1پارامترهای زمانی

3-7-2پارامترهای مشخص‌کننده رخداد خطا در برنامه

3-8چارچوب‌های مورد استفاده جهت آزمون نرم‌افزارهای تحت وب

3-9طرح پیشنهادی

3-9-1تعریف آزمون بار

3-9-1-1فرآیندهای مورد نیاز برای آزمون بار

3-9-2بررسی ساختار چهارچوب جب

3-9-3نحو زبان خاص دامنه پیشنهادی

3-9-3-1ساختار کلی هر آزمون بار در زبان خاص دامنه پیشنهادی

3-9-3-1-1انتخابگرها

3-9-3-1-2رخدادها

3-9-3-1-3ایجاد رخدادها

3-9-3-1-4بارگذاری اطلاعات از فایل

فصل چهارم: محاسبات و یافته ­های تحقیق

4-1مقدمه

4-2آزمون زبان خاص دامنه پیشنهادی

4-2-1برنامه کاربردی 1: ورود و مشاهده نتیجه

4-2-2برنامه کاربردی 2: ثبت‌نام در سایت

4-3دستاورد زبان خاص دامنه پیشنهادی

4-4کاستی‌هایDSLپیشنهادی

فصل پنجم : نتیجه­گیری و پیشنهادات

5-1نتیجه‌گیری

5-2کارهای آینده

پیوست الف: معرفی زبان گرووی

ویژگی‌های گرووی

قدرت در کد گرووی

محیط توسعه یکپارچه گرووی و پشتیبانی ویرایشگر

پیوست ب: واژه‌نامه فارسی به انگلیسی

پیوست ج: واژه‌نامه انگلیسی به فارسی

فهرست مراجع

تعداد صفحات : 103