1 / 32

فصل 4 فنون تست نرم افزار

فصل 4 فنون تست نرم افزار. نگاه اجمالي. آزمون نرم افزار چيست؟ فنون آزمون راهنماي سيستماتيكي را براي طراحي آزمون هايي ارائه مي كند كه 1)منطق دروني اجزاي نرم افزاري را بررسي كرده وحوزه ورودي و خروجي برنامه را براي خطاها مشخص كند چه كسي اين كار را انجام مي دهد؟ مهندسان نرم افزار ومتخصصان آزمون

Download Presentation

فصل 4 فنون تست نرم افزار

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. فصل 4فنون تست نرم افزار

  2. نگاه اجمالي • آزمون نرم افزار چيست؟فنون آزمون راهنماي سيستماتيكي را براي طراحي آزمون هايي ارائه مي كند كه 1)منطق دروني اجزاي نرم افزاري را بررسي كرده وحوزه ورودي و خروجي برنامه را براي خطاها مشخص كند • چه كسي اين كار را انجام مي دهد؟مهندسان نرم افزار ومتخصصان آزمون • چرا انجام اين كار مهم است ؟ به منظور يافتن بيشترين مقدار احتمالي خطا آزمون ها بايد به صورت نظام مند صورت گرفته و موارد آزمون طراحي شوند • مراحل كار كدامند؟1)آزمون منطق دروني برنامه)جعبه سفيد) 2)آزمون مقتضيات برنامه (جعبه سياه • محصول كاري چيست؟ايجاد مجموعه هايي از موارد آزمون(test case) • چگونه مي توان مطمئن بود كه درست انجام شده است؟به سختي تلاش كنيد كه نرم افزار را بهم بريزيد. موارد آزمون را به شكل اصولي طراحي كنيدوبازبيني آنها را به طور كامل انجام دهيد

  3. آزمون نرم افزار • آزمون پروسه اي از تمرين برنامه است كه همراه با نيت ويژه اي براي پيدا كردن خطا ها، قبل ازتحويل به كاربر نهايي مي باشد. • اهداف آزمون [MYE79] • آزمون, پروسه اي از تمرين برنامه همراه با نيت پيدا كردن خطا ها است. • موارد آزموني خوب است كه قابليت بالايي براي پيدا كردن خطاهايي كه هنوز كشف نشدند را داشته باشد. • آزموني موفق است كه خطاهايي را كه هنوز كشف نشدند را كشف كند.

  4. آزمون چه چيزي را نشان مي دهد؟ خطا ها نياز انطباق اجرا اشاره اي از كيفيت

  5. توسعه دهنده آزمون كننده مستقل بايد سيستم را ياد بگيرد ولي كوشش خواهد كرد كه آن را شكست دهد و به وسيله كيفيت رانده مي شود سيستم را درك مي كند ولي آزمون بتدريج خواهد بود و به وسيله تحويل رانده خواهد شد. چه كسي نرم افزار را مي آزمايد؟ و سرانجام كاربران

  6. اصول آزمون اصول آزمون • اصول آزمون ‌‌‌( ديويس ) • تمام آزمونها بايد تا رسيدن به نيازمنديهاي مورد نظر مشتري، قابل پيگيري باشند. • آزمونها بايد مدت طولاني قبل از شروع آن، برنامه ريزي شوند. • به كارگيري اصل پارتو در مورد آزمون نرم افزار • آزمون بايد از جزء شروع شده و كم كم به طرف آزمون هايي در سطح وسيع برسد. • آزمون هاي جامع و فراگير ممكن نيست. • براي اين كه آزمون بيشترين تاثير را داشته باشد، بايد توسط يك شخص ثالث مستقل صورت گيرد.

  7. آزمون پذيري • قابليت عمل – به طور واضح كار مي كند. • قابليت مشاهده- نتايج هر آزمون به سهولت قابل مشاهده است. • قابليت كنترل – هر چه بهتر نرم افزار را كنترل كنيم، بهتر مي توان آزمون را خود كار و بهينه ساخت. • قابليت تجزيه پذيري- آزمون مي تواند هدف گذاري شود. • سادگي – ساده بودن سبك معماري پيچيده و منطق سبب سادگي آزمون ها مي شود. • ثبات – هرچه تغييرات كمتر باشد، اختلال در آزمون كمتر است. • قابليت درك و شناخت – راجع به طراحي هرچه اطلاعات بيشتري داشته باشيم، هوشمندانه تر آن را مي آزمائيم.

  8. يك آزمون خوب چيست؟ • يك آزمون خوب داراي احتمال يافتن خطاهاي بيشتري است. • يك آزمون خوب داراي حاشيه نيست. • يك آزمون خوب بايد ” بهترين از هر نوع ” باشد. • يك آزمون خوب نه بايد خيلي ساده و نه خيلي سخت و پيچيده باشد.

  9. براي كشف خطاها معيار در يك روش كامل محدوديت با يك تلاش و زمان كم طراحي آزمون ”حشره اي در كمين در گوشه ها و كرانه ها منتظر فرصت مناسب است“ بوريس بيزر هدف

  10. loop < 20 X تعداد ^1410 مسير ممكن موجود است! اگر ما در هر ميلي ثانيه يك آزمون را انجام دهيم، ممكن است 3170 سال جهت تست اين برنامه ،زمان صرف شود!! آزمون جامع

  11. مسير انتخاب شده loop < 20 X آزمون انتخابي

  12. روش هاي جعبه سياه روش هاي جعبه سفيد روش ها استراتژي ها آزمون نرم افزار

  13. آزمون جعبه سفيد ...هدف ما در اين آزمون عبارت است از: 1- تضمين كنند كه همه مسيرهاي مستقل داخل يك پيمانه حداقل يك بار به كار گرفته شده اند. 2- همه تصميمات منطقي را در مورد طرفين درست و غلط آنها اجرا كند. 3- همه لوپ ها ( حلقه ها ) را در سرحدات آنها و در داخل سرحدات عملياتي آنها اجرا كند. 4- تمام ساختارهاي اطلاعاتي داخلي را براي تضمين اعتبارشان اجرا سازد.

  14. چرا موارد ذيل تحت پوشش قرار مي گيرند؟ • خطاهاي منطقي و فرضيات نادرست با امكان اين كه مسير برنامه اي اجرا شود رابطه معكوس دارند. • ما اغلب معتقديم كه يك مسير منطقي احتمالاً وقتي اجرا نمي گردد كه بر پايه معمول اجرا گردد، در حقيقت فرضيات گاهي ما را به سوي ايجاد خطاهاي طراحي هدايت مي كند كه تنها يك بار در هنگام شروع آزمون مشخص مي شود. • خطاهاي مربوط به تايپ برنامه ، به صورت تصادفي هستند وقتي برنامه اي به كد منبع زبان برنامه نويسي ترجمه مي شود، احتمال دارد كه چند خطاهاي تايپي رخ دهد.

  15. ابتدا ، مي بايست يك ارزيابي پيچيده منطقي را از طرح رويه داشته باشيم: تعداد تصميم گيري هاي ساده +1 يا منطقه هاي محدود شده +1 V(G) = 4 در اين حالت ، آزمون مسير پايه

  16. بخش ها ( ماژول ها ) V(G) بخشهايي كه بيشترين خطاها در آن ها رخ مي دهد. پيچيدگي چرخشي ( سيكلوماتيك ) ميزان مطالعه نشان داده كه پيچيدگي سيكلوماتيك، حد بالايي در مورد امكان خطاها را به ما مي دهد.

  17. 1 2 3 4 5 6 7 8 آزمون مسير پايه در ادامه ، ما مسيرهاي مستقل را مشخص مي نمائيم: Since V(G) = 4, چهار مسير وجود دارد: : 1,2,3,6,7,8مسير 1 مسير 2: 1,2,3,5,7,8 مسير 3: 1,2,4,7,8 مسير 4: 1,2,4,7,2,4,...7,8 هايي را جهت پيمايش اين مسيرها خواهيم داشت.test caseدر نهايت، ما

  18. علائم گراف روندساختمانهاي ساخت يافته در گراف روند هر حلقه بازنماي يك يا بيشتر جمله غيرقابل شاخه شدن از كد اصلي يا شبه كد مي باشد.به عنوان يك راهنمائي يك مجموعه پايه جهت مسيرهاي اجرايي را در نظر مي گيريم. اين آزمون هر پيمايش در برنامه را در كمترين زمان ممكن تست مي نمايد.

  19. مسيرهاي اصلي آزمون • مثال)) PDL procedure sort 1 : do while records remain read record ; 2 : if record field1 = 0 3 : then process record ; store in buffer ; increment counter ; 4 : elseif record field2 = 0 5 : then reset counter ; 6 : else process record ; store in file ; 7a: endif endif 7b: enddo 8 : end

  20. 1 2 4 3 6 5 7a 7b 8 آزمون مسير پايه • نمودار جريان

  21. آزمون مسير پايه • محاسبه پيچيدگي سيكلوماتيك ( يال =E ، گره= N) • V (G) = E -N+ 2 = P + 1 = No. of regions in the graph جايي كه تعداد يالها برابربا تعداد لبه ها و تعداد گره ها برابر با N و P برابر مي باشد بايد تعداد گره هاي قابل پيش بيني باشد. • براي مثال قبل داريم: • مسيرهاي مستقل: • Independent pathsمسير 1 : 1 - 8 مسير 2 : 1 - 2 - 3 - 7b - 1 - 8 مسير 3 : 1 - 2 - 4 - 6 - 7a - 7b - 1 - 8 مسير 4 : 1- 2 - 4 - 5 - 7a - 7b - 1 - 8 • = 11 - 9 + 2 = 3 + 1 = 4پيچيدگي سيكلوماتيك

  22. مثال آزمون مسير پايهميانگين رويه:اين رويه ميانگين 100 يا كمتر از آن يا مقادير بين آن را محاسبه مي كند، همچنين مجموع مقادير صحيح را محاسبه مي نمايد.پايه اين آزمون به ميانگين ، مجموع، ورودي، جمع مقادير رجوع مي كند و مقادير Min و Max را مي پذيرد.

  23. مثال آزمون مسیر پایه

  24. مثال آزمون مسیر پایه 1 2 3 4 10 12 11 5 13 6 8 7 9 گراف جریان روال محاسبه میانگین

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

  26. ماتریس های گراف ماتریس گراف یک ماتریس مربعی است که اندازه اش (تعداد ردیفها و ستونها)برابر تعداد گره های روی نمودار جریان است. هر ستون و هر ردیف با گره ای مشخص مرتبط است و مقادیر ورودی ماتریس با ارتباطات بین گره ها مرتبطند. با افزودن یک وزن اتصال به هر مدخل ماتریس ،ماتریس گراف یک ابزار قدرتمند و دقیق برای ارزیابی ساختار کمترلی برنامه در طول آزمون می شود.

  27. آزمون ساختارهای کنترل آزمون شرط: آزمون وضعیت یک روش طراحی آزمون است که شرایط منطقی موجود در پیمانه برنامه را میابد. آزمون جریان داده: این روش مسیرهای آزمونی یک برنامه را طبق محل تعاریف و کاربرد متغیر ها در برنامه انتخاب می کند.

  28. آزمون حلقه حلقه ساده حلقه های تو در تو حلقه های الحاقی حلقه های غیر ساخت یافته

  29. آزمون حلقه : حلقه های ساده • شرطهای مینیمم ــ حلقه های ساده • به طور کامل از حلقه چشم پوشی کنید • تنها یک گذر از حلقه را انجام دهید • دو گذر از حلقه را انجام دهید • گذر از حلقه انجام دهید m است m < nدر جائی که • گذر از حلقه را انجام دهید(n+1)، n، (n-1) • حد اکثر تعداد عبورهای مجاز از حلقه استn

  30. آزمون حلقه : حلقه های تو در تو حلقه های تو در تو از داخلی ترین حلقه شروع کنید – بقیه حلقه ها را روی حداقل مقدار تنظیم کنید . آزمونهای ساده حلقه را،برای داخلی ترین حلقه انجام دهید در عین حال حلقه های خارجی را در حداقل مقدار پارامتر تکرار قرار دهید.آزمون های دیگر را برای مقادیر خارج از دامنه یا مجزا اضافه کنید. کار را به طرف لایه های بیرونی ادامه دهید. آزمون هایی برای حلقه های بعدی انجام داده اما دیگر حلقه های خارجی تر را در حداقل مقدارو دیگر حلقه های تو در تو را در مقادیرمعمول نگه دارید. کار را ادامه دهید تا وقتی که همه حلقه ها مورد آزمون واقع شوند. حلقه های پیوسته اگر دو حلقه به یکدیگر متصل شدند و حلقه ای با حلقه 1 برخورد کرد، به عنوان مقدار اولیه برای حلقه 2 انتخاب شده سپس حلقه های دیگر مستقل نیستند ،روش به کار رفته در حلقه های تو در تو توصیه می شود

  31. آزمون جعبه سیاه نیازمندی ها خروجی ورودی پیشامدها

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

More Related