پایان نامه مقطع کارشناسی ارشد رشته فناوری اطلاعات

وزارت علوم، تحقیقات و فناوری

دانشگاه علوم و فنون مازندران

پایان‌نامه مقطع کارشناسی ارشد

رشته: مهندسی فناوری اطلاعات – سیستمهای اطلاعاتی مدیریت

عنوان/موضوع:

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

استاد راهنما:

دکتر حسین مؤمنی

استاد مشاور:

دکتر هادی سلیمی

برای رعایت حریم خصوصی نام نگارنده درج نمی گردد

تکه هایی از متن به عنوان نمونه :

فهرست مطالب:

فصل اول: مقدمه و کلیات پژوهش

1-1- مقدمه…………………….. 2

1-2- اظهار مسئله…………………… 3

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

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

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

1-6- ساختار پایان‌نامه……………………. 4

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

2-1 مقدمه…………………… 7

2-2 طریقه تحول زبان‌ها…………………… 8

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

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

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

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

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

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

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

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

شما می توانید تکه های دیگری از این مطلب را در شماره بندی انتهای صفحه بخوانید              

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

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

2-7-2 انواع آزمون……………………. 25

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

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

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

فصل سوم: روش پژوهش

3-1 مقدمه…………………… 34

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

3-3 معضلات پیش روی آزمون‌نویس‌ها…………………… 35

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

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

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

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

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

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

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

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

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

شما می توانید مطالب مشابه این مطلب را با جستجو در همین سایت بخوانید                     

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

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

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

3-9-2 مطالعه ساختار چهارچوب جب……………………… 47

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

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

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

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

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

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

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

4-1 مقدمه…………………… 58

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

4-2-1 برنامه کاربردی 1: ورود و نظاره نتیجه……………………. 60

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

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

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

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

5-1 نتیجه‌گیری…………………….. 72

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

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

ویژگی‌های گرووی…………………….. 79

قدرت در کد گرووی…………………….. 81

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

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

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

فهرست مراجع ……………………….87

چکیده:

این پایان‌نامه در مورد طراحی و پیاده‌سازی یک زبان خاص دامنه جهت انجام آزمون بار روی برنامه‌های کاربردی تحت وب می باشد. زبان‌های خاص دامنه، زبان‌هایی هستند که برای انجام اموری در حوزه خاص و با هدف سهولت در تولید برنامه‌ها طراحی می شوند. در توسعه هر سیستم نرم‌افزاری، مرحله آزمون نرم‌افزار از جهات مختلف اهمیت بسیار داشته و زمان و هزینه زیادی را تحمیل می کند. برای نرم‌افزارهای تحت وب، آزمون بار از اهمیت ویژه‌ای برخوردار می باشد. هدف از این پایان­نامه، ارائه زبانی می باشد که با بهره گیری از آن بتوان آزمون بار برای برنامه‌های کاربردی تحت وب را با سهولت و سرعت بیشتر و با هزینه و تخصص کمتری انجام داد. در این حوزه، زبان‌های خاص دامنه به مقصود انجام آزمون‌‌های واحد و آزمون‌های کاربردی ارائه‌شده‌اند. هرچند با بهره گیری از بعضی قابلیت‌های این زبان‌ها و ترکیب آن‌ها با امکانات زبان‌های همه منظوره، می‌توان آزمون بار نیز انجام داد، اما نمی‌توان از آن‌ها به عنوان یک زبان خاص دامنه جهت آزمون بار نام برد زیرا کاربران همچنان با بعضی دشواری‌های زبان‌های همه منظوره درگیر هستند؛ به بیانی دیگر زبان خاص دامنه‌ای که تنها مختص آزمون بار باشد، طراحی و یا گزارش نشده می باشد. این پایان‌نامه در واقع پاسخی به این نیاز می باشد. زبان خاص دامنه پیشنهادی بر مبنای زبان گرووی و چارچوب‌های جِب و اسپاک بنانهاده شده و قادر می باشد تمامی سناریوهایی که یک کاربر انسانی در یک صفحه وب انجام می­دهد را پشتیبانی نماید. در این زبان کاربر می‌تواند مشخص کند که برنامه کاربردی مورد نظر وی، با چه تعداد کاربر به صورت همزمان مورد آزمون قرار گیرد. همچنین امکان ذخیره خروجی و نتایج آزمون به قالب‌هایی مانند 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]

***ممکن می باشد هنگام انتقال از فایل اصلی به داخل سایت بعضی متون به هم بریزد یا بعضی نمادها و اشکال درج نشود اما در فایل دانلودی همه چیز مرتب و کامل و با فرمت ورد موجود می باشد***

متن کامل را می توانید دانلود نمائید

زیرا فقط تکه هایی از متن پایان نامه در این صفحه درج شده (به گونه نمونه)

اما در فایل دانلودی متن کامل پایان نامه

 با فرمت ورد word که قابل ویرایش و کپی کردن می باشند

موجود می باشد

تعداد صفحه : 103

قیمت : چهارده هزار و هفتصد تومان