دانلود پایان نامه : ارائه یک روش تولید خودکار داده های ورودی برای تست جهش |
2-1-6 تکنیکهای کاهش هزینه در زمان اجرای برنامه.. 29
2-1-7 جهشهای برابر.. 38
2-1-8 خودکار سازی تست….. 43
2-2 نتیجهگیری…. 47
3 فصل سوم روش تحقیق.. 50
3-1 شرح روشهای مشابه.. 51
3-1-1 روش مبتنی بر CBT 51
3-1-2 روش اجرای سمبلیک…… 52
3-1-3 ترکیب روش اجرای پویای سمبلیک (DSE) با اسکیما. 57
3-1-4 روشهای مبتنی بر جستجو.. 59
3-2 شرح ابزار ارائه شده. 60
3-2-1 ابزارهای ارائه شدهی مبتنی بر جاوا 60
3-2-2 تولید کنندهی جهشها. 63
3-2-3 تولید کنندهی ورودیهای تست….. 66
3-2-4 الگوریتم کلونی زنبور.. 67
3-2-5 کلاس تولید کنندهی موارد تست….. 69
3-2-6 اجرا کنندهی تست….. 77
3-2-7 دستیاران… 78
3-3 نتیجهگیری…. 82
4 فصل چهارم. 84
محاسبات و یافته های تحقیق.. 84
4-1 تاثیر تعداد نخها در از بین رفتن جهشها. 85
4-2 بررسی اثر تعداد نخها در معیار پوشش…… 86
4-3 نتایج بدست آمده از تست سه برنامه.. 88
5 فصل پنجم نتیجه گیری و پیشنهادات… 91
6 پیوست… 94
6-1 الگوریتم کلونی مورچه.. 94
6-2 K-means.. 98
6-3 Agglomerative.. 98
6-4 منابع… 99
فهرست جداول
جدول(2‑1): 22 عملگر مُدرا [9] 14
جدول(2‑2): عملگرهای جهش ارائه شده در سطح بین کلاس [10] 18
جدول(2‑3): سه جهش و [15] 24
24
25
. 28
41
… 47
… 54
.. 72
. 88
89
فهرست تصاویر و نمودارها
شکل(2‑1): چارت فرآیند تست جهش… 13
شکل(2‑2): درصد استفادهی مقالات از تکنیکهای کاهش هزینه [2] 21
شکل(2‑3): چهار متغییر مقایسهی جهش ضعیف [23] 32
شکل (2‑4):گراف کنترل جریان برنامهی MID [30] 36
شکل (2‑5): نمایش دامنه قبل و بعد از تقسیم [30] 36
شکل (2‑6): فرآیند MSG [31] 38
شکل (2‑7): ارتباط دامنهی ورودی سه شرط کفایت، ضرورت و دسترسی [29] [34] 43
شکل (3‑1): ساختار Godzilla. 51
شکل(3‑2): نمونهای از اجرای سمبلیک… 54
شکل(3‑3): چهارچوب ارائه شده در مقالهی [40] 58
شکل(3‑4): کلونی مورچه و تست جهش… 59
شکل(3‑5): ماژول تولید کنندهی جهش… 66
شکل (3‑6): ماژول تولید کنندهی ورودیهای تست… 76
شکل(3‑7): گراف کنترل جریان برنامه تشخیص نوع مثلث… 81
شکل(3‑8): مدل روش ارائه شده 83
شکل(4‑1): اثر تعداد نخها در از بین بردن جهش… 86
شکل (4‑2) پوشش مسیرهای تست در گراف CFG. 87
شکل(4‑3): اثر تعداد نخها بر پوشش مسیرهای تست در گراف CFG. 87
شکل(6‑1): شیوه حرکت مورچهگان در هنگام برخورد با مانع. 95
شکل (6‑2) : گراف شهرها و مسیرها 96
1 فصل اول
مقدمه و كلیات تحقیق |
1-1 بر دغدغههای تست نرمافزار
1-1-1 مقدمه
یکی از چالشهای امروز پروژههای نرمافزار، تست است زیرا برخلاف محصولات تولید شده توسط سایر علوم مهندسی، نرمافزار محصولی غیرقابل لمس است از این جهت برای اطمینان از کیفیت، نیاز به صرف هزینه و وقت بیشتر برای تست آن است. تست در حقیقت یکی از اساسیترین روشها برای ارزیابی نرمافزار تحت توسعه است. روشهای سنتی تست نرمافزار، تنها به یافتن بعضی از خطاها [1]بعد از فاز پیادهسازی محدود میشد و از این جهت ریسک وجود خطا در نرمافزار، بعد از تحویل، افزایش می یافت و حتی وجود خطاها در نرمافزار گاهی موجب شکست [2]نرمافزار میشود اما منشاء بخشی از این خطاها در کجاست؟ منشاء بخشی از این خطاها در نقصهایی[3] است که برنامه نویسان به طور غیر عمدی و بر اثر بی دقتی وارد کد برنامه میکنند مانند: کوچکتر از حد نیاز در نظر گرفتن طول یک آرایه، اشتباه در پرانتز گذاری عبارتها، استفادهی نادرست از عملگرهای دودویی و یکانی و … که در صورت شناسایی محل آن در بسیاری از موارد با ایجاد یک تغییر کوچک در کد برنامه قابل اصلاح است اما در صورت عدم اصلاح وجود یک یا چند نقص در برنامه سبب ایجاد یک وضعیت درونی اشتباه در برنامه شود که در برخی از موارد با وارد کردن یک ورودی خاص تحریک شده و ممکن است این وضعیت درونی به یک رفتار بیرونی اشتباه تبدیل شود و حتی در برخی از موارد موجب شکست برنامه شود به عنوان مثال اگر بدن انسان را به یک برنامهی کامپیوتری تشبیه کنیم نقصها در حقیقت عوامل بیماری زا هستند که در یک بدن سالم وارد میشوند و آن را تحت تصرف خود درمیآورند، خطاها مانند یک وضعیت درونی غیر عادی در بدن مانند فشار خون بالا، وجود یک نوع باکتری در خون، بی نظمی در نبض بیمار که پزشکان با کنارهم قرار دادن این علائم تلاش میکنند به علت بیماری پی ببرند، از کار افتادگیها در حقیقت علائم درونی هستند که از حالت نهان و درونی خود خارج شده به طوری که توسط بیمار نیز قابل تشخیص و بیان هستند.
فرم در حال بارگذاری ...
[سه شنبه 1399-10-09] [ 11:28:00 ب.ظ ]
|