Software Test

Preview:

DESCRIPTION

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

Citation preview

1

پيش گفتارراوي

حسين فانيطراحfani@behsazan.netsites.google.com/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

Recommended