Software testing1. افغانستان اسالمی جمهوری
عالی تحصیالت وزارت
بلخ دانشگاه
ساینس کامپیوتر دانشکده
افزار نرم دیپارتمنت
Software Testing:
Comparison between white box testing and black box testing and traditional testing
methods
""دانیال علی سید
آخر سمستر چهارم صنف
دیپارتمنتانجینریا نرمفزار
بلخ دانشگاه
توسط شده ایجاد
استادنثاراحمد""نوری
استادرهنما
دیپارتمنتسیستماطالعاتی پایگاهای
بلخ دانشگاه
رهنما استاد
4102 پاییز
2. i
APPROVAL
It is approved that ………….. S/o ………….. Enrollment no ………… has
successfully completed his final thesis/project as a partial fulfillment for his/her bachelor
degree in computer science from the said department.
Graduate Studies Committee
___________________________
Name
(Convener)
_______________ _______________
Name Name
(Supervisor) (Member)
______________ _______________
Name Name
(Member) (Member)
Department of software engineering
Balkh University
4. iii
1.1White Box Testing.............................................................................................................16
1.1.2مزایایتستجعبهسفید......................................................................................................16
1.1.1معایبتستجعبهسفید.......................................................................................................17
1.1.1Basis Path Testing......................................................................................................17
1.1.1.2گرافجریان.............................................................................................................17
1.1.1.1پیچیدگیدورانی.........................................................................................................21
1.1.1Condition / Branch Testing.......................................................................................21
1.1.1Loop Testing...............................................................................................................23
1.1Differences Between Black Box Testing and White Box Testing...................................24
1.1خالصهفصل.........................................................................................................................25
فصلسوم....................................................................................................................................27
1.2Testing Levels..................................................................................................................27
1.1Unit Testing......................................................................................................................27
3.2.1تفاوتUnit TestingباDebugging................................................................................28
1.1Integration Testing............................................................................................................28
1.1.2مجتمعسازی(integrating testing)باالبهپایین..................................................................29
1.1.1مجتمعسازی(integrating testing)ازپایینبهباال.............................................................29
1.1Regression Testing........................................................................................................31
1.1Acceptance testing.............................................................................................................31
1.1.2تستمحیطتولید(α-test)..................................................................................................31
1.1.1تستمحیطمصرف(β- test).............................................................................................31
1.1System Testing..................................................................................................................31
1.1تستاحیاRecovery...............................................................................................................31
1.1تستامنیتSecurity.............................................................................................................31
1.1تستفشارStress..................................................................................................................31
1.21تستبارLoad.....................................................................................................................31
1.22ازنظرکاراییPerformance................................................................................................32
خالصهفصل................................................................................................................................32
فصلچهارم.................................................................................................................................35
1.2Other Testing....................................................................................................................35
1.1Gray Box Testing..............................................................................................................35
1.1.2مزایایGray Box Testing..............................................................................................36
1.1.1معایبGray Box Testing...............................................................................................36
5. iv
1.1Installing Testing...............................................................................................................36
1.1Smoke and sanity testing...................................................................................................37
1.1.2مزیتهایآزموندود........................................................................................................38
1.1.1sanity testing...............................................................................................................38
1.1Test Driven Development.................................................................................................38
1.1.2مراحلکاریTDD.........................................................................................................41
فصلپنجم....................................................................................................................................43
5.1ابزارهایتستخودکارنرمافزار................................................................................................43
1.1xUnit..................................................................................................................................44
1.1EMMA..............................................................................................................................45
1.1iMacros..............................................................................................................................46
1.1HP LoadRunner................................................................................................................46
1.1HP WinRunner..................................................................................................................47
1.1Selenium............................................................................................................................47
1.1NUnit.................................................................................................................................48
نتیجهگیری..................................................................................................................................51
حرفآخر....................................................................................................................................51
کلماتکلیدی.................................................................................................................................52
منابعمأخذ....................................................................................................................................54
7. vi
نامه سپاس
ع به کسی انسان زندگی از مرحله هر درنوانپشتیبانباعث که دارد وجود کننده حمایت وپیشرفتاز هم بنده .میشود
قاعده اینمستثنیعنوان به کسی زندگیم از مرحله هر در و ام نبودهپشتیبان.است بوده
درمرحلهخود خلیفه زمین روی بر را انسان و است هستی جهان خالق او .کنم گذاری سپاس بزرگ خداوند از باید اول
دا قرار.ببریم پیش را خود زندگی که توانستیم او به توکل با و داز یکی به را من که دلیل این به گذارم سپاس را خداوند
خوبی بنده من که چند هر .باشم جامعه این در کرده تحصیل فرد یک عنوان به که توانستم و رساند آرزوهایم بزرگترین
.ام نبوده او برای
خانوا از باید دوم مرحله دراند کرده همراهی همیشه ، داشتی چشم هیچ بدون خود دائمی های حمایت با مرا که خوبم ده
را زیادی های سختی که میبوسم دور راه همین از را مادرم دست آنها بین از و اند کرده فراهم مرا تحصیل زمینه و
.اند بوده من برای پدر مانند که خوبم برادران همچنان .است کشیده من برای
تک دست جا همین از هستند زیاد اند رسانده مرحله این به را من که کسانیشان تکاستاد از خصوص به .میبوسم را
از بعد و داد نجات گمراهی از را من و آموخت من به را نوشتن و خواندن بار اولین که مکتبم اول صنف معلم کوکبی
و استادان تمام از آنمعلمانوصف بی تالشهای با کهصنف تا توانستم آنها21که کنم سپری راتعدادشاناما است زیاد
.میدارم عرض را خود احترام آنها به شان همه جا همین از
آمادگی دوره محترم استادانکنکوربدیل بی سعی با کهآزمون در توانستم شانکنکورنیک نظر با و برسم موفقیت به
انتخاب اولین جزء را رشته این آنهاهای.بدهم قرار م
بوده من مشوق و حامی نیز بلخ دانشگاه ساینس کمپیوتر دانشکده گرامی نهایت استادان هم دانشگاه ساله چهار دوران در
را آنها های نیکی از ای زره بتوانم کاش .میدانم آنها احسان مدیون را خودم حال و گرفتم یاد چیزها خیلی آنها از .اند
.کنم جبران
هم از اخیر درآنها همه با من معاشرت آداب و فرهنگ اینکه با .اند داده جا خود بین در را من که خوبم های صنفی ه
.اند بوده تحصیل سال چهار این در من اصلی مشوقین مانند به آنها .کردند تحمل را من ولی داشت فرق
دانیال علی سید
پاییز2111
8. vii
"را مشتری که است افزاری نرم خوب افزار نرمدر که نیازمندیهای تمام که شد خواهد خوشحال مشتری زمانی و کند خوشحال
شود برآورده دارد نظر"
چکیده
Programming is creative process done by programmers to instruct a computer on how to do.1
[1]
نویس برنامهیبی باعث که است کمپیوتر های بخش مهمترین از یکی کمپیوترعبارت به . است شده علم این رشد شترین
.نمیرسید حد این به و نمیکرد رشد حد این تا بود می نویسی برنامه بدون را علم این اگر که گفت میتوان دیگربرنامه
است رسیده آسانی به مختلف روشهای ایجاد با روز هر که است علم این های بخش ترین مشکل از یکی کمپیوتر نویسی
از یکی .باعث که میباشد آن در خطاها یافتن نویسی برنامه فرد به منحصر نویسی برنامه های بخشپیشرفتروز
.است شده آن افزون
" نام به بود انگلیس اهل خانم یک کرد نویسی برنامه به شروع که کسی اولینلووالس آدا"2
"بایج "چالز با که3
روی بر
نام به دستگاهیآنالیتیکی موتورمیک کارسال از آنها .ردند2111کردند آغاز را همکاری هم با.برنامه اولین عنوان به او
در او کار .کرد نامگذاری او نام با را ساخت که برنامه اولین او افتخار به امریکا دفاع وزارت و است معروف جهان نویس
او . شد استفاده شد ساخته او از بعد قرن یک که الکترونیکی کمپیوتر اولینسن در73.درگذشت سرطان علت به سالگی[2]
بررسی مورد نویسی برنامه در خطاها یافتن های روش انواع که است شده آن بر سعی داریم رو پیش که تحقیقی این در
.برسد خود نهایی هدف به برنامه همان آنها یافتن با یا و شکست به برنامه یک که میشود باعث خطاها این .بگیرد قرار
خطاهبرنامه آن در که کدها داخل از یکی کرد پیدا منظر دو از را آنها میتوان که دارد مختلف انواع نویس برنامه ای
برنامه کاربران یا مشتری خطاها نوع این کردن پیدا در بیشتر که خارجی زوایه از هم یکی و میکند آفرینی نقش نویس
.میکنند ایفا نقش
Software testing is an investigation conducted to provide stakeholders with information about
the quality of the product or service under test.4
[3]
شود بررسی و بگیرد قرار استفاده مورد شود کار بازار وارد اینکه از قبل را برنامه که است معنا این به برنامه تست
است شده ساخته که ای برنامه کهآن برای که هدفی میتواند آیاتعییننه؟ یا کند دنبال را است شده
که میشود شامل را مختلف های دستگاه برای که هایی برنامه همه که است نظر مورد برنامه کلی حالت تحقیق این در
اعم کمپیوتری های برنامه شامل ها افزار سخت اینسیستم ازبرنامه ،کاربردی های برنامه ،ها عامل،کمکی های
بازیهای برنامه مانند به که میشود ساخته ها موبایل برای هایی برنامه .میباشد کمپیوتر دیگری های برنامه و ها
هایی برنامه و ها سایت مانند میکنند کار کمپیوتر از خارج که هایی برنامه .است مختلف های بخش دارای کامپیوتری
مجازی فضای در کهاینترنتمیکنند کار.میکنند کار مشخص های افزار سخت در که هایی برنامه دیگر و
1
David Bolton
2
Ada Lovelace
3
Chalz Baeej
4
Cem a b kaner
9. viii
بررسی یعنی ساختاری حالت به .داد قرار تست مورد میتوان مختلف های حالت به را ها برنامه اینمتدکالس و ها
کار حالت به .است شده برده کار به آن در که هایینوی برنامه نظر مورد هدف که بردیبر مورد را کاربر و سرسی
.میدهد قرار
" سر بر بحث اینجا در کلی حالت به(سفید جعبه بررسیWhite Box Testingسیاه جعبه و )(Black Box
Testing)کردن تست های روش دیگر با آنها فرق و ها برنامه تست در.گیرد می قرار بحث مورد "
ب تست برای روشها ترین اساسی میگیریم بحث به اینجا در که هایی روشتست و .است شمول همه که میباشد ها رنامه
سازمان در ها روش این .میکنند استفاده ها روش این از بیشتر ها کنندهISOبرای سازمان این و میباشند شناسه دارای
استاندار آنداستاندارد .است شده قایل هم هاییسازمان که هاییISOاست شده باعث است گرفته نظر در تست برای
تست که( مفهوم دارای و تر منطقی کردنConceptو تر آسان صورت به خطاها و شود مشخص )تر هدفمندپیدا
.شوند
انگلیسی متون درک توانایی کشورمان نویسان برنامه از خیلی که دلیل این به است شده نوشته فارسی زبان به مقاله این
نی آنها برای خوبی منبع مقاله این بنابراین .ندارند رااول وهله در دیگر های زبان یا و انگلیسی متون درک .میباشد ز
.است دری فارسی ما مادری زبان چون .میگیرد را زیادی وقت اینکه دوم و است مشکل
10. ix
مقاله نگارش نحوه
است جدید تکنولوژی علوم که همانطوری است جدید علم یک افزار نرم تستاین از مقاالتی و کتابها علت همین به .
دسمنابع نبود بنابر نداریم خود شهر در زمینه این در متخصصی یک هیچ همچنین و ندارد وجود ما کشور در ت
فیزیکیشده نوشته جهان سرتاسر در زمینه این در که علمی مقاالت و انترنتی منابع توسط را خود مشکل مقاله این
.کند حل است
دو به است شده استفاده مقاله این در که منابعیاست نوع
اند داشته را مطلبی زمینه این در که هایی وبالگ و ها سایت
.است شده نگاشته مختلف سطوح دانشجویان توسط که علمی مقاالت
مسئله بیان
به افزار نرم کننده تولید های شرکت و ها سازمان های هزینه از زیادی مقدار ساالنه که میشود شروع آنجا از مشکل
ا نرم اینکه دلیلاستاندار دارای شده ایجاد فزارددارد وجود آن در بزرگی مشکل اینکه یا و است ضعیف هایآن ولی
نمیشود پیدا یا شود نمی رفع مشکلکه ها هزینه این .میشود صرف نیست مشتری خواسته بر منطبق اینکه یا ومقدار
شانا برای .کند می وارد خسارت ها سازمان و ها شرکت این بر است زیادکاسته اضافی های هزینه اتالف از ینکه
نیاز شودمبرم.است واقعی فضای در آن اجرای از قبل آن تست بر
اوقات گاهی و است زیادی هزینه دارای اینکه با افزار نرم تستآن های هزینهولی میشود زیادتر هم افزار نرم تولید از
ثبات باعث کیفیت تضمین .میکند تضمین را آن کیفیتک ویفیتافزار نرم درنرم .میشودتست توسط که افزارهایی
ایجادخود نهایی هدف به معموال میشوند.اند رسیده
مقاله سوال
.میشود داده جواب آمد می پیش نویسی برنامه حین در خودم برای که سوالی سه دارید رو پیش که ای مقاله این در
2.کیف و تولید بر میتواند افزار نرم تست آیا؟ باشد داشته ارتباط افزار نرم یک یت
1.داد؟ انجام کمتری هزینه با میتوان را افزار نرم تست آیا
1.افزار نرم توسعه برای است معقولی روش افزار نرم تست آیانه یا؟
11. x
مقاله این ضرورت و اهمیت
شدید عالقه و ام خوانده درس ساینس کمپیوتر دانشکده در که کسانی از یکی عنوان به منام داشته نویسی برنامه به
این که میکردم برخورد مشکل به ساده های برنامه ساختن و نویسی کد بخش در همیشهمیگشت برمقوله از اینکه به
.کنم ارائه خود تحقیقی نامه پایان عنوان به را مقاله این که دانستم الزم دلیل این به ام نداشته آگاهی افزار نرم تست
که هم ما کشور درنویسان برنامهجدیداکه دلیل این به .است مهم بسیار بحث این اند کرده افزار نرم تولید به شروع
افزار نرم تست از درک بدون بیشترشان ما نویسان برنامهآن توسعه مراحل وکه میکنند نویسی برنامه به شروع
اس های راه که است شده سعی اینجا در .میشوند واقع شکست به بیشترشانو کنیم معرفی را افزار نرم تست برای تاندار
مفید کشورمان نویس برنامه جامعه برای و دارد کمتری های هزینه که کنیم می معرفی هم را افزارهایی نرم همچنین
.میشود واقع
شر آن از قبل و نویسی برنامه شروع ابتدای از که میباشد افزار نرم تولید مراحل ترین اساسی افزار نرم تستمیشود وع
به افزار نرم دهی تحویل از بعد معموال .میشود مشتری توسط که است آن تست هم افزار نرم تولید مرحله آخرین و
تا مشتری1نویسان برنامه دلیل این به .میباشد افزار نرم خطاهای و مشکالت پاسخگوی نویس برنامه سال یک یا ماه
.کنند فراموش نباید را نکته این کشورمان
اچرا که میکنند برخورد مشکل این به همیشه هستند نویس برنامه راه ابتدای که کمپیوتر رشته دانشجویان گذشته آن ز
ای برنامهکهاین خواندن با میتوانند هم آنها .دارند مشکل نویسی برنامه در چرا اینکه یا و نمیکند کار درست اند نوشته
ا و کنند یابی ریشه را خود مشکالت مقالهبه شروع ساده های برنامه ساختن شروع ابتدای زیابی خطاجزء که کنند
شان عادت.باشند نداشته مشکلی میشوند نویس برنامه که آینده در تا شود
مقاله اهداف
-یک اینکه یا و باشد کوچک افزارها نرم این چه .بکند خود افزارهای نرم تست به ترغیب را نویسان برنامه
ب بزرگ افزار نرم.اشد
-.کند بیان ساده زبان با را افزار نرم تست
-کند بیان نویسی برنامه در را افزار نرم تست های ویژگی و اهمیت
-با اضافی های هزینه این .دهد آگاهی میشود افزار نرم تست از استفاده عدم اثر در که اضافی های هزینه از
)شدن (خرابRuinous.است توام افزار نرم شدن
فرضیات
-تبرنامه جامعه بین در هنوز آن اهمیت که میباشد افزار نرم توسعه نشدنی جدا اجزای از یکی افزار نرم ست
.است نشده معلوم ما کشور نویسی
-یاد را نویسی برنامه که دارند عالقه یا و دارند یاد را نویسی برنامه میخوانند را مقاله این که کسانی تمام
و بگیرندافزار نرم تست اهمیتافزار نرم تست اهمیت از مقاله این خواندن با .اند نکرده درک خوبی به
.میکنند پیدا آگاهی
12. xi
مفهومی تعاریف
میشود شده تولید افزار نرم در مشکل کردن پیدا باعث که عملیاتی مجموعه :افزار نرم تست
تمام به کننده تست آن در که تستی : سفید جعبه تستبرنام مختلف های بخش و کدهادست هدارد رسی
کارکرد فقط و ندارد اطالعی برنامه کدهای و محتویات از کننده تست آن در که تستی : سیاه جعبه تست
است مهم برایش افزار نرم
ولی دارد دسترسی افزار نرم محتویات های قسمت بعضی به کننده تست آن در که تستی : خاکستری تست
.نه کامل صورت بها ترکیبی تست نوع ایناست سیاه جعبه و سفید جعبه تست ز
نرم کیفیت حقیقت در شخص این .میکند ریزی برنامه را برنامه تست پروسه که است کسی : کننده تست
.میکند رد یا تایید را افزار
.میکند نویسی کد و دیزاین را افزار نرم که است کسی :نویس برنامه
برنام زمان در نویس برنامه که کوچکی مشکل : خطا.میکند رفع را آن نویس ه
: افزار نرم بینی باز و سنجی اعتبارمی گفته فرآیندی بهاعمال آن طی در یا و تولید از پس که شود
میشود حاصل اطمینان نظر مورد سیستم کارآیی و صحت از تا گردد.
مجازی فضای در را تست مراحل که میشود گفته افزارهایی نرم به : تست خودکار ابزارهایانجام
.میکند استفاده آن از کننده تست که هستند ابزارهایی آنها .میدهند
xUnit.افزارها نرم خودکار تست افزارهای نرم از ای خانواده :
13. .است آنها تست بودن ضعیف دلیل به افزارها نرم در موجود مشکالت
فصلاول
کلیدی نکات
14. 2
اول فصل
1.1چیست افزار نرم کیفیت(Software Quality)؟
توسعهکاربردی افزارهای نرمهرروزمیشود زیادواهمیتاصول و ها روش بکارگیریانجینریدر افزار نرم
بیشتر آنها پشتیبانی و مدیریت ، توسعه مراحلشود میافزار نرم کیفیت .(Software Quality)زیادی اهمیتبرای
کیفیت با های افزار نرم تولیدداردبر باال ضمن کهدنکارایینرم ایجاد به ، ها افزار نرم تولید درقدرتمند های افزار
می منجرشود.سلسله به افزار نرم کیفیتمراحلیبرای که میشود گفتهشدن بهتر.میشود انجام افزار نرم کاراییکیفیت
ن کیفیت .میباشد افزار نرم کاربران و خریداران های اولویت ترین مهم از یکی افزار نرمهای بخش شامل افزار رم
های بخش از یکی هم افزار نرم تست .بگذارد مستقیم اثر افزار نرم توسعه بهبود بر میتواند کدام هر که میباشد متنوعی
.پردازیم می آن به بحث این در ما که است افزار نرم کیفیت[4]
های مرحلهفعالیتهاي از یکي عنوان به ، افزار نرم کیفیتمدیرتوسعهافزار نرمب استدادن انجام با که اي گونه ه
اینمراحلاستانداردهاي رعایت و ریزي برنامه در افزار نرم کیفیت تیم ،افزار نرمیک عنوان به ،نموده همکاري
و فعالیتها انجام روش مستقل گروهها خروجینماید مي حاصل اطمینان آنها انجام صحت از و بازرسي را.
0.4افز نرم تستچیست؟ ار
افزار نرم تست از منظورپوره میتواند را داشتیم توقع آن از که ای کارایی آیا ایم کرده تولید که افزاری نرم اینکه یعنی
یعنی .است میشود ایجاد تولیدی های کارخانه یا و افراد توسط که محصوالتی دیگر مانند به افزار نرم توسعه نه؟ یا کند
طبق که دارد مشخصی مراحلتولید فزیکی صورت به که محصوالتی .کرد تولید را آل ایده افزار نرم یک میتوان آن
به ها افزار نرم اما . کرد حاصل اطالع آن وری بهره و کیفیت از و داد قرار آزمایش مورد سادگی به میتوان را میشوند
طاقت و مشکل هم آنها تست بنابراین .نیستند )(فزیکی لمس قابل که دلیل اینبرای فزیکی محصوالت .میباشد فرسا
آنها یعنی داشت نگه مشخص شرایط یک در نمیتوان را ها افزار نرم اما هستند بینی پیش قابل که میشوند ایجاد شرایطی
بدهیم قرار آزمایش مورد مختلف شرایط در را آن باید کنیم تست را افزار نرم یک ما اینکه برای دارند تغییر قابلیتدر .
صورتیکار درست ما افزار نرم که بگوییم نمیتوانیم ایم نکرده آزمایش افزار نرم روی بر را خاص شرایط همه ما که
.میباشد خطا از عاری اینکه یا و میکند
به دیگر طرف از و است رشد به رو هم افزار نرم تست اهمیت است رفته افزایش به رو افزارها نرم تعداد که وقتی از
تست مراتب همانتوسط که مختلف های روش ایجاد به برمیگردد این که است شده مشکل و سخت هم افزار نرم
.کند تایید را افزار نرم کیفیت که میشود تعریف جهانی استاندارد سازمان
دایکسترا5
می افزار نرم تست باب در ارزشمند جمله یک در کامپیوتر علوم فقید و بزرگ دانشمند:گوییدفقط تست
میتوارا آنها وجود عدم نه ،دهد نمایش را خطاها ند[5]!
5
Edsgar W. Dijkstra
15. 3
0.1افزار نرم تست اهمیت
نرم در .فزیکی غیر اینکه یا و باشد فزیکی محصول آن خواه دارد محصول هر تولید در خاصی اهمیت کل در تست
ت .میباشد افزار نرم توسعه اصلی مراحل از یکی افزار نرم تست .است جاری امر این هم ها افزارکیفیت افزار نرم ست
.دارد زیادی اهمیت آن های دهنده توسعه و مشتریان برای که میکند تایید را افزار نرم
یک درشرکتمعمول طور به افزار نرم توسعه11تا11تست صرف پروژه فعالیت کل درصدافزار نرم.میشود
پرواز مانند است حیاتی انسانی زندگی در که هایی افزار نرم برایها طیارهحدود ای هسته راکتور و1تا1برابر
صرف افزار نرم تولید مراحل تمام از بیشتر هزینهتست.میشود
0.2تست اصول
و ها روشمتدمیشود مربوط میدهد انجام را تست آن که کسی به که دارد وجود تست یک کردن اجرا برای زیادی های
این زیرامتدسازی پیاده نوع به بستگی هاشخص توسطنرم تست برای مطرح و مهم اصول از یکی اینجا در .دارد
.است شده مطرح دیویس توسط که میگیریم معرفی به را افزار
دیویس تست اصول6
[6]
-باشد پیگیری قابل ،مشتری نظر مورد نیازمندیهای به رسیدن تا باید ها تست تمام
-برنامه ، آن شروع از قبل طوالنی مدت باید ها تست.شوند ریزی
-اصل کارگیری بهپارتو7
افزار نرم تست مورد در(%81در نشده کشف خطاهاي21%است کد)
-کم کم و شده شروع جزء از باید تست.برسد وسیع سطح در هایی تست طرف به
-نیست ممکن فراگیر و جامع های تست
-ثال شخص یک توسط باید ،باشد داشته را تاثیر بیشترین تست اینکه برای.گیرد صورت مستقل ث
0.5افزار نرم تست اهداف
استفاده مورد اینکه از قبل را آن بودن درست که میتوان آن با و باشد می پروژه مهم های بخش از یکی افزار نرم تست
کار کرد.این امتحان را بگیرد قرار آن کاربران توسط1سازی پیاده درست صورت به هدف سه هر اگر .دارد هدف
نرم شودمیباشد نقص بدون ما افزار.[7]
-افزار نرم کیفیت افزایش
-اطمینان قابلیت و نیازها به پاسخگویی لحاظ از سیستم بررسی
-افزار نرم های اشتباه و خطاها ها ضعف شناسایی
6
Davis
7
Vilfredo Federico Damaso Pareto اند بوده ایتالیایی ایشان
16. 4
0.6افزار نرم زدایی اشکال
نرم توسعه در مهمی بسیار وظیفه زدایی اشکالافزارمیباشدغلط برنامه یک زیرا ،میتواندبرای مهمی پیامدهای
از بعضی .باشد داشته خود کاربرزبانهااشتباهات برخی معرض در بیشترمیباشندخاطر به ،شان خصوصیاتبه نیاز
به نسبت کامپایلر بیشتر بررسیزبانهایدیگردارند.کردن پیدا کارش زدایی اشکالاشکاالتبرنامه عین در که است
ک این .میدهد رخ نویسیباشد داشته آگاهی آن بر باید بنابراین میشود انجام نویس برنامه خود توسط ار
0.6.0افزار نرم زدایی اشکال با افزار نرم تست تفاوت
های روش درانجینریافزار نرمقدیمینمی توجه افزار نرم تست بهشدو افزار نرم تست بین فرق مردم که دلیل این به
نکرده درک را زدایی اشکال.بودند
که کاری و میشد مشکل دچار کردم می نوشته که کدهایی از خیلی بودم کرده نویسی برنامه به شروع من که اوایل در
کمی .میداد کار بودم نوشته که کدی میکردم رفع را آن های اشکال که زمانی ولی نمیداد انجام را داشتم را آن توقع من
ایج جداگانه کالس دو توانستم که بعدترکدهای از مشکل که میکردم برخورد مشکل به آنها سازی یکجا موقع در کنم اد
نرم تست خطاها گونه این رفع به .بود کالس دو آن سازی جا یک طریقه در مشکل بلکه نبود ها کالس در شده نوشته
.میسازیم یکجا هم با را کالس چندین یا دو آن نتیجه در که میگویند افزار
هدفشا آنها دو هررا میشود ایجاد نویسی برنامه وقت در که خطاهایی زدایی اشکال .است افزار نرم کیفیت بردن باال ن
رفع را افزار نرم کاربردی خطاهای افزار نرم تست و میشود انجام نویس برنامه توسط زدایی اشکال این .میکند رفع
.باشد سیستمی که است ممکن خطاها این میکند
هی اگر حتی مثال برایعبارت به شود کشف افزار نرم در نقص و عیب است ممکن نباشد موجود برنامه در اشکالی چ
برای که میکند شناسایی را شرایطی تست حالیکه در میکند ارضاء را شده تعیین پیش از مشخصات زدایی اشکال دیگر
میکند مشکل ایجاد کاربران
ت نکته این بر زدایی اشکال توسط شده پیدا های اشکالدر یا و نشده برآورده است بوده مدنظر که منطقی که دارد وجه
تست توسط که )سیستمی(کاربری میشود.خطاهای خطا ایجاد باعث که است بوده اشکاالتی است شده نوشته که کدهایی
توسع طوری باید افزار نرم علت همین به .است آن کاربران و افزار نرم برای مشکل .میشود شناسایی افزار نرمیابد ه
( اشکال دارای که افزارهایی نرم .نیاید پیش مشکالت این کهBugنویس برنامه مهارت و تجربگی کم خاطر به است )
میدهد انجام را تست که کسی اگر .ببرد باال را خود مهارت سطح که است موظف نویس برنامه اینجا در آید می وجود به
ا بسیاری که است ممکن باشد نویس برنامه خود.نشوند کشف وقت هیچ اشکاالت زنرم شکست با مساوی کار این که
.باشد مجزا توسعه گروه از کننده تست تیم که میشود توصیه ، بنابراین . بود خواهد افزار
هنوز است بوده نویس برنامه خود آن کننده تست اینکه علت به هم سال چندین گذشت با که دارد وجود هایی افزار نرم
ا دارای هممیشود افزار نرم شدن کیفیت کم باعث زمان مرور به ها اشکال این .میباشد شکال.[7]
17. 5
جدول2برنامه تست و زدایی اشکال تفاوت[8]
زدایی اشکالDebugging( کردن تستTesting)
هدف( اشکاالت رفعBug)انتظار مورد کیفیت تضمین و ارزیابی
مور یا موضوعدبرنامه)افزار نرم شامل ( سیستم
کاراشتباهات و خطاها تصحیحخطاها شناسایی
دهنده انجامنویس برنامهکننده تست
شروعافزار نرم کدهای نوشتن از بعدمیشود شروع نیازها شناسایی مرحله از تست طرح یک
پایان--------کند می اعالم تست مسئول
0.1افزار نرم تست چرخه
ادر تست فرآیند گرچههای شرکتمیباشد زیر چرخه چندین داری افزار نرم تست اما است متفاوت مختلف
انجام افزار نرم زندگی چرخه نیازها تحلیل فاز در باید تست فرآیند :نیازها تحلیلبپذیرد.
تحلیلتست طراحی فاز طی در : طراحیگان کنندشود مشخص تا میکنند همکاری طراحان باقسمت کدام که
کدام از تست هنگام در و است تست قابل طراحی ازها پارامتر.شود استفاده باید
میشود مشخص تست استراتژی مرحله این در :تست طراحی
تست :تست اجرایگان کننددهنده توسعه تیم به را خطا گونه هر و میکنند تست و کرده اجرا را افزار نرم
میکنند گزارش
:تست گزارشتست شد تکمیل تست فرآیند اینکه از بعدگان کنندگزارش یک قالب در را آمده دست به نتایج
.خیر یا است استفاده قابل افزار نرم آیا که شود می مشخص و میکنند تهیه[9]
0.1ها تست بندی دسته
صورت دو به افزار نرم تستساكن8
پویا و9
ا را برنامه پویا تست روش در میشود انجامآن نتایج سپس و کرده جرا
و میگیرد قرار بررسی موردتستساکنتحلیل.شود اجرا برنامه اینکه بدون است افزار نرم کدهای
تستساکنو کدها یعنی میکنیم بررسی آن ساختاری شکل به افزار نرم آن طی که میشود گفته هایی فعالیت مجموعه به
است شده ساخته آن برای که هایی دیاگرام.میدهیم قرار بازبینی مورد راندارد نیاز قبلی دانش هیچ به پویا تست اما
8
Static
9
Daynamic
18. 6
تستساکنپذیرد انجام متخصص یک توسط باید حتمانرم که کسی به ریپورت یک که است این ساکن تست خوبی
م انجام افزار نرم توسعه طی در تست این که این همیچنان و .میشود داده است کرده ایجاد را افزاراینکه از بعد نه یشود
.میکند تر نزدیک هدفش به را نویس برنامه کار این . باشد کرده تمام را برنامه نویس برنامه
0.1سنجی اعتبارافزار نرم بازبینی و افزار نرم
سنجی اعتبار10
بینی باز و افزار نرم11
افزار نرمدرانجینرینرمبه افزارفعالیتیمی گفتهکه شودای طول درنرم جاد
نه؟ یا دارد را دلخواه کیفیت برنامه که شود مشخص اینکه تا میشود انجام افزار نرم کار اتمام از بعد یا و افزار
:افزار نرم بازبینیمیشود؟ ساخته صحیح صورت به محصول آیا
Verification : Are you building it right?
افزار نرم بازبینی دررا موضوع این.هست ما اهداف با مطابق ایم کرده ایجاد که محصولی که میکنیم بررسی
اختالل ایجاد باعث که میکند عمل آن برخالف ولی دهد انجام را عملیه یک باید افزار نرم از قسمت یک مثال طور به
میشود سیستم کل در
سنجی اعتبار:افزار نرممیشود؟ ساخته صحیحی محصول آیا
Validation: Are you building the right thing?
میتواند را مشتری های خواسته آیا شده ایجاد افزار نرم که است این کننده تست و نویس برنامه نظر سنجی اعتبار در
؟ نه یا کند پوره.میشود انجام نیازها با مقایسه در همیشه اعتبارسنجی
که است کرده ما از درخواستی یک کاربر مثال طور بهنمایش دیگر نحوی به قابلیت این ولیکن باشد افزار نرم در باید
.کند ایجاد را قابلیت که است موظف نویس پروگرام بنابراین .میدهد[10]
0.01دارد؟ قرار افزار نرم توسعه چرخه یا فرآیند مرحله کدام در افزار نرم تست
تست به را افزار نرم توسعه مهم های بخش از یکی زیر شکل درکه میدهد نشان این .است داده تخصیص افزار نرم
فقط افزار نرم توسعه طی در که نیست معنی این به این . است افزار نرم توسعه نشدنی جدا اجزای از افزار نرم تست
فوکس بیشترین مرحله این در کم مقدار به اما میشود انجام تست مراحل تمام در . میشود انجام تست آن چهارم مرحله در
خدمات یا نگهداری مرحله از قبل افزار نرم تست .دارد افزار نرم توسعه در زیاد اهمیت بنابراین .میاشد تست روی بر
.دهد انجام را فعالیتی که دارد را این قابلیت برنامه و است شده کامل نویسی برنامه مرحله این در . میباشد تولید از بعد
10
Validation
11
Verification
19. 7
شکل2:مرحافزار نرم تست شروع اصلی له
0.00استانداردهایافزار نرم تست
.میشود تست پروسه شدن بهتر باعث استانداردها این .میباشد استانداردهای دارای کمپیوتر علوم همه مانند به افزار نرم تست
[17]
ISO/IEC 9126: This standard deals with the following aspects to determine the quality of a
software application:
1. Quality model
2. External metrics
3. Internal metrics
4. Quality in use metrics.
This standard presents some set of quality attributes for any Software such as:
1. Functionality
2. Reliability
3. Usability
4. Efficiency
5. Maintainability
6. Portability
IEEE 829: A standard for the format of documents used in different stages of software
testing.
IEEE 1061: A methodology for establishing quality requirements, identifying, implementing,
nalyzing, and validating the process and product of software quality metrics is defined.
BS 7925-1: A vocabulary of terms used in software testing.
BS 7925-2: A standard for software component testing.
20. 8
IEEE 1008: A standard for unit testing.
IEEE 1012: A standard for Software Verification and Validation.
0.04فصل خالصهاول
افزار نرم تست .کنیم بازگو را آن اهمیت همچنین و افزار نرم تست از درستی تعریف که بود این بر سعی فصل این در
اهمیت آن به یا و ندهیم انجام را افزار نرم تست که صورتی در . است افزار نرم توسعه نشدنی جدا های بخش از یکی
افزاری نرم که است ممکن نشود دادهاینکه یا و نباشد برخوردار ای مالحظه قابل قابلیت و کیفیت از میکنیم تولید که
معنوی و مالی خسارات این که بیاورد بار به را زیادی خساراتی میشود باعث که شود مواجه شکست با ما افزار نرم
.استاس سازی افزار نرم شرکت دوش بر آید می بار به شکست نتیجه در که مالی خساراتبیشتر معنوی خسارات .ت
.است نویس برنامه بر مستقیم تاثیر اوقات
جهانی سازمانISOوIEEEنیزاستانداردهایآن توسط که اند کرده ایجاد افزار نرم تست و افزار نرم کیفیت برای
کیفیت آنها از استفاده با افزارهای نرمشو می بهتر و بیشتر افزار نرم ماندگاری و.د
22. 10
دوم فصل
4.0افزار نرم تست
نرم تست . است افزار نرم توسعه های بخش ترین مهم از یکی شد گفته قبلی فصل در که همانطور افزار نرم تست
شود بازار وارد اینکه از قبل را افزار نرم کار درستی میتواند و میکند بررسی را افزار نرم یک اعتبار و کیفیت افزار
.کند بررسی راافزار نرم تست برای .دهد اطمینان اند کرده که کاری از را دهنده توسعه تیم که میشود باعث کار این
دارد وجود مختلفی های روشکمبودی و ها مزیت دارای روش هر .ا با که میباشد هایمیتوان روش چند از ستفاده
کمبودیمیشو تولید که افزارهایی نرم بیشتر .کرد تصریح را آن هاینمیکنند استفاده کلی روش دو از د.(White Box
Testing)و(Black Box Testing)مورد که است روشی دواستفاده.دارند افزار نرم توسعه در بیشتری
(سفید جعبه تستWhite Box Testing)میکنند صرف را خود وقت بیشترین دارند برعهده را برنامه تست که کسانی
در که دلیل این بهو کدها تمام آنها .است برنامه کدهای بر تمرکز روش اینمتدهایموجودبررسی مورد را برنامه در
میگیرد بر در را زیادی هزینه و وقت دلیل همین به میدهند قرار
( سیاه جعبه تستBlack Box Testing)کدهای به کاری دارند برعهده را برنامه تست که کسانی روش این در
ندا برنامهکه کسی نیست نیازی روش این در اینکه یعنی میدهند قرار بررسی مورد را برنامه های خروجی فقط آنها رند
که مشکالتی و میکنند کار برنامه با که میباشند برنامه کاربران آنها حقیقت در .بداند چیزی تست علم از است کننده تست
گز یک صورت به را میکنند پیدا برنامه با کار حین در.میکنند ارائه دهنده توسعه تیم به ارش
4.4Black Box Testing
شکل1:عمومی حالتBlack Box
23. 11
افزاری نرمکرد تست براینگروه جزء شما یا و باشد شده ساخته شما برای است ممکن افزار نرم این . دارد وجود
.باشید تستای کرد کار از بتوانیم اینکه برایتوسعه تیم توسط که هایی قابلیت است این راه بهترین شویم مطلع برنامه ن
و کدها از ما حقیقت در .کنیم اجرا را برنامه آن از بعد و دهیم قرار بررسی مورد را است شده داده افزار نرممتدهای
ندا را اطالعات این اینکه فهم با و نداریم اطالعی هیچ است موجود برنامه این در کهقرار بررسی مورد را برنامه ریم
.میدهیم( نداریم اطالعی افزار نرم کدهای از ما که این دلیل به تست این در11انجام را تست این که کسانی از درصد
فقط ما علت این به )ندارند یاد را نویسی برنامه اصال میدهندمشخص افزار نرم در ما برای نویس برنامه که اهدافی
را است کردهچیز به و میدهیم قرار بررسی مورد را برنامه های خروجی و ها ورودی یعنی . میگیریم بررسی مورد
. میدهیم گزارش نویس برنامه به را آن کردیم پیدا افزار نرم اجرا در مشکلی اگر و نمیکنم دخالت دیگرروش این
.ندارد نویسی برنامه همچنین و کدها فهمیدن به زیادی نیازی
4.4.0مروش این زایای
کرد پیدا را مشکالت میتوان سریع صورت به
میگیرد بر در را کمتری وقت یعنی .است ارزان
باشیم داشته برنامه کدهای و نویسی برنامه زمینه در کافی مهارت که نیست نیازی
ج را نظر مورد فرد که نیست نیازی بنابراین .دهند انجام را تست این میتوانند مختلفی افرادکنیم ستجو
و اند نشده استفاده که کدهایی به .اند گرفته قرار استفاده مورد که میشود تست ای برنامه کدهای روش این در
نداریم کاری ندارند را خاصی نقش برنامه در اما اند شده استفاده اینکه یاروی بر تنها ما های ورودی یعنی .
اجرا را برنامه است قرار که میشود تست کدهاییوظیفه پشت در و است افزار نرم در که کدهایی به و کنند
.نمیگیرد ارتباط دارند
روش درBlack Box Testingمیکنیم بررسی را زیر موارد معموال
این آیاافزار نرممیتواند؟ اجرا را است کرده تعریف که عملیاتی غیر و عملیاتی های نیازمندی
های ورودیافزار نرمیا دارند اعتبارنه؟
ها ورودیصورت به که ییکمترین و بیشتریناین درافزار نرمقبول مورد است شده تعیینافزار نرماست
نه؟ یا
ها خروجیدارد انطباق افزار نرم ها ورودی با افزار نرمنه؟ یا
عملکردافزار نرمبرابر درپروسزقابل غیر و جدید های ورودیافزار نرم قبولاست؟ چگونه
[7]
.44.4Equivalence partitioningمشابهات بندی (دسته12
)
12
Equivalence partitioning
24. 12
[12]
:میکند دنبال را زیر اهداف که است افزار نرم تست به مربوط روش یک
به تست موارد تعداد کاهشمصرف تست اجرای در کمتری هزینه و وقت میشود باعث که مقدار کمترین
.شود
همه تا درست تست موارد انتخابرا برنامه های قسمتهای برگیرنده در تست موارد این . شود شامل
.باشد باید برنامه خروجی و ورودی های راه
میشود اعمال نیز افزار نرم های خروجی در مشابهات بندی دسته موارد از بعضی دربه روش این به معموال ،
یک های ورودیاجزاءرفتار ویژگیهای از معموال معادل های قسمت .میشود اعمالاجزاءیک .میشوند مشخص
ورودیمحدوده13
سایر و مجازند که دارد خاصی هایمحدودهبرای درست اعداد مثال طور به .مجازند غیر ها
از ماه ورود2تا21این .است حوت تا حمل دهنده نشان که استمحدودهاز بیشتر مقادیر بعدی مجاز غیر21
.هستند
روشکردن تستافزار نرمدسته به مربوط کهاست مشابهات بندیتست استراتژی یک فقط که میکند بیان را این
ندارد لزوم دیگری های استراتژی و میکند کفایت بخش هر برایاگر دیگر عبارت به .در را تست استراتژی یک
. نمیشود دیگری های استراتژی به دیگر نیازی بنابراین .میکند کشف را افزار نرم خطاهای بدهیم انجام بخش هر
میشوند حساب معادل بخش یک مقادیر.میکند را ها جویی صرفه از بخشی افزار نرم تست روش این وبنابراین .
میزان به تست موارد تعدادای مالحظه قابلتست موارد شما که است این روش این مزایای از یکی .باید می کاهش
"dirty.میکنید شناسایی را "ت که است ممکن تجربه بی تستر یکاز ها ماه در باال مثال مانند به را اعداد مام2تا
21تعداد که دهد قرار ها ورودی در هم را بیشتری یا و کمتر های ماه اینکه یا و بدهد قرار ها ورودی در را
. است بیهوده ها تست این بیشتر که میشود انجام تست زیادی
دسته تعیین بر مبتنی مشابهات بندی دسته برای تست موردبتوان اگر .است ورودی شروط برای مشابه های
روابط توسط را اشیا از ای مجموعهمتقارناعداددسته .دارد وجود مشابه دسته یک ،داد پیوند هم به انعکاسی و ی
و معتبر حالت از ای مجموعه نشانگر مشابهمعتب ناریک با معموال ورودی شرط هر . است ورودی شرایط برای
عددی مقدارمحدودهرا مشابه های دسته . است بولی شرط یک با مرتبط مقادیر از ای مجموعه ،مقادیر از ای
:نمود تعریف زیر های دستورالعمل طبق میتوان
،ورودی شرط اگرمحدودهمشابه دسته دو و معتبر مشابه دسته یک ،کند مشخص را اینامعتبرتعریف
.میکند مشخص
ورودی شرط اگرمشخص مقدارید راارامشابه دسته دو و معتبر مشابه دسته یک ،باشدمعتب نار
شوند می تعریف
13
Confine