ارائه یک روش تولید خودکار داده های ورودی برای تست جهش

موضوع : ارائه یک روش تولید خودکار داده های ورودی برای تست جهش رشته : مهندسی فناوری اطلاعات تعداد صفحات :114 چکیده ایده ی اصلی تست جهش بر­اساس استفاده از نقص­ها (faults) برای شبیه سازی خطاهایی است که برنامه نویسان انجام می­دهند. بروز نقص­ها ممکن است در دو سطح یکپارچگی و در سطح واحد اتفاق بیافتد ک

موضوع : ارائه یک روش تولید خودکار داده های ورودی برای تست جهش
رشته : مهندسی فناوری اطلاعات

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

چکیده

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

انجام فرآیند تست جهش هزینه بر است این هزینه­ها به طور کلی از چهار منبع نشات می­گیرند که عبارتند از :1- تولید ورودی­های تست 2- زمان کامپایل کد جهش یافته و کد اصلی 3- اجرا کد جهش یافته و اصلی 4- مقایسه­ی نتایج خروجی برنامه­ی اصلی با برنامه­ی جهش یافته. در این پایان نامه برای کاهش هزینه­ی اول با استفاده از الگوریتم کلونی زنبور تولید داده­های تست را به صورت خودکار انجام دادیم از طرف دیگر از طریق تکنیک­های تزریق بایت کد جاوا هزینه کامپایل را نیز به صفر رساندیم و برای بالا بردن عملکرد سیستم اجرای تست را به صورت موازی انجام داده­ایم.
1-1-1 مقدمه

یکی از چالش­های امروز پروژه­های نرم­افزار، تست است زیرا برخلاف محصولات تولید شده توسط سایر علوم مهندسی، نرم­افزار محصولی غیرقابل لمس است از این جهت برای اطمینان از کیفیت، نیاز به صرف هزینه و وقت بیشتر برای تست آن است. تست در حقیقت یکی از اساسی­ترین روش­ها برای ارزیابی نرم­افزار تحت توسعه است. روش­های سنتی تست نرم­افزار، تنها به یافتن بعضی از خطاها [1]بعد از فاز پیاده­سازی محدود می­شد و از این جهت ریسک وجود خطا در نرم­افزار، بعد از تحویل، افزایش می یافت و حتی وجود خطاها در نرم­افزار گاهی موجب شکست [2]نرم­افزار می­شود اما منشاء بخشی از این خطاها در کجاست؟ منشاء بخشی از این خطاها در نقص­هایی[3] است که برنامه نویسان به طور غیر عمدی و بر اثر بی دقتی وارد کد برنامه می­کنند مانند: کوچکتر از حد نیاز در نظر گرفتن طول یک آرایه، اشتباه در پرانتز گذاری عبارت­ها، استفاده­ی نادرست از عملگرهای دودویی و یکانی و … که در صورت شناسایی محل آن در بسیاری از موارد با ایجاد یک تغییر کوچک در کد برنامه قابل اصلاح است اما در صورت عدم اصلاح وجود یک یا چند نقص در برنامه سبب ایجاد یک وضعیت درونی اشتباه در برنامه ­شود که در برخی از موارد با وارد کردن یک ورودی خاص تحریک شده و ممکن است این وضعیت درونی به یک رفتار بیرونی اشتباه تبدیل شود و حتی در برخی از موارد موجب شکست برنامه شود به عنوان مثال اگر بدن انسان را به یک برنامه­ی کامپیوتری تشبیه کنیم نقص­ها در حقیقت عوامل بیماری زا هستند که در یک بدن سالم وارد می­شوند و آن­ را تحت تصرف خود درمی­آورند، خطاها مانند یک وضعیت درونی غیر عادی در بدن مانند فشار خون بالا، وجود یک نوع باکتری در خون، بی نظمی در نبض بیمار که پزشکان با کنارهم قرار دادن این علائم تلاش می­کنند به علت بیماری پی ببرند، از کار افتادگی­ها در حقیقت علائم درونی هستند که از حالت نهان و درونی خود خارج شده به طوری که توسط بیمار نیز قابل تشخیص و بیان هستند.

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

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

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

1.Errors

2.Failure

[3] Faults



فهرست مطالب

عنوان

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

1-1 مروری بر دغدغه­ های تست نرم ­افزار

1-1-1 مقدمه

1-1-2 بهره گیری از طبیعت

1-1-3 هدف از انجام

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

2-1 تست جهش

2-1-1 تئوری و نظریات

2-1-2 متدلوژی

2-1-3 عملگرها

2-1-4 تکینکهای کاهش هزینه

2-1-5 تولید جهش کمتر

2-1-6 تکنیک­های کاهش هزینه در زمان اجرای برنامه

2-1-7 جهشهای برابر

2-1-8 خودکار سازی تست

2-2 نتیجه­ گیری

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

3-1 شرح روش­های مشابه

3-1-1 روش مبتنی بر CBT

3-1-2 روش اجرای سمبلیک

3-1-3 ترکیب روش اجرای پویای سمبلیک (DSE) با اسکیما

3-1-4 روشهای مبتنی بر جستجو

3-2 شرح ابزار ارائه شده

3-2-1 ابزارهای ارائه شدهی مبتنی بر جاوا

3-2-2 تولید کنندهی جهش­ ها

3-2-3 تولید کنندهی ورودیهای تست

3-2-4 الگوریتم کلونی زنبور

3-2-5 کلاس تولید کننده­ی موارد تست

3-2-6 اجرا کننده­ی تست

3-2-7 دستیاران

3-3 نتیجه­ گیری

4 فصل چهارم

محاسبات و یافته های تحقیق

4-1 تاثیر تعداد نخها در از بین رفتن جهشها

4-2 بررسی اثر تعداد نخها در معیار پوشش

4-3 نتایج بدست آمده از تست سه برنامه

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

6 پیوست

6-1 الگوریتم کلونی مورچه

6-2 K-means

6-3 Agglomerative

6-4 منابع




فایل ورد قابل ویرایش
چطور این فایل رو دانلود کنم؟
برای دانلود فایل کافیه روی دکمه "خرید و دانلود" کلیک کنید تا صفحه "پیش فاکتور خرید" برای شما باز شود و مشخصات (نام و نام خانوادگی ، تماس و ایمیل ) رو با دقت ثبت کنید و روی دکمه "پرداخت آنلاین" کلیک کنید بعد از پرداخت هزینه از طریق سیستم بانکی به سایت برگشت داده میشوید و صفحه دانلود برای شما نمایش داده میشود

آیا فایل رو بلافاصله بعد از خرید تحویل می گیرم؟
بله. بلافاصله بعد از پرداخت آنلاین ، صفحه دانلود فایل برای شما نمایش داده میشود و می توانید فایل خریداری شده را دانلود نمایید

نمی توانم به صورت آنلاین خرید انجام دهم
در صورتی که امکان پرداخت آنلاین برای شما میسر نمی باشد می توانید هزینه فایل را به صورت آفلاین ( کارت به کارت) پرداخت نمایید تا فایل برای شما ارسال شود برای این کار کافیست در پیش فاکتور خرید مراحل خرید آفلاین را دنبال کنید

هزینه رو پرداخت کردم اما نمی توانم فایل را دانلود کنم
در سایت ام پی فایل چند روش پشتیبانی برای راحتی شما در نظر گرفتیم تا با سرعت بیشتری به پیام های شما رسیدگی کنیم. برای دریافت سریع فایل می تونید از گزینه پیگیری پرداخت یا تماس با ما (واقع در منوی بالای سایت) و یا از طریق شماره 09395794439 با ما در ارتباط باشید .

فایل دانلود شده با توضیحات ارائه شده مطابقت ندارد
اگر فایل با توضیحات ارائه شده توسط فروشنده همخوانی ندارد کافیست از طریق قسمت تماس با ما یا شماره 09395794439 با ما در میان بگذارید تا پیگیری های لازم صورت گیرد و فایل اصلی برای شما ارسال شود در صورتی که به هر دلیلی فایل اصلی در دسترس نباشد هزینه پرداختی شما برگشت داده میشود

برای به مشکل نخوردن در زمان خرید چه اقدامی انجام دهم ؟
برای اینکه در زمان پرداخت آنلاین به مشکل برخورد نکنید باید V P N خاموش باشد و از مرورگرهای موزیلا فایرفاکس و کروم استفاده کنید. و ضمنا در صفحه "پیش فاکتور خرید" مشخصات خود را به شکل صحیح وارد کنید تا در پیگیری های بعدی با مشکل مواجه نشوید
42929 فایل های سایت
699 کاربران سایت
41037 فروش موفق
31,603 بازدید امروز
پشتیبانی