SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
پيش گفتار  راوي 
حسين فاني  
طراح  
fani@behsazan.net  
sites.google.com/site/hosseinfani  
مخاطب  
Stakeholders ذينفعان سيستم نرم افزاري  
مشتري  
...  
داستان  
آزمون نرم افزار و آزمونگر آن  
مديريت آزمون  
1
مراجع 
2 
Software Engineering, A Practitioner’s 
Approach, 5th Ed, Roger S. Pressman 
Foundation of Software Testing, ISTQB 
Certification, Dorothy Graham et. al. … 
Acknowledgment تشکر 
خانم مرجان فردوس ي پور، گروه شرکتهاي همکاران سيستم
آزمون نرم افزار 
راهکار عملي 
Software Test; 
Practitioner's Approach 
حسين فاني 
تابستان 92
آنچه در اين سمينار خواهد آمد  
Fundamentals فلسفه آزمون  
چرا آزمون  
Objectives اهداف آزمون  
Principles اصول آزمون  
Testability آزمون پذيري  
اهميت آزمون  
Test Apply اجراي آزمون  
Test Case مورد آزمون  
Test Scenario سناريوي آزمون  
Test Case State Transition چرخه مورد آزمون  
و چرخه آن Bug خطا  
Test Design طراحي مورد آزمون  
تکنيک در برابر استراتژي آزمون  
استراتژي )سطح( آزمون  
Unit واحد  
Integration يکپارچگي  
Validation (Acceptance) صحت  
System سيستم  
تکنيک آزمون  
White/Black Box جعبه سياه و سفيد  
Static/Dynamic ايستا و پويا  
Test Plan برنامه ريزي )فرآيند( آزمون  
جايگاه در فرآيند توليد نرم افزار  
استاندارد برگزاري آزمون  
شروع آزمون  
پايان آزمون )شرط توقف/بازشروع(  
جمع آوري اطلاعات  
بررس ي کيفيت برگزاري وکيفيت نرم افزار )معيارها(  
کارهاي آينده  
Automated Test آزمون خودکار  
Object Oriented Testing آزمون ش ي گرا  
Clean Room Software Engineering  
4
5 
Fundamentals فلسفه آزمون 
چرا آزمون 
Test چيستي آزمون 
Objectives اهداف آزمون 
Principles اصول آزمون 
Testability آزمون پذيري 
اهميت آزمون
فلسفه آزمون 6 
چرا آزمون 
انسان ها:  
همه چيز را نمي دانند.  
داراي دانش محدود هستند.  
)Human is Err(. دچار اشتباه مي شوند  
نياز به آزمون دارد )Manmade( هر چيز انسان ساز  
چطور؟ God made در مورد  
نرم افزارها  
تحت فشار  
محدوديت زماني  
”افراد باهوش مشكلات را حل مي كنند حال آنكه افراد عاقل از پيش آمدن آن ها جلوگيري مي كنند.“ 
Einstein
فلسفه آزمون 7
فلسفه آزمون 8 
تعريف آزمون 
2002 : فرآيند همزمان با مهندس ي نرم افزار براي ارزيابي و بهبود کيفيت نرم افزار 
Testware ) •آزمون افزار )مستندات و ابزارآلات آزمون 
•هيچ اسمي از يافت خطا برده نمي شود! 
1983 : فعاليتي به منظور ارزيابي صفتي از برنامه 
1979 : اجراي برنامه به منظور يافت خطا 
•آزمون در انتهاي چرخه توليد نرم افزار 
•هدف اصلي: يافت خطا 
Assessment •ارزيابي 
Quality Measures •مقياس کيفيت نرم افزار
آزمون نرم افزار چيست؟ 
Shall Is 
فلسفه آزمون 9 
آزمون به 
فرآيند  
برنامه ريزي  
آماده سازي  
ارزيابي محصولات نرم افزاري  
با هدف  
تعيين ميزان تطابق سيستم با مشخصات و نيازمندي هاي موجود  
اثبات تناسب سيستم با مورد استفاده مربوطه  
يافتن خطاهاي موجود در سيستم  
گفته مي شود 
the process of comparing "what is" with "what ought to be."
• Functional 
قابل ارجاع به يک نيازمندي مشتري • Non-Functional 
• اتمام مدل نيازمندي مهيا شدن بسيار زودتر از شروع آزمون 
از کوچک به بزرگ 
3• نفر سوم rd Party 
• Exhaustive 
همه حالات برنامه را نمي توان آزمون کرد Test 
80 درصد خطاهاي کشف نشده تنها در 20 درصد • 
قسمتهاي نرم افزاري هستند 
Pareto 80/20 
اصول 
Principles 
فلسفه آزمون 10
آزمون پذيري 
Testability 
11 
• هر چي بهتر کار کنه بهتر ميشه تستش کرد 
• خطاي بازدارنده 
• همزماني آزمون و توليد 
Operability 
Controllability 
• تجزيه کار آزمون و نتايج و حذف وابستگي ها 
• بررس ي وابستگي ها 
Decomposability 
• تغييرات کم 
• تغييرات کنترل شده 
Stability 
• هر چه مي بيني همون رو تست ميکني 
• دسترس ي به اتفاقات داخلي )حالتهاي قبل، گامهاي طي شده تا اينجا، 
جدول، کد( 
Observability 
• Structural (CBS, Layered, 
..) 
• Functional 
Simplicity 
هر چي بيشتر بدوني، با هوشتر تست ميکني • Understandability 
فلسفه آزمون
12 
Polar 3دسامبر 1999 ، مريخ نورد  
ناپديد شد. 
دليل خرابي، خطا در مقدار دهي به يك بيت  
حافظه بوده است كه باعث شده تا مريخ 
نورد در ارتفاع 1800 پايي سطح مريخ 
موتورش خاموش شود. 
خطاي مربوطه باعث سقوط مريخ پيماي  
شد! Polar 
خطاي مربوطه توسط تيم تست ناسا كشف  
نشده بود. 
ناسا متحمل 110 ميليون دلار زيان مالي  
شد! 
فلسفه آزمون 
شيرشاه Disney اولين بازي شركت  
براي كودكان )The Lion King( 
روز كريسمس منتشر شد. 
26 دسامبر، دپارتمان پشتيباني شركت  
به جهنم تبديل شد! 
برنامه تنها روي يك ويرايش سيستم عامل  
تست شده بود. 
بازي مربوطه روي بسياري از سيستم  
هاي عامل اجرا نمي شد
Fundamentals فلسفه آزمون 
چرا آزمون  
Test چيستي آزمون  
Objectives اهداف آزمون  
Principles اصول آزمون  
Testability آزمون پذيري  
اهميت آزمون  
13
Test Apply اجراي آزمون 
Test Case مورد آزمون 
Test Scenario سناريوي آزمون 
Test Case State Transition چرخه مورد آزمون 
و چرخه آن Bug خطا 
14
اجراي آزمون 15 
Test Case مورد آزمون 
راهنماي اجراي آزمون )مثال(  
آزمونگر بدون مورد آزمون، حق آزمون ندارد! چرا؟  
چطور آزمون خود را به نيازمندي مشتري ارجاع دهد؟  
چطور اثبات درستي و کيفيت نيازمندي را اثبات کند؟  
چطور اثبات کند که در حال آزمون است؟  
سناريوي آزمون )مثال(  
مورد آزموني که در بردارنده جريان کار در چندين مورد کاربرد مختلف  
پس چرا برخي آزمونگران بدون مورد آزمون، آزمون مي کنند؟ 
16 
اجراي آزمون 
نام شماره سطح زير سيستم و نسخه نرم افزار سناريو )بله/خير( تاريخچه مورد آزمونهاي مرتبط 
طراح آزمونگر وضعيت دليل وزن الصاقات خطاهاي مرتبط 
Test Description شرح کلي آزمون Test Steps گامهاي آزمون 
- هدف مورد آزمون و شرح 
- شرح نکات ابهام آميز 
نکته: هيچ گام و نتيجه اي در اين قسمت نوشته نمي شود. 
- گام هاي آزمون دقيق و کامل 
- بدون ابهام براي تستر 
نکته: پاسخهاي سيستمي در اين قسمت بيان نمي شوند. 
Pre Condition پيش شرط Expected Results نتيجه مورد انتظار 
- پيش شرط هاي غير بديهي 
- داده آزمون )اختياري ( 
پيش شرط هاي بديهي مانند 
- تعيين سال مالي 
- داشتن دسترس ي لازم 
نتايج مورد انتظار با توجه به 
- گامها 
- پيش شرط 
نکتهه: فعاليتهااي کااربر در ايان قسامت بياان نمهي شاوند. باه عباارتي ديگار 
عماال در گااام هاااي آزمااون مشاااخا مااي شااود و عکااس العماال در نتيجاااه 
مورد انتظار.
17 
چرخه مورد آزمون 
اجراي آزمون 
مثال
خطا 
Error . عمل انجام شده توسط افراد كه باعث ايجاد نتيجه اشتباه مي شود Error 
مي شوند. Fault ها معمولا منجر به بروز يک يا چندين 
نگاه داخلي نقص ي در سيستم كه باعث مي شود سيستم نتواند كاركرد :Fault 
مورد انتظارش را انجام دهد. 
نگاه خارجي انحراف سيستم از ارائه سرويس مورد انتظارش را :Failure 
مي گويند Failure 
18 
ممكن است باعث شود 
اجراي آزمون
اجراي آزمون 19 
خطا )ادامه( 
Etymology ريشه شناس ي  
Bug  
مهندس ي سخت افزار غير رايانه  
Edison: 1878  
Pinball: 1931  
1946 : رايانه الکترومکانيکال  
دانشکده هاروارد، آزمايشگاه محاسبات  
Debug 
اجراي آزمون 20 
گزارش خطا 
هر چه پر بارتر، يافت منشا خطا و رفع آن سريعتر  
گزارش خطاي موثر  
قابليت باز توليد  
شرح صريح و گام به گام تا برخورد به خطا  
داراي صفات  
شماره خطا، مورد آزمون متناظر، گزارشگر، زير سيستم و نسخه، سخت  
افزار و سيستم عامل و ... 
)Enhancement ،Trivial ،Minor ،Major ،Critical ،Blocker(Severity شدت  
فرق آن با شدت؟( (Priority اولويت 
اجراي آزمون 21 
چرخه خطا
22 
Test Apply اجراي آزمون 
Test Case مورد آزمون  
Test Scenario سناريوي آزمون  
Test Case State Transition چرخه مورد آزمون  
و چرخه آن Bug خطا 
23 
طراحي مورد آزمون 
Test(Case) Design 
طراحي مورد آزمون 
استراتژي )سطح( آزمون 
- تکنيک در برابر استراتژي 
Unit - واحد 
Integration - يکپارچگي 
System - سيستم 
Validation (Acceptance) - صحت
طراحي مورد آزمون 24 
طراحي مورد آزمون 
منبع )مرجع( توليد  
Use Case مورد کاربرد  
درخواست  
نيازمندي  
قواعد کسب و کار  
مورد کاربرد  
Main Flow گردش اصلي  
Alternate Flow گردشهاي جايگزين 
25 
طراحي مورد آزمون 
طراحي مورد آزمون )ادامه( 
شروع مورد کاربرد 
گردش اصلي 
گردش جايگزين 1 
گردش جايگزين 4 
گردش جايگزين 2 
گردشجايگزين 3 
1 اصلي 
2 اصلي جايگزين 1 
3 اصلي جايگزين 1 جايگزين 2 
4 اصلي جايگزين 3 
5 اصلي جايگزين 3 جايگزين 1 
6 اصلي جايگزين 3 جايگزين 1 جايگزين 2 
7 اصلي جايگزين 4 
8 اصلي جايگزين 3 جايگزين 4 
طراحي سناريوي آزمون؟ 
مثال براي مورد آزمون و سناريوي آزمون
26 
طراحي موردآزمون 
نام شماره سطح زير سيستم و نسخه نرم افزار سناريو )بله/خير( تاريخچه مورد آزمونهاي مرتبط 
طراح آزمونگر وضعيت دليل وزن الصاقات خطاهاي مرتبط 
Test Description شرح کلي آزمون Test Steps گامهاي آزمون 
- هدف مورد آزمون و شرح 
- شرح نکات ابهام آميز 
نکته: هيچ گام و نتيجه اي در اين قسمت نوشته نمي شود. 
- گام هاي آزمون دقيق و کامل 
- بدون ابهام براي تستر 
نکته: پاسخهاي سيستمي در اين قسمت بيان نمي شوند. 
Pre Condition پيش شرط Expected Results نتيجه مورد انتظار 
- پيش شرط هاي غير بديهي 
- داده آزمون )اختياري ( 
پيش شرط هاي بديهي مانند 
- تعيين سال مالي 
- داشتن دسترس ي لازم 
نتايج مورد انتظار با توجه به 
- گامها 
- پيش شرط 
نکتهه: فعاليتهااي کااربر در ايان قسامت بياان نمهي شاوند. باه عباارتي ديگار 
عماال در گااام هاااي آزمااون مشاااخا مااي شااود و عکااس العماال در نتيجاااه 
مورد انتظار.
طراحي مورد آزمون 27 
طراحي مورد آزمون )ادامه( 
داشتن الگو و استاندارد مشخا  
جملات سوم شخا و قابل فهم براي کودک!  
Reuse قابل استفاده مجدد بودن  
Robustness وCorrectness نگرش مثبت و منفي  
خلاصه و مفيد بودن  
Test Data داده آزمون  
اولويت بندي موارد آزمون  
لينک کردن درخواست، نيازمندي يا مورد آزمون ديگر به مورد آزمون  
)Pesticide Paradox( به روزنگهداشتن، حذف 
طراحي مورد آزمون 28 
استراتژي )سطح()انواع( آزمون 
به چه کس ي چه کيفيتي رو اثبات ميکنيد؟  
استراتژي در برابر تکنيک آزمون 
طراحي مورد آزمون 29 
Unit Test آزمون واحد 
اولين و جزئي ترين سطح آزمون  
آزمون جزء: کوچکترين واحد قابل آزمون  
آزمونگر  
توسعه دهنده  
طراح  
مشتري  
Module ماژول ،Component آزمون مولفه 
طراحي مورد آزمون 30 
Integration Test آزمون يکپارچگي 
واسط بين اجزاء و روابطآن ها  
Top-Down  
Bottom-Up  
Regression  
Impact Analysis  
Smoke  
قطعه سخت افزاري براي اولين بار روشن مي شود، اگر آتش نگيرد يعني احتمالا كار مي كند!  
آزمونگر  
توسعه دهنده  
طراح  
تحليلگر  
مشتري 
طراحي مورد آزمون 31 
Validation Test ؟ آزمون 
Validation Vs. Verification  
درست کار مي کند  
کار درستي مي کند  
شرط پذيرش، اعتبار، قبولي: سند نيازمندي  
در دو زير سطح  
مشتري در محل توليد :Alpha  
مشتري در محل استفاده :Beta  
آزمونگر  
3rd Party  
مشتري  
Acceptance 
طراحي مورد آزمون 32 
System Test آزمون سيستم 
Recovery  
Data  
Check Point  
MTTR  
Security  
Stress  
Abnormal Resource Demand (Quantity, Frequency, Volume)  
Performance  
Sanity  
Stable Enough to TEST  
Load  
Usability  
Reliability  
Four 9 
33 
طراحي مورد آزمون 
Test(Plan) Design 
طراحي مورد آزمون 
طراحي مورد آزمون  
استراتژي )سطح( آزمون  
تکنيک در برابر استراتژي  
Unit واحد  
Integration يکپارچگي  
System سيستم  
Validation (Acceptance) صحت 
طراحي مورد آزمون 34
35 
Test Technique تکنيک آزمون 
White/Black Box جعبه سياه و سفيد 
Static/Dynamic ايستا و پويا
تکنيک آزمون 36 
دسته بندي تکنيک ها 
Observability ميزان مشاهده  
تنها ورودي و خروجي مشاهده پذيرند :Black Box جعبه سياه  
اجزاي اجراي داخلي :White Clear Box ) جعبه سفيد )جعبه شيشه اي  
نيز مشاهده پذيرند 
قابليت اجرا  
ايستا: بدون اجراي برنامه  
پويا: با اجراي برنامه 
37 
Techniques 
Dynamic 
Structure-based 
Code 
Coverage 
Experience-based 
Error Guessing 
Exploratory 
Specification-based 
Equivalence 
Partitioning 
تکنيک آزمون 
Boundary Value 
Analysis 
Decision Tables 
State 
Transition 
Comparison 
Static 
Review Static 
Analysis 
Control Flow 
Data Flow
38 
Test Technique تکنيک آزمون 
White/Black Box جعبه سياه و سفيد  
Static/Dynamic ايستا و پويا 
39 
Test Plan برنامه ريزي )فرآيند( آزمون 
جايگاه در فرآيند توليد نرم افزار 
استاندارد برگزاري آزمون 
شروع آزمون 
پايان آزمون )شرط توقف/بازشروع( 
جمع آوري اطلاعات 
بررسي کيفيت برگزاري و کيفيت نرم افزار )معيارها(
برنامه ريزي )فرآيند( آزمون 40 
جايگاه در فرآيند توليد نرم افزار 
نگرش  
در گذشته )طبق تعريف گذشته(: آزمون بعد از توليد  
امروزه: آزمون به موازات توليد  
کشف خطا هر چه سريعتر، خرابي کمتر 
41 
15% 
ريشه هاي خطا % 5 
20% 60% 
نيازمندي 
طراحي 
پياده سازي 
ساير 
هزينه خطا ها 
برنامه ريزي )فرآيند( آزمون
42 
نيازهاي كسب و 
كار 
نيازهای ذينفعان 
مشخصات 
سيستم)نيازمندی ها( 
طراحي سيستم 
طراحي اجزا 
پياده سازي 
انتشار سيستم 
تست سيستم 
تست يكپارچگي 
تست اجزا 
تست پذيرش 
برنامه ريزي )فرآيند( آزمون
43 
فرآيند آزمون 
کنترل )نظارت( 
برنامه ريزي آزمون 
تحليل و انتخاب 
استراتژي آزمون 
طراحي موارد آزمون 
و اجراي آنها 
برنامه ريزي )فرآيند( آزمون 
گزارش و تحليل 
نتايج 
بررس ي کيفيت 
فرآيند و کيفيت 
نرم افزار
برنامه ريزي )فرآيند( آزمون 44 
استاندارد طرح آزمون نرم افزار 
طرح آزمون  
سندي كه دامنه ، روش ، برنامه اجرايي و ضوابط آزمون را از پيش مشخا مي سازد.  
استاندارد  
فايل استاندارد  
شرايط آغاز، توقف، شروع مجدد و پايان  
آنچه آزمون نخواهد شد!  
شرايط انتشار محصول  
ساختار سازماني آزمون 
برنامه ريزي )فرآيند( آزمون 45 
کيفيت فرآيند و کيفيت نرم افزار )معيارها( 
گزارشات مديريتي  
پوشش دهي  
وضعيت موارد آزمون  
وضعيت خطاها  
عملكرد افراد  
ميانگين سن خطا  
گزارشهاي عملياتي  
موارد آزمون مردودي كه خطا ندارند  
موارد آزمون مردودي كه تمام خطاهايشان بسته شده است  
موارد آزمون مردودي كه خطاي باز دارند  
خطاهايي كه به هيچ مورد آزموني متصل نيستند  
خطاهايي كه به موارد آزمون غيرفعال متصل هستند 
46 
برنامه ريزي )فرآيند( آزمون 
نمونه گزارش 1 
نمونه گزارش 2
47 
ممكن است فكر 
كنيد اينجا هستيد 
ممكن است اينجا 
باشيد! 
تعداد 
خطاي كم 
كيفيت تست 
تعداد 
خطاي كم 
كيفيتنرم افزار
48 
Test Plan برنامه ريزي )فرآيند( آزمون 
جايگاه در فرآيند توليد نرم افزار  
استاندارد برگزاري آزمون  
شروع آزمون  
پايان آزمون )شرط توقف/بازشروع(  
جمع آوري اطلاعات  
بررسي کيفيت برگزاري و کيفيت نرم افزار )معيارها( 
کارهاي آينده 
49 
Automated Test آزمون خودکار 
Object Oriented Testing آزمون شي گرا 
Clean Room Software Engineering
50

Más contenido relacionado

Destacado

automated+software+testing+tools.pdf
automated+software+testing+tools.pdfautomated+software+testing+tools.pdf
automated+software+testing+tools.pdfempite
 
Free Software - Persian Edition
Free Software - Persian EditionFree Software - Persian Edition
Free Software - Persian EditionMehdi Parhizi
 
Software testing
Software testingSoftware testing
Software testingAli Daniyal
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and typesConfiz
 
Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life CycleUdayakumar Sree
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing BasicsBelal Raslan
 

Destacado (6)

automated+software+testing+tools.pdf
automated+software+testing+tools.pdfautomated+software+testing+tools.pdf
automated+software+testing+tools.pdf
 
Free Software - Persian Edition
Free Software - Persian EditionFree Software - Persian Edition
Free Software - Persian Edition
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
 
Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life Cycle
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing Basics
 

Similar a Software Test

RUP (Rational Unified Process)
RUP (Rational Unified Process)RUP (Rational Unified Process)
RUP (Rational Unified Process)Javad Pourhosaini
 
ارزیابی امنیتی محصولات فناوری اطلاعات(ISO 15408 Common Criteria)- بخش دوم
ارزیابی امنیتی محصولات فناوری اطلاعات(ISO 15408 Common Criteria)- بخش دومارزیابی امنیتی محصولات فناوری اطلاعات(ISO 15408 Common Criteria)- بخش دوم
ارزیابی امنیتی محصولات فناوری اطلاعات(ISO 15408 Common Criteria)- بخش دومMahdi Sayyad
 
ISO15408CC_ارزیابی امنیتی محصول.pdf
ISO15408CC_ارزیابی امنیتی محصول.pdfISO15408CC_ارزیابی امنیتی محصول.pdf
ISO15408CC_ارزیابی امنیتی محصول.pdfMahdi Sayyad
 
انجام پروژه متلب
انجام پروژه متلبانجام پروژه متلب
انجام پروژه متلبmrk
 
Spc project manual
Spc project manualSpc project manual
Spc project manualmahdigh7
 
Process mining tools and defines
Process mining tools and definesProcess mining tools and defines
Process mining tools and definesElham Azarian
 
ISO/IEC 15408-Common Criteria: ارزیابی امنیتی محصولات فناوری اطلاعات
ISO/IEC 15408-Common Criteria: ارزیابی امنیتی محصولات فناوری اطلاعاتISO/IEC 15408-Common Criteria: ارزیابی امنیتی محصولات فناوری اطلاعات
ISO/IEC 15408-Common Criteria: ارزیابی امنیتی محصولات فناوری اطلاعاتMahdi Sayyad
 
android_test_approach
android_test_approachandroid_test_approach
android_test_approachSadegh Saberi
 
Scrum Challenges | By Yaghob Yavari
Scrum Challenges | By Yaghob YavariScrum Challenges | By Yaghob Yavari
Scrum Challenges | By Yaghob YavariIran Agile Community
 
10- Scrum Challenges - Yaghob Yavari
10- Scrum Challenges - Yaghob Yavari10- Scrum Challenges - Yaghob Yavari
10- Scrum Challenges - Yaghob YavariAli Moghadam
 
چارچوب متن باز جهت توسعه سیستم های نرم افزاری
چارچوب متن باز جهت توسعه سیستم های نرم افزاریچارچوب متن باز جهت توسعه سیستم های نرم افزاری
چارچوب متن باز جهت توسعه سیستم های نرم افزاریعباس بني اسدي مقدم
 
کنترل های کاربردی
کنترل های کاربردیکنترل های کاربردی
کنترل های کاربردیAydaMohammadi
 
A Novel Aprroach for smart contract audit.pdf
A Novel Aprroach for smart contract audit.pdfA Novel Aprroach for smart contract audit.pdf
A Novel Aprroach for smart contract audit.pdfSaeidGhasemshirazi
 
ارزیابی سامانه‌های رایانه‌ای با کمک شبیه‌سازی
ارزیابی سامانه‌های رایانه‌ای با کمک شبیه‌سازیارزیابی سامانه‌های رایانه‌ای با کمک شبیه‌سازی
ارزیابی سامانه‌های رایانه‌ای با کمک شبیه‌سازیSadegh Dorri N.
 
Lean Six Sigma Introduction
Lean Six Sigma IntroductionLean Six Sigma Introduction
Lean Six Sigma Introductionpouyafani
 
Machine learning and big-data-in-physics 13970711-Dr. Amin Nezarat
Machine learning and big-data-in-physics 13970711-Dr. Amin NezaratMachine learning and big-data-in-physics 13970711-Dr. Amin Nezarat
Machine learning and big-data-in-physics 13970711-Dr. Amin Nezarataminnezarat
 

Similar a Software Test (20)

RUP (Rational Unified Process)
RUP (Rational Unified Process)RUP (Rational Unified Process)
RUP (Rational Unified Process)
 
مدیریت کیفیت داده
مدیریت کیفیت دادهمدیریت کیفیت داده
مدیریت کیفیت داده
 
ارزیابی امنیتی محصولات فناوری اطلاعات(ISO 15408 Common Criteria)- بخش دوم
ارزیابی امنیتی محصولات فناوری اطلاعات(ISO 15408 Common Criteria)- بخش دومارزیابی امنیتی محصولات فناوری اطلاعات(ISO 15408 Common Criteria)- بخش دوم
ارزیابی امنیتی محصولات فناوری اطلاعات(ISO 15408 Common Criteria)- بخش دوم
 
FMEA presentation
FMEA presentationFMEA presentation
FMEA presentation
 
ISO15408CC_ارزیابی امنیتی محصول.pdf
ISO15408CC_ارزیابی امنیتی محصول.pdfISO15408CC_ارزیابی امنیتی محصول.pdf
ISO15408CC_ارزیابی امنیتی محصول.pdf
 
انجام پروژه متلب
انجام پروژه متلبانجام پروژه متلب
انجام پروژه متلب
 
Scrum Presentation
Scrum PresentationScrum Presentation
Scrum Presentation
 
Spc project manual
Spc project manualSpc project manual
Spc project manual
 
Process mining tools and defines
Process mining tools and definesProcess mining tools and defines
Process mining tools and defines
 
ISO/IEC 15408-Common Criteria: ارزیابی امنیتی محصولات فناوری اطلاعات
ISO/IEC 15408-Common Criteria: ارزیابی امنیتی محصولات فناوری اطلاعاتISO/IEC 15408-Common Criteria: ارزیابی امنیتی محصولات فناوری اطلاعات
ISO/IEC 15408-Common Criteria: ارزیابی امنیتی محصولات فناوری اطلاعات
 
ATM
ATMATM
ATM
 
android_test_approach
android_test_approachandroid_test_approach
android_test_approach
 
Scrum Challenges | By Yaghob Yavari
Scrum Challenges | By Yaghob YavariScrum Challenges | By Yaghob Yavari
Scrum Challenges | By Yaghob Yavari
 
10- Scrum Challenges - Yaghob Yavari
10- Scrum Challenges - Yaghob Yavari10- Scrum Challenges - Yaghob Yavari
10- Scrum Challenges - Yaghob Yavari
 
چارچوب متن باز جهت توسعه سیستم های نرم افزاری
چارچوب متن باز جهت توسعه سیستم های نرم افزاریچارچوب متن باز جهت توسعه سیستم های نرم افزاری
چارچوب متن باز جهت توسعه سیستم های نرم افزاری
 
کنترل های کاربردی
کنترل های کاربردیکنترل های کاربردی
کنترل های کاربردی
 
A Novel Aprroach for smart contract audit.pdf
A Novel Aprroach for smart contract audit.pdfA Novel Aprroach for smart contract audit.pdf
A Novel Aprroach for smart contract audit.pdf
 
ارزیابی سامانه‌های رایانه‌ای با کمک شبیه‌سازی
ارزیابی سامانه‌های رایانه‌ای با کمک شبیه‌سازیارزیابی سامانه‌های رایانه‌ای با کمک شبیه‌سازی
ارزیابی سامانه‌های رایانه‌ای با کمک شبیه‌سازی
 
Lean Six Sigma Introduction
Lean Six Sigma IntroductionLean Six Sigma Introduction
Lean Six Sigma Introduction
 
Machine learning and big-data-in-physics 13970711-Dr. Amin Nezarat
Machine learning and big-data-in-physics 13970711-Dr. Amin NezaratMachine learning and big-data-in-physics 13970711-Dr. Amin Nezarat
Machine learning and big-data-in-physics 13970711-Dr. Amin Nezarat
 

Más de Hossein Fani

ECIR23: A Streaming Approach to Neural Team Formation Training
ECIR23: A Streaming Approach to Neural Team Formation TrainingECIR23: A Streaming Approach to Neural Team Formation Training
ECIR23: A Streaming Approach to Neural Team Formation TrainingHossein Fani
 
SEKE15: An ontology for describing security events
SEKE15: An ontology for describing security eventsSEKE15: An ontology for describing security events
SEKE15: An ontology for describing security eventsHossein Fani
 
ECIR20: Temporal Latent Space Modeling for Community Prediction
ECIR20: Temporal Latent Space Modeling for Community PredictionECIR20: Temporal Latent Space Modeling for Community Prediction
ECIR20: Temporal Latent Space Modeling for Community PredictionHossein Fani
 
CIKM17: temporally like-minded user community identification through neural ...
CIKM17: temporally like-minded user community identification through  neural ...CIKM17: temporally like-minded user community identification through  neural ...
CIKM17: temporally like-minded user community identification through neural ...Hossein Fani
 
CIKM AnalytiCup 2017: Bagging Model for Product Title Quality with Noise
CIKM AnalytiCup 2017: Bagging Model for Product Title Quality with NoiseCIKM AnalytiCup 2017: Bagging Model for Product Title Quality with Noise
CIKM AnalytiCup 2017: Bagging Model for Product Title Quality with NoiseHossein Fani
 
WSDM16: Temporal Formation and Evolution of Online Communities
WSDM16: Temporal Formation and Evolution of Online CommunitiesWSDM16: Temporal Formation and Evolution of Online Communities
WSDM16: Temporal Formation and Evolution of Online CommunitiesHossein Fani
 
Latent Community Analysis: PhD Proposal
Latent Community Analysis: PhD ProposalLatent Community Analysis: PhD Proposal
Latent Community Analysis: PhD ProposalHossein Fani
 
Moviesion: Content-based Movie Recommender Fueled by Linked Open Data
Moviesion: Content-based Movie Recommender Fueled by Linked Open DataMoviesion: Content-based Movie Recommender Fueled by Linked Open Data
Moviesion: Content-based Movie Recommender Fueled by Linked Open DataHossein Fani
 
Exploratory Social Network Analysis with Pajek: Blockmodels
Exploratory Social Network Analysis with Pajek: BlockmodelsExploratory Social Network Analysis with Pajek: Blockmodels
Exploratory Social Network Analysis with Pajek: BlockmodelsHossein Fani
 
Exploratory Social Network Analysis: Ranking
Exploratory Social Network Analysis: RankingExploratory Social Network Analysis: Ranking
Exploratory Social Network Analysis: RankingHossein Fani
 
Exploratory Social Network Analysis with Pajek: Diffusion
Exploratory Social Network Analysis with Pajek: DiffusionExploratory Social Network Analysis with Pajek: Diffusion
Exploratory Social Network Analysis with Pajek: DiffusionHossein Fani
 
Exploratory Social Network Analysis with Pajek: Center & Periphery
Exploratory Social Network Analysis with Pajek: Center & PeripheryExploratory Social Network Analysis with Pajek: Center & Periphery
Exploratory Social Network Analysis with Pajek: Center & PeripheryHossein Fani
 
Exploratory Social Network Analysis with Pajek: Sentiments & Friendship
Exploratory Social Network Analysis with Pajek: Sentiments & FriendshipExploratory Social Network Analysis with Pajek: Sentiments & Friendship
Exploratory Social Network Analysis with Pajek: Sentiments & FriendshipHossein Fani
 
Exploratory Social Network Analysis with Pajek: Attributes & Relations
Exploratory Social Network Analysis with Pajek: Attributes & RelationsExploratory Social Network Analysis with Pajek: Attributes & Relations
Exploratory Social Network Analysis with Pajek: Attributes & RelationsHossein Fani
 
Ontology Engineering
Ontology EngineeringOntology Engineering
Ontology EngineeringHossein Fani
 
Philosophical Software Developing
Philosophical Software DevelopingPhilosophical Software Developing
Philosophical Software DevelopingHossein Fani
 

Más de Hossein Fani (18)

ECIR23: A Streaming Approach to Neural Team Formation Training
ECIR23: A Streaming Approach to Neural Team Formation TrainingECIR23: A Streaming Approach to Neural Team Formation Training
ECIR23: A Streaming Approach to Neural Team Formation Training
 
SEKE15: An ontology for describing security events
SEKE15: An ontology for describing security eventsSEKE15: An ontology for describing security events
SEKE15: An ontology for describing security events
 
ECIR20: Temporal Latent Space Modeling for Community Prediction
ECIR20: Temporal Latent Space Modeling for Community PredictionECIR20: Temporal Latent Space Modeling for Community Prediction
ECIR20: Temporal Latent Space Modeling for Community Prediction
 
CIKM17: temporally like-minded user community identification through neural ...
CIKM17: temporally like-minded user community identification through  neural ...CIKM17: temporally like-minded user community identification through  neural ...
CIKM17: temporally like-minded user community identification through neural ...
 
CIKM AnalytiCup 2017: Bagging Model for Product Title Quality with Noise
CIKM AnalytiCup 2017: Bagging Model for Product Title Quality with NoiseCIKM AnalytiCup 2017: Bagging Model for Product Title Quality with Noise
CIKM AnalytiCup 2017: Bagging Model for Product Title Quality with Noise
 
WSDM16: Temporal Formation and Evolution of Online Communities
WSDM16: Temporal Formation and Evolution of Online CommunitiesWSDM16: Temporal Formation and Evolution of Online Communities
WSDM16: Temporal Formation and Evolution of Online Communities
 
Latent Community Analysis: PhD Proposal
Latent Community Analysis: PhD ProposalLatent Community Analysis: PhD Proposal
Latent Community Analysis: PhD Proposal
 
Moviesion: Content-based Movie Recommender Fueled by Linked Open Data
Moviesion: Content-based Movie Recommender Fueled by Linked Open DataMoviesion: Content-based Movie Recommender Fueled by Linked Open Data
Moviesion: Content-based Movie Recommender Fueled by Linked Open Data
 
Exploratory Social Network Analysis with Pajek: Blockmodels
Exploratory Social Network Analysis with Pajek: BlockmodelsExploratory Social Network Analysis with Pajek: Blockmodels
Exploratory Social Network Analysis with Pajek: Blockmodels
 
Exploratory Social Network Analysis: Ranking
Exploratory Social Network Analysis: RankingExploratory Social Network Analysis: Ranking
Exploratory Social Network Analysis: Ranking
 
Exploratory Social Network Analysis with Pajek: Diffusion
Exploratory Social Network Analysis with Pajek: DiffusionExploratory Social Network Analysis with Pajek: Diffusion
Exploratory Social Network Analysis with Pajek: Diffusion
 
Exploratory Social Network Analysis with Pajek: Center & Periphery
Exploratory Social Network Analysis with Pajek: Center & PeripheryExploratory Social Network Analysis with Pajek: Center & Periphery
Exploratory Social Network Analysis with Pajek: Center & Periphery
 
Exploratory Social Network Analysis with Pajek: Sentiments & Friendship
Exploratory Social Network Analysis with Pajek: Sentiments & FriendshipExploratory Social Network Analysis with Pajek: Sentiments & Friendship
Exploratory Social Network Analysis with Pajek: Sentiments & Friendship
 
Exploratory Social Network Analysis with Pajek: Attributes & Relations
Exploratory Social Network Analysis with Pajek: Attributes & RelationsExploratory Social Network Analysis with Pajek: Attributes & Relations
Exploratory Social Network Analysis with Pajek: Attributes & Relations
 
Temporal Network
Temporal NetworkTemporal Network
Temporal Network
 
Ontology Engineering
Ontology EngineeringOntology Engineering
Ontology Engineering
 
Philosophical Software Developing
Philosophical Software DevelopingPhilosophical Software Developing
Philosophical Software Developing
 
Trend Analysis
Trend AnalysisTrend Analysis
Trend Analysis
 

Software Test

  • 1. پيش گفتار  راوي حسين فاني  طراح  fani@behsazan.net  sites.google.com/site/hosseinfani  مخاطب  Stakeholders ذينفعان سيستم نرم افزاري  مشتري  ...  داستان  آزمون نرم افزار و آزمونگر آن  مديريت آزمون  1
  • 2. مراجع 2 Software Engineering, A Practitioner’s Approach, 5th Ed, Roger S. Pressman Foundation of Software Testing, ISTQB Certification, Dorothy Graham et. al. … Acknowledgment تشکر خانم مرجان فردوس ي پور، گروه شرکتهاي همکاران سيستم
  • 3. آزمون نرم افزار راهکار عملي Software Test; Practitioner's Approach حسين فاني تابستان 92
  • 4. آنچه در اين سمينار خواهد آمد  Fundamentals فلسفه آزمون  چرا آزمون  Objectives اهداف آزمون  Principles اصول آزمون  Testability آزمون پذيري  اهميت آزمون  Test Apply اجراي آزمون  Test Case مورد آزمون  Test Scenario سناريوي آزمون  Test Case State Transition چرخه مورد آزمون  و چرخه آن Bug خطا  Test Design طراحي مورد آزمون  تکنيک در برابر استراتژي آزمون  استراتژي )سطح( آزمون  Unit واحد  Integration يکپارچگي  Validation (Acceptance) صحت  System سيستم  تکنيک آزمون  White/Black Box جعبه سياه و سفيد  Static/Dynamic ايستا و پويا  Test Plan برنامه ريزي )فرآيند( آزمون  جايگاه در فرآيند توليد نرم افزار  استاندارد برگزاري آزمون  شروع آزمون  پايان آزمون )شرط توقف/بازشروع(  جمع آوري اطلاعات  بررس ي کيفيت برگزاري وکيفيت نرم افزار )معيارها(  کارهاي آينده  Automated Test آزمون خودکار  Object Oriented Testing آزمون ش ي گرا  Clean Room Software Engineering  4
  • 5. 5 Fundamentals فلسفه آزمون چرا آزمون Test چيستي آزمون Objectives اهداف آزمون Principles اصول آزمون Testability آزمون پذيري اهميت آزمون
  • 6. فلسفه آزمون 6 چرا آزمون انسان ها:  همه چيز را نمي دانند.  داراي دانش محدود هستند.  )Human is Err(. دچار اشتباه مي شوند  نياز به آزمون دارد )Manmade( هر چيز انسان ساز  چطور؟ God made در مورد  نرم افزارها  تحت فشار  محدوديت زماني  ”افراد باهوش مشكلات را حل مي كنند حال آنكه افراد عاقل از پيش آمدن آن ها جلوگيري مي كنند.“ Einstein
  • 8. فلسفه آزمون 8 تعريف آزمون 2002 : فرآيند همزمان با مهندس ي نرم افزار براي ارزيابي و بهبود کيفيت نرم افزار Testware ) •آزمون افزار )مستندات و ابزارآلات آزمون •هيچ اسمي از يافت خطا برده نمي شود! 1983 : فعاليتي به منظور ارزيابي صفتي از برنامه 1979 : اجراي برنامه به منظور يافت خطا •آزمون در انتهاي چرخه توليد نرم افزار •هدف اصلي: يافت خطا Assessment •ارزيابي Quality Measures •مقياس کيفيت نرم افزار
  • 9. آزمون نرم افزار چيست؟ Shall Is فلسفه آزمون 9 آزمون به فرآيند  برنامه ريزي  آماده سازي  ارزيابي محصولات نرم افزاري  با هدف  تعيين ميزان تطابق سيستم با مشخصات و نيازمندي هاي موجود  اثبات تناسب سيستم با مورد استفاده مربوطه  يافتن خطاهاي موجود در سيستم  گفته مي شود the process of comparing "what is" with "what ought to be."
  • 10. • Functional قابل ارجاع به يک نيازمندي مشتري • Non-Functional • اتمام مدل نيازمندي مهيا شدن بسيار زودتر از شروع آزمون از کوچک به بزرگ 3• نفر سوم rd Party • Exhaustive همه حالات برنامه را نمي توان آزمون کرد Test 80 درصد خطاهاي کشف نشده تنها در 20 درصد • قسمتهاي نرم افزاري هستند Pareto 80/20 اصول Principles فلسفه آزمون 10
  • 11. آزمون پذيري Testability 11 • هر چي بهتر کار کنه بهتر ميشه تستش کرد • خطاي بازدارنده • همزماني آزمون و توليد Operability Controllability • تجزيه کار آزمون و نتايج و حذف وابستگي ها • بررس ي وابستگي ها Decomposability • تغييرات کم • تغييرات کنترل شده Stability • هر چه مي بيني همون رو تست ميکني • دسترس ي به اتفاقات داخلي )حالتهاي قبل، گامهاي طي شده تا اينجا، جدول، کد( Observability • Structural (CBS, Layered, ..) • Functional Simplicity هر چي بيشتر بدوني، با هوشتر تست ميکني • Understandability فلسفه آزمون
  • 12. 12 Polar 3دسامبر 1999 ، مريخ نورد  ناپديد شد. دليل خرابي، خطا در مقدار دهي به يك بيت  حافظه بوده است كه باعث شده تا مريخ نورد در ارتفاع 1800 پايي سطح مريخ موتورش خاموش شود. خطاي مربوطه باعث سقوط مريخ پيماي  شد! Polar خطاي مربوطه توسط تيم تست ناسا كشف  نشده بود. ناسا متحمل 110 ميليون دلار زيان مالي  شد! فلسفه آزمون شيرشاه Disney اولين بازي شركت  براي كودكان )The Lion King( روز كريسمس منتشر شد. 26 دسامبر، دپارتمان پشتيباني شركت  به جهنم تبديل شد! برنامه تنها روي يك ويرايش سيستم عامل  تست شده بود. بازي مربوطه روي بسياري از سيستم  هاي عامل اجرا نمي شد
  • 13. Fundamentals فلسفه آزمون چرا آزمون  Test چيستي آزمون  Objectives اهداف آزمون  Principles اصول آزمون  Testability آزمون پذيري  اهميت آزمون  13
  • 14. Test Apply اجراي آزمون Test Case مورد آزمون Test Scenario سناريوي آزمون Test Case State Transition چرخه مورد آزمون و چرخه آن Bug خطا 14
  • 15. اجراي آزمون 15 Test Case مورد آزمون راهنماي اجراي آزمون )مثال(  آزمونگر بدون مورد آزمون، حق آزمون ندارد! چرا؟  چطور آزمون خود را به نيازمندي مشتري ارجاع دهد؟  چطور اثبات درستي و کيفيت نيازمندي را اثبات کند؟  چطور اثبات کند که در حال آزمون است؟  سناريوي آزمون )مثال(  مورد آزموني که در بردارنده جريان کار در چندين مورد کاربرد مختلف  پس چرا برخي آزمونگران بدون مورد آزمون، آزمون مي کنند؟ 
  • 16. 16 اجراي آزمون نام شماره سطح زير سيستم و نسخه نرم افزار سناريو )بله/خير( تاريخچه مورد آزمونهاي مرتبط طراح آزمونگر وضعيت دليل وزن الصاقات خطاهاي مرتبط Test Description شرح کلي آزمون Test Steps گامهاي آزمون - هدف مورد آزمون و شرح - شرح نکات ابهام آميز نکته: هيچ گام و نتيجه اي در اين قسمت نوشته نمي شود. - گام هاي آزمون دقيق و کامل - بدون ابهام براي تستر نکته: پاسخهاي سيستمي در اين قسمت بيان نمي شوند. Pre Condition پيش شرط Expected Results نتيجه مورد انتظار - پيش شرط هاي غير بديهي - داده آزمون )اختياري ( پيش شرط هاي بديهي مانند - تعيين سال مالي - داشتن دسترس ي لازم نتايج مورد انتظار با توجه به - گامها - پيش شرط نکتهه: فعاليتهااي کااربر در ايان قسامت بياان نمهي شاوند. باه عباارتي ديگار عماال در گااام هاااي آزمااون مشاااخا مااي شااود و عکااس العماال در نتيجاااه مورد انتظار.
  • 17. 17 چرخه مورد آزمون اجراي آزمون مثال
  • 18. خطا Error . عمل انجام شده توسط افراد كه باعث ايجاد نتيجه اشتباه مي شود Error مي شوند. Fault ها معمولا منجر به بروز يک يا چندين نگاه داخلي نقص ي در سيستم كه باعث مي شود سيستم نتواند كاركرد :Fault مورد انتظارش را انجام دهد. نگاه خارجي انحراف سيستم از ارائه سرويس مورد انتظارش را :Failure مي گويند Failure 18 ممكن است باعث شود اجراي آزمون
  • 19. اجراي آزمون 19 خطا )ادامه( Etymology ريشه شناس ي  Bug  مهندس ي سخت افزار غير رايانه  Edison: 1878  Pinball: 1931  1946 : رايانه الکترومکانيکال  دانشکده هاروارد، آزمايشگاه محاسبات  Debug 
  • 20. اجراي آزمون 20 گزارش خطا هر چه پر بارتر، يافت منشا خطا و رفع آن سريعتر  گزارش خطاي موثر  قابليت باز توليد  شرح صريح و گام به گام تا برخورد به خطا  داراي صفات  شماره خطا، مورد آزمون متناظر، گزارشگر، زير سيستم و نسخه، سخت  افزار و سيستم عامل و ... )Enhancement ،Trivial ،Minor ،Major ،Critical ،Blocker(Severity شدت  فرق آن با شدت؟( (Priority اولويت 
  • 21. اجراي آزمون 21 چرخه خطا
  • 22. 22 Test Apply اجراي آزمون Test Case مورد آزمون  Test Scenario سناريوي آزمون  Test Case State Transition چرخه مورد آزمون  و چرخه آن Bug خطا 
  • 23. 23 طراحي مورد آزمون Test(Case) Design طراحي مورد آزمون استراتژي )سطح( آزمون - تکنيک در برابر استراتژي Unit - واحد Integration - يکپارچگي System - سيستم Validation (Acceptance) - صحت
  • 24. طراحي مورد آزمون 24 طراحي مورد آزمون منبع )مرجع( توليد  Use Case مورد کاربرد  درخواست  نيازمندي  قواعد کسب و کار  مورد کاربرد  Main Flow گردش اصلي  Alternate Flow گردشهاي جايگزين 
  • 25. 25 طراحي مورد آزمون طراحي مورد آزمون )ادامه( شروع مورد کاربرد گردش اصلي گردش جايگزين 1 گردش جايگزين 4 گردش جايگزين 2 گردشجايگزين 3 1 اصلي 2 اصلي جايگزين 1 3 اصلي جايگزين 1 جايگزين 2 4 اصلي جايگزين 3 5 اصلي جايگزين 3 جايگزين 1 6 اصلي جايگزين 3 جايگزين 1 جايگزين 2 7 اصلي جايگزين 4 8 اصلي جايگزين 3 جايگزين 4 طراحي سناريوي آزمون؟ مثال براي مورد آزمون و سناريوي آزمون
  • 26. 26 طراحي موردآزمون نام شماره سطح زير سيستم و نسخه نرم افزار سناريو )بله/خير( تاريخچه مورد آزمونهاي مرتبط طراح آزمونگر وضعيت دليل وزن الصاقات خطاهاي مرتبط Test Description شرح کلي آزمون Test Steps گامهاي آزمون - هدف مورد آزمون و شرح - شرح نکات ابهام آميز نکته: هيچ گام و نتيجه اي در اين قسمت نوشته نمي شود. - گام هاي آزمون دقيق و کامل - بدون ابهام براي تستر نکته: پاسخهاي سيستمي در اين قسمت بيان نمي شوند. Pre Condition پيش شرط Expected Results نتيجه مورد انتظار - پيش شرط هاي غير بديهي - داده آزمون )اختياري ( پيش شرط هاي بديهي مانند - تعيين سال مالي - داشتن دسترس ي لازم نتايج مورد انتظار با توجه به - گامها - پيش شرط نکتهه: فعاليتهااي کااربر در ايان قسامت بياان نمهي شاوند. باه عباارتي ديگار عماال در گااام هاااي آزمااون مشاااخا مااي شااود و عکااس العماال در نتيجاااه مورد انتظار.
  • 27. طراحي مورد آزمون 27 طراحي مورد آزمون )ادامه( داشتن الگو و استاندارد مشخا  جملات سوم شخا و قابل فهم براي کودک!  Reuse قابل استفاده مجدد بودن  Robustness وCorrectness نگرش مثبت و منفي  خلاصه و مفيد بودن  Test Data داده آزمون  اولويت بندي موارد آزمون  لينک کردن درخواست، نيازمندي يا مورد آزمون ديگر به مورد آزمون  )Pesticide Paradox( به روزنگهداشتن، حذف 
  • 28. طراحي مورد آزمون 28 استراتژي )سطح()انواع( آزمون به چه کس ي چه کيفيتي رو اثبات ميکنيد؟  استراتژي در برابر تکنيک آزمون 
  • 29. طراحي مورد آزمون 29 Unit Test آزمون واحد اولين و جزئي ترين سطح آزمون  آزمون جزء: کوچکترين واحد قابل آزمون  آزمونگر  توسعه دهنده  طراح  مشتري  Module ماژول ،Component آزمون مولفه 
  • 30. طراحي مورد آزمون 30 Integration Test آزمون يکپارچگي واسط بين اجزاء و روابطآن ها  Top-Down  Bottom-Up  Regression  Impact Analysis  Smoke  قطعه سخت افزاري براي اولين بار روشن مي شود، اگر آتش نگيرد يعني احتمالا كار مي كند!  آزمونگر  توسعه دهنده  طراح  تحليلگر  مشتري 
  • 31. طراحي مورد آزمون 31 Validation Test ؟ آزمون Validation Vs. Verification  درست کار مي کند  کار درستي مي کند  شرط پذيرش، اعتبار، قبولي: سند نيازمندي  در دو زير سطح  مشتري در محل توليد :Alpha  مشتري در محل استفاده :Beta  آزمونگر  3rd Party  مشتري  Acceptance 
  • 32. طراحي مورد آزمون 32 System Test آزمون سيستم Recovery  Data  Check Point  MTTR  Security  Stress  Abnormal Resource Demand (Quantity, Frequency, Volume)  Performance  Sanity  Stable Enough to TEST  Load  Usability  Reliability  Four 9 
  • 33. 33 طراحي مورد آزمون Test(Plan) Design طراحي مورد آزمون طراحي مورد آزمون  استراتژي )سطح( آزمون  تکنيک در برابر استراتژي  Unit واحد  Integration يکپارچگي  System سيستم  Validation (Acceptance) صحت 
  • 35. 35 Test Technique تکنيک آزمون White/Black Box جعبه سياه و سفيد Static/Dynamic ايستا و پويا
  • 36. تکنيک آزمون 36 دسته بندي تکنيک ها Observability ميزان مشاهده  تنها ورودي و خروجي مشاهده پذيرند :Black Box جعبه سياه  اجزاي اجراي داخلي :White Clear Box ) جعبه سفيد )جعبه شيشه اي  نيز مشاهده پذيرند قابليت اجرا  ايستا: بدون اجراي برنامه  پويا: با اجراي برنامه 
  • 37. 37 Techniques Dynamic Structure-based Code Coverage Experience-based Error Guessing Exploratory Specification-based Equivalence Partitioning تکنيک آزمون Boundary Value Analysis Decision Tables State Transition Comparison Static Review Static Analysis Control Flow Data Flow
  • 38. 38 Test Technique تکنيک آزمون White/Black Box جعبه سياه و سفيد  Static/Dynamic ايستا و پويا 
  • 39. 39 Test Plan برنامه ريزي )فرآيند( آزمون جايگاه در فرآيند توليد نرم افزار استاندارد برگزاري آزمون شروع آزمون پايان آزمون )شرط توقف/بازشروع( جمع آوري اطلاعات بررسي کيفيت برگزاري و کيفيت نرم افزار )معيارها(
  • 40. برنامه ريزي )فرآيند( آزمون 40 جايگاه در فرآيند توليد نرم افزار نگرش  در گذشته )طبق تعريف گذشته(: آزمون بعد از توليد  امروزه: آزمون به موازات توليد  کشف خطا هر چه سريعتر، خرابي کمتر 
  • 41. 41 15% ريشه هاي خطا % 5 20% 60% نيازمندي طراحي پياده سازي ساير هزينه خطا ها برنامه ريزي )فرآيند( آزمون
  • 42. 42 نيازهاي كسب و كار نيازهای ذينفعان مشخصات سيستم)نيازمندی ها( طراحي سيستم طراحي اجزا پياده سازي انتشار سيستم تست سيستم تست يكپارچگي تست اجزا تست پذيرش برنامه ريزي )فرآيند( آزمون
  • 43. 43 فرآيند آزمون کنترل )نظارت( برنامه ريزي آزمون تحليل و انتخاب استراتژي آزمون طراحي موارد آزمون و اجراي آنها برنامه ريزي )فرآيند( آزمون گزارش و تحليل نتايج بررس ي کيفيت فرآيند و کيفيت نرم افزار
  • 44. برنامه ريزي )فرآيند( آزمون 44 استاندارد طرح آزمون نرم افزار طرح آزمون  سندي كه دامنه ، روش ، برنامه اجرايي و ضوابط آزمون را از پيش مشخا مي سازد.  استاندارد  فايل استاندارد  شرايط آغاز، توقف، شروع مجدد و پايان  آنچه آزمون نخواهد شد!  شرايط انتشار محصول  ساختار سازماني آزمون 
  • 45. برنامه ريزي )فرآيند( آزمون 45 کيفيت فرآيند و کيفيت نرم افزار )معيارها( گزارشات مديريتي  پوشش دهي  وضعيت موارد آزمون  وضعيت خطاها  عملكرد افراد  ميانگين سن خطا  گزارشهاي عملياتي  موارد آزمون مردودي كه خطا ندارند  موارد آزمون مردودي كه تمام خطاهايشان بسته شده است  موارد آزمون مردودي كه خطاي باز دارند  خطاهايي كه به هيچ مورد آزموني متصل نيستند  خطاهايي كه به موارد آزمون غيرفعال متصل هستند 
  • 46. 46 برنامه ريزي )فرآيند( آزمون نمونه گزارش 1 نمونه گزارش 2
  • 47. 47 ممكن است فكر كنيد اينجا هستيد ممكن است اينجا باشيد! تعداد خطاي كم كيفيت تست تعداد خطاي كم كيفيتنرم افزار
  • 48. 48 Test Plan برنامه ريزي )فرآيند( آزمون جايگاه در فرآيند توليد نرم افزار  استاندارد برگزاري آزمون  شروع آزمون  پايان آزمون )شرط توقف/بازشروع(  جمع آوري اطلاعات  بررسي کيفيت برگزاري و کيفيت نرم افزار )معيارها( 
  • 49. کارهاي آينده 49 Automated Test آزمون خودکار Object Oriented Testing آزمون شي گرا Clean Room Software Engineering
  • 50. 50

Notas del editor

  1. خطاي بدي! خورد. چيزي نيست، خطاي ريزيه! اولويت: زمان! محسبه حقوق اشتباه: شدت Critical ولي اولويت متوسط: چون الان تازه 3 ماه است و محاسبه حقوق 30 ماه صورت ميگيره! سال 2038 در سيستمهاي يونيکس: It is possible a similar problem could occur in 2038 (the year 2038 problem), as many Unix systems calculate the time in seconds since 1 January 1970, and store this number as a 32-bit signed integer, for which the maximum possible value is 231 − 1 (2,147,483,647) seconds. حالا شما مثال بزنيد از اولويت بالا ولي شدت پايين: Blocker: No further testing work can be done. Critical: Application crash, Loss of data. Major: Major loss of function. Minor: minor loss of function. Trivial: Some UI enhancements. Enhancement: Request for new feature or some enhancement in existing one Some Bonus tips to write a good bug report: 1) Report the problem immediately: If you found any bug while testing, do not wait to write detail bug report later. Instead write the bug report immediately. This will ensure a good and reproducible bug report. If you decide to write the bug report later on then chances are high to miss the important steps in your report. 2) Reproduce the bug three times before writing bug report:Your bug should be reproducible. Make sure your steps are robust enough to reproduce the bug without any ambiguity. If your bug is not reproducible every time you can still file a bug mentioning the periodic nature of the bug. 3) Test the same bug occurrence on other similar module: Sometimes developer use same code for different similar modules. So chances are high that bug in one module can occur in other similar modules as well. Even you can try to find more severe version of the bug you found. 4) Write a good bug summary: Bug summary will help developers to quickly analyze the bug nature. Poor quality report will unnecessarily increase the development and testing time. Communicate well through your bug report summary. Keep in mind bug summary is used as a reference to search the bug in bug inventory. 5) Read bug report before hitting Submit button: Read all sentences, wording, steps used in bug report. See if any sentence is creating ambiguity that can lead to misinterpretation. Misleading words or sentences should be avoided in order to have a clear bug report. 6) Do not use Abusive language: It’s nice that you did a good work and found a bug but do not use this credit for criticizing developer or to attack any individual.
  2. Resolved: دلايل آن Fixed Rejection Duplicate Non-Reproducable Later نمي ارزه (صلاح نيست انجامش بديم) Change control board آيا هر خطايي تاييد ميشه؟ آيا هر خطاي تاييد شده اي رفع ميشه؟ ممکنه انقدر تاثير بذاره که خطا را به عنوان بخشي از نرم افزار بپذيريم!! ولي تستر فارق از اينکه خطا رفع ميشه يا نه بايد کار خوش رو انجام بده
  3. 30 دقيقه
  4. در سناريوي آزمون گردشها در چندين مورد کاربرد جريان دارد! ارائه چندين مثال از مورد آزمون
  5. نمايش عکس از TFS براي ايجاد يک مورد آزمون و نمايش فيلدهاي آن ارائه چندين مثال از مورد آزمون
  6. جملات امري: نام مشتري را وارد مي کنيم. نام مشتري وارد شود Reuse: مورد تست بايد به گونه اي طراحي شود که بتواند در سناريوهاي ديگر نيز استفاده شود -Correctness : سيستم منطق و رفتار صحيح داشته باشد Robustness-: سيستم در برابر رفتار و ورودي اشتباه، رفتار درست نشان دهد. (گربه روي کيیبور راه بره) خلاصه و مفيد: 100 تا مورد تست کوچيک بهتر است از 10 تا بلند اولويت بندي: ما مجبور شويم بعضي از موارد تست را به دليل کم اهميت بودن تست نکنيم و اين سوال پيش آيد که چه مقدار تست «كافي» است؟
  7. معني استراتژي تست: بهتره از نمون هاي جزئي به دسته بندي کلي رسيد ميخوآي چه صفتي از کيفيت رو بسنجي ميخواي چه خطاهايي رو کشف کني استراتژي: حمله از دور: تکنيک تيرو کمان استراتژي: حمله از نزديک: شمشير
  8. کنترل: فعاليت Umbrella Activity برنامه ريزي: چه استراتژي هايي، چه مواقعي، با چه هزينه اي، شرايط توقف، شرايط انتشار، شرايط تغيير از يک سطح آزمون به سطح ديگر انتخاب استراتژي: چه تکنيکي هايي و از هر يک چه تعداد مورد آزمون گزارش: چه کساني، چه تعداد مورد آزمون، چند تا خطا، چند تا رفع خطا، چند تا خطاي بازدارنده، مهم، ...، از کي تا کي، ... تصميم سازي و تصميم گيري: فرآيند آزمون خوب بوده ولي کيفيت نرمافزار بسيار پايين هست و بايد يه بار ديگه نسخه بخوره!
  9. موارد آزمون غير فعال: مواردي که در اين فرآيند تست آزمون نخواهند شد!
  10. تستر خوب تست خوب فرآيند تست خوب