Upload
hossein-fani
View
113
Download
1
Embed Size (px)
DESCRIPTION
Software Test: Introduction to Concepts (Testability of Software, Test Case, Test Scenario, Test Plan, Test Strategies, ...)
Citation preview
1
پيش گفتارراوي
حسين فانيطراح[email protected]/site/hosseinfani
مخاطب ذينفعان سيستم نرم افزاريStakeholders
مشتري...
داستانآزمون نرم افزار و آزمونگر آنمديريت آزمون
2
مراجع
Software Engineering, A Practitioner’s Approach, 5th Ed, Roger S. Pressman
Foundation of Software Testing, ISTQB Certification, Dorothy Graham et. al. …
Acknowledgmentتشکر
خانم مرجان فردوسي پور، گروه شرکتهاي همکاران سيستم
آزمون نرم افزار راهکار عملي
حسين فاني92تابستان
Software Test; Practitioner's Approach
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 TestingClean Room Software Engineering
5
فلسفه آزمون Fundamentals
چرا آزمون Testچيستي آزمون Objectivesاهداف آزمون Principlesاصول آزمون Testabilityآزمون پذيري اهميت آزمون
6
چرا آزمون:انسان ها
.همه چيز را نمي دانند.داراي دانش محدود هستند(.دچار اشتباه مي شوندHuman is Err)
( هر چيز انسان سازManmadeنياز به آزمون دارد ) در موردGod madeچطور؟
نرم افزارهاتحت فشارمحدوديت زماني
فلسفه آزمون
افراد باهوش مشكالت را حل مي كنند حال آنكه افراد عاقل از پيش آمدن آن ها ”“.جلوگيري مي كنند
Einstein
7 فلسفه آزمون
تعريف آزمون
: اجراي برنامه به منظور يافت 1979خطا
آزمون در انتهاي چرخه توليد نرم افزار•هدف اصلي: يافت خطا•
: فعاليتي به منظور ارزيابي صفتي از 1983برنامه
Assessmentارزيابي •Quality Measuresمقياس کيفيت نرم افزار •
: فرآيند همزمان با مهندسي نرم افزار براي ارزيابي و بهبود 2002کيفيت نرم افزار
Testwareآزمون افزار )مستندات و ابزارآالت آزمون( •هيچ اسمي از يافت خطا برده نمي شود!•
8 فلسفه آزمون
9
آزمون نرم افزار چيست؟
Shall Is
?>=<
فلسفه آزمون
آزمون به فرآيند
برنامه ريزي آماده سازيارزيابي محصوالت نرم افزاري
هدفبا تعيين ميزان تطابق سيستم با مشخصات و نيازمندي هاي
موجوداثبات تناسب سيستم با مورد استفاده مربوطهيافتن خطاهاي موجود در سيستم
گفته مي شود
the process of comparing "what is" with "what ought to be."
• Functional • Non-Functional
قابل ارجاع به يک نيازمندي مشتري
اتمام مدل •نيازمندي
مهيا شدن بسيار زودتر از شروع آزمون
از کوچک به بزرگ
• 3rd Partyنفر سوم
• Exhaustive Test
همه حاالت برنامه را نمي توان آزمون کرد
درصد خطاهاي کشف نشده تنها در 80•Pareto 80/20 درصد قسمتهاي نرم افزاري هستند20
اصولPrinciples
10 فلسفه آزمون
آزمون پذيري
Testability
11
• هر چي بهتر کار کنه بهتر ميشه تستش کرد
• خطاي بازدارنده• همزماني آزمون و توليد
Operability
Controllability
• تجزيه کار آزمون و نتايج و حذف وابستگي ها
• بررسي وابستگي ها
Decomposability
• تغييرات کم• تغييرات کنترل شده
Stability
هر چه مي بيني همون رو تست ميکني•دسترسي به اتفاقات داخلي )حالتهاي قبل، •
Observabilityگامهاي طي شده تا اينجا، جدول، کد(
• Structural )CBS, Layered, ..(
• Functional
Simplicity
• هر چي بيشتر بدوني، با هوشتر تست ميکني Understandability
فلسفه آزمون
12
3 مريخ نورد 1999دسامبر ،Polar ناپديد شد.
دليل خرابي، خطا در مقدار دهي بهيك بيت حافظه بوده است كه باعث
شده تا مريخ نورد در ارتفاع پايي سطح مريخ موتورش 1800
خاموش شود. خطاي مربوطه باعث سقوط مريخ
شد!Polarپيماي خطاي مربوطه توسط تيم تست
ناسا كشف نشده بود. ميليون دالر زيان 110ناسا متحمل
مالي شد!
اولين بازي شركتDisney ( The Lion Kingشيرشاه )
براي كودكان روز كريسمس منتشر شد.
26 دسامبر، دپارتمان پشتيبانيشركت به جهنم تبديل شد!
برنامه تنها روي يك ويرايشسيستم عامل تست شده بود.
بازي مربوطه روي بسياري ازسيستم هاي عامل اجرا نمي شد
فلسفه آزمون
13
فلسفه آزمون Fundamentals
چرا آزمون چيستي آزمونTest اهداف آزمونObjectives اصول آزمونPrinciples آزمون پذيريTestabilityاهميت آزمون
14
Testاجراي آزمون Apply
Test Caseمورد آزمون Test Scenarioسناريوي آزمون
Test Case Stateچرخه مورد آزمون Transition
و چرخه آنBugخطا
15
Test Caseمورد آزمون ( مثالراهنماي اجراي آزمون)آزمونگر بدون مورد آزمون، حق آزمون ندارد! چرا؟
چطور آزمون خود را به نيازمندي مشتري ارجاع دهد؟چطور اثبات درستي و کيفيت نيازمندي را اثبات کند؟ چطور اثبات کند که در حال آزمون است؟
( مثالسناريوي آزمون) مورد در بردارنده جريان کار در چندين مورد آزموني که
مختلفکاربرد
پس چرا برخي آزمونگران بدون مورد آزمون، آزمون مي کنند؟
اجراي آزمون
16
Test Descriptionشرح کلي آزمون Test Stepsگامهاي آزمون
هدف مورد آزمون و شرح-شرح نکات ابهام آميز-
: هيچ گ¤ام و نتيج¤ه اي در اين قس¤مت نوش¤ته نکتtه نمي شود.
گام هاي آزمون دقيق و کامل -بدون ابهام براي تستر-
: پاس¤خهاي سيس¤تمي در اين قس¤مت بي¤ان نکتtهشوند.نمي
Pre Condition پيش شرط Expected Resultsنتيجه مورد انتظار
بديهيغير پيش شرط هاي -داده آزمون )اختياري(-
پيش شرط هاي بديهي مانند تعيين سال مالي-داشتن دسترسي الزم-
نتايج مورد انتظار با توجه بهگامها-پيش شرط-
بي¤ان نکتtه قس¤مت اين در ک¤اربر فعاليته¤اي :ش¤وند. ب¤ه عب¤ارتي ديگ¤ر عم¤ل در گ¤ام ه¤اي نمي
در العم¤ل و عکس آزم¤ون مش¤خص مي ش¤ود نتيجه مورد انتظار.
مورد آزمونهاي مرتبط
تاريخچه
سناريو )بله/خير(
زير سيستم و نسخه نرم افزار
سطح شماره نام
خطاهاي مرتبط الصاقات
وزن دليل وضعيت
آزمونگر
طراح
اجراي آزمون
17
چرخه مورد آزمون
اجراي آزمون
مثال
خطا
Error عمل انجام شده توسط افراد كه باعث ايجاد ها معموال منجر به بروز Errorنتيجه اشتباه مي شود.
مي شوند.Fault چندينيک يا
Faultنقصي در سيستم كه باعث مي : نگاه داخليشود سيستم نتواند كاركرد مورد انتظارش را انجام
دهد.
Failureانحراف سيستم از ارائه : نگاه خارجي مي گويندFailureسرويس مورد انتظارش را
18
Error Fault Failure
ممكن است باعث شود
اجراي آزمون
19
خطا )ادامه( ريشه شناسيEtymologyBug
مهندسي سخت افزار غير رايانهEdison: 1878Pinball: 1931
1946رايانه الکترومکانيکال :دانشکده هاروارد، آزمايشگاه محاسباتDebug
اجراي آزمون
20
گزارش خطاهر چه پر بارتر، يافت منشا خطا و رفع آن سريعترگزارش خطاي موثر
قابليت باز توليدشرح صريح و گام به گام تا برخورد به خطا
داراي صفات شماره خطا، مورد آزمون متناظر، گزارشگر، زير
سيستم و نسخه، سخت افزار و سيستم عامل و ... شدتSeverity)Blocker، Critical، Major، Minor، Trivial،
Enhancement(
اولويت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جايگزين
1 اصلي 2جايگزين
2جايگزين
1 اصلي 3جايگزين
3 اصلي 4جايگزين
1جايگزين
3 اصلي 5جايگزين
2جايگزين
1جايگزين
3 اصلي 6جايگزين
4 اصلي 7جايگزين
4جايگزين
3 اصلي 8
طراحي سناريوي آزمون؟
طراحي مورد آزمون
آزمون سناريويآزمون و موردمثال براي
26
Test Descriptionشرح کلي آزمون Test Stepsگامهاي آزمون
هدف مورد آزمون و شرح-شرح نکات ابهام آميز-
: هيچ گ¤ام و نتيج¤ه اي در اين قس¤مت نوش¤ته نکتtه نمي شود.
گام هاي آزمون دقيق و کامل -بدون ابهام براي تستر-
: پاس¤خهاي سيس¤تمي در اين قس¤مت بي¤ان نکتtهشوند.نمي
Pre Condition پيش شرط Expected Resultsنتيجه مورد انتظار
بديهيغير پيش شرط هاي -داده آزمون )اختياري(-
پيش شرط هاي بديهي مانند تعيين سال مالي-داشتن دسترسي الزم-
نتايج مورد انتظار با توجه بهگامها-پيش شرط-
بي¤ان نکتtه قس¤مت اين در ک¤اربر فعاليته¤اي :ش¤وند. ب¤ه عب¤ارتي ديگ¤ر عم¤ل در گ¤ام ه¤اي نمي
در العم¤ل و عکس آزم¤ون مش¤خص مي ش¤ود نتيجه مورد انتظار.
مورد آزمونهاي مرتبط
تاريخچه
سناريو )بله/خير(
زير سيستم و نسخه نرم افزار
سطح شماره نام
خطاهاي مرتبط الصاقات
وزن دليل وضعيت
آزمونگر
طراح
طراحي موردآزمون
27
مشخص داشتن الگو و استاندارد کودکجمالت سوم شخص و قابل فهم براي! قابل استفاده مجدد بودنReuse
نگرش مثبت و منفي Correctness وRobustness
خالصه و مفيد بودنداده آزمونTest Data
اولويت بندي موارد آزمون لينک کردن درخواست، نيازمندي يا مورد آزمون ديگر به
مورد آزمون( به روزنگهداشتن، حذفPesticide Paradox)
طراحي مورد آزمون )ادامه(
طراحي مورد آزمون
28
استراتژي )سطح()انواع( آزمون
به چه کسي چه کيفيتي رو اثبات ميکنيد؟استراتژي در برابر تکنيک آزمون
طراحي مورد آزمون
29
Unit Testآزمون واحد
اولين و جزئي ترين سطح آزمونآزمون جزء: کوچکترين واحد قابل آزمونآزمونگر
توسعه دهندهطراحمشتري
آزمون مولفهComponent ماژول ،Module
طراحي مورد آزمون
30
Integrationآزمون يکپارچگي Test
آن هاروابطواسط بين اجزاء و Top-DownBottom-UpRegression
Impact AnalysisSmoke
!قطعه سخت افزاري براي اولين بار روشن مي شود، اگر آتش نگيرد يعني احتماال كار مي كند
آزمونگرتوسعه دهندهطراحتحليلگرمشتري
طراحي مورد آزمون
31
Validation Testآزمون ؟ Validation Vs. Verification
درست کار مي کندکار درستي مي کند
:سند نيازمنديشرط پذيرش، اعتبار، قبولي
در دو زير سطحAlphaمشتري در محل توليد :Betaمشتري در محل استفاده :
آزمونگر3rd Partyمشتري
Acceptance
طراحي مورد آزمون
32
Systemآزمون سيستم Test
RecoveryDataCheck PointMTTR
SecurityStress
Abnormal Resource Demand )Quantity, Frequency, Volume(PerformanceSanity
Stable Enough to TESTLoadUsabilityReliability
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 TransitionComparison
Static
Review Static Analysis
Control Flow
Data Flow
تکنيک آزمون
38
Testتکنيک آزمون Technique
جعبه سياه و سفيدWhite/Black Box ايستا و پوياStatic/Dynamic
39
برنامه ريزي )فرآيند( آزمون Test Plan
جايگاه در فرآيند توليد نرم افزار استاندارد برگزاري آزمون
شروع آزمونپايان آزمون )شرط توقف/بازشروع(
جمع آوري اطالعاتبررسي کيفيت برگزاري و کيفيت نرم افزار )معيارها(
40
جايگاه در فرآيند توليد نرم افزار
نگرش
در گذشته )طبق تعريف گذشته(: آزمون بعد از توليد
امروزه: آزمون به موازات توليدکشف خطا هر چه سريعتر، خرابي کمتر
برنامه ريزي )فرآيند( آزمون
41
60%20%
15%
5% ريشه هاي خطا
نيازمندي
طراحي
سازي پياده
ساير
هزينه خطا ها
برنامه ريزي )فرآيند( آزمون
مدل آبشاري Vمدل
42
نيازهاي كسب و
كارنيازهای ذينفعان
مشخصات سيستم)نيازمندی
ها(طراحي سيستم
طراحي اجزا
پياده سازي
تست اجزا
تست يكپارچگي
تست سيستم
تست پذيرش
انتشار سيستم
نيازمند طراحي ي ها
پياده سازي
نگهداش تست ت
برنامه ريزي )فرآيند( آزمون
43
فرآيند آزمون
کنترل )نظارت(
برنامه ريزي آزمون
تحليل و انتخاب
استراتژي آزمون
طراحي موارد
آزمون و اجراي آنها
گزارش و تحليل نتايج
بررسي کيفيت
فرآيند و کيفيت نرم
افزار
برنامه ريزي )فرآيند( آزمون
44
استاندارد طرح آزمون نرم افزار
طرح آزمون سندي كه دامنه ، روش ، برنامه اجرايي و ضوابط آزمون
را از پيش مشخص مي سازد.
استانداردفايل استاندارد
شرايط آغاز، توقف، شروع مجدد و پايان!آنچه آزمون نخواهد شدشرايط انتشار محصولساختار سازماني آزمون
برنامه ريزي )فرآيند( آزمون
45
گزارشات مديريتيپوشش دهيوضعيت موارد آزمونوضعيت خطاهاعملكرد افرادميانگين سن خطا
گزارشهاي عملياتيموارد آزمون مردودي كه خطا ندارندموارد آزمون مردودي كه تمام خطاهايشان بسته شده استموارد آزمون مردودي كه خطاي باز دارندخطاهايي كه به هيچ مورد آزموني متصل نيستند متصل هستندموارد آزمون غيرفعال خطاهايي كه به
کيفيت فرآيند و کيفيت نرم افزار )معيارها(
برنامه ريزي )فرآيند( آزمون
46
نمونه گزارش 1نمونه گزارش 2
برنامه ريزي )فرآيند( آزمون
47
ممكن است فكر كنيد اينجا هستيد
ممكن است !اينجا باشيد
تعداد خطاي
كم
تعداد خطاي
كم
كيفيت تست
كيفيت نرم افزار
48
برنامه ريزي )فرآيند( آزمون Test Plan
جايگاه در فرآيند توليد نرم افزاراستاندارد برگزاري آزمون
شروع آزمون)پايان آزمون )شرط توقف/بازشروعجمع آوري اطالعات)بررسي کيفيت برگزاري و کيفيت نرم افزار )معيارها
49
کارهاي آيندهAutomated Testآزمون خودکار
Object Oriented Testingآزمون شي گرا Clean Room Software Engineering
50