Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Software Test

1 870 vues

Publié le

Software Test: Introduction to Concepts (Testability of Software, Test Case, Test Scenario, Test Plan, Test Strategies, ...)

Publié dans : Logiciels

Software Test

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

×