You are on page 1of 31

Ծրագրերի

թեստավորում

Թեմաները՝

✓ Թեստավորման նպատակները և խնդիրները


✓ Թեստավորման ընդհանուր սկզբունքներ
✓ Թեստավորման հիմնական գործընթացը
2
Ծրագրային ապահովումն ամենուր է…
3
Ինչի՞ համար է անհրաժեշտ ծրագրերի թեստավորումը

 Լրացուցիչ ծախսերից խուսափելու


համար
 Անվտանգության ապահովման համար
 Արտադրանքի որակը ապահովելու
համար
 Հաճախորդի վստահությունը ձեռք
բերելու համար
 Բիզնեսը օպտիմալացնելու համար
4
Ծրագրային ապահովմն
խափանման պատճառները

Մարդկային գործոնը՝
• ինչ-որ բան գիտի, բայց ոչ ամեն ինչ
• հմտություններ ունեն, բայց կատարյալ չեն
• սխալներ են թույլ տալիս
Թեստավորումը կարող է
միայն գտնել թերությունները,
Խափանման պատճառները՝ այլ ոչ թե ապացուցել, որ
✓ Ժամանակի սուղությունը դրանք չկան:
✓ կոդի բարդությանը
✓ ենթակառուցվածքների բարդությունը,
տեխնոլոգիաների փոփոխությունները
✓ և այլն
5
Թեստավորման դերը ծրագրային
ապահովման մշակման մեջ
6
Սխալի ազդեցությունը

ՍԽԱԼ (Error)

Թերություն (Defect)

Խափանում (Failure)
7
Թեստավորման մեջ օգտագործվող
տերմինաբանություն

➢ Սխալ (Error/Mistake)
մարդկային գործողություն, որը տալիս է
սխալ արդյունք

➢ Թերություն (Defect/Fault/Bug)
համակարգի սխալ, որը կարող է հանգեցնել
համակարգի ձախողմանը կամ թերի
աշխատանքի
➢ Խափանում (Failure)
Ծրագրային ապահովման շեղումը սպասվող
վարքագծից կամ սպասարկումից
8
Թեստավորման մեջ օգտագործվող
տերմինաբանություն

Սխալ Թերություն Խափանում


9
Թեստավորման մեջ օգտագործվող
տերմինաբանություն

Օրինակ՝

Begin
$temperature= $temperature + $input
If $tempereture>100 then
Print “Reactor Core TemperatureCritical!!!”
Else
Print “Reactor Core Temperature Normal”
End

Ի՞նչ սխալ նկատեցիք


Ծրագրային ապահովման 10
խափանման հետևանքները

Սխալ ԾԱ կարող է վնասել՝


 Մարդկանց
 Կազմակերպությանը
 Միջավայրին
Ծրագրային ապահովման 11
խափանման հետևանքները

ԾԱ խափանումը կարող է հանգեցնել՝


 Գումարի կորստի
 Ժամանակի կորստի
 Կազմակերպության հեղինակության կորստի
 Վնասվածքի
 Մահի
12
Հարց՝

Թերությունը (Defect/Fault/Bug) դա ՝

Մարդու կողմից թույլ տրված սխալ է

Գործարկման ժամանակի հետ կապված


խնդիր, որի հետ առնչվում է օգտագործողը

Սխալի արդյունքն է

Խափանման արդյունքն է, ինչը կարող է բերել


սխալի
13
Հարց՝

Վերջնական օգտագործողների համար


տեսանելի շեղումը սպասվող վարքից կոչվում է՝

Սխալ (An Error)

Թերություն (A Fault)

Ձախողում (A Failure)

Դեֆեկտ (A Defect)
14
Ի՞նչ է թեստավորումը

Ծրագրային ապահովման թեստավորումը


ստուգում է թե արդյոք իրական ծրագրային
ապահովումը համապատասխանում է
ակնկալվող պահանջներին և ապահովում է,
որ ծրագրային ապահովումը չպարունակի
թերություններ:
15
ի՞նչ նպատակներ և խնդիրներ է
հետապնդում թեստավորումը

Նպատակներն են՝
 ծրագրային ապահովման որակի բարելավումը
 թերությունների հայտնաբերման կանխարգելումը
Թեստավորման նպատակները կարող են տարբերվել,
կախված ծրագրային ապահովման մշակման փուլերից,
որի ժամանակ այն տեղի է ունենում:
Թեստավորման հիմնական խնդիրն է՝
 թերությունների հայտնաբերումը
Ինչ՞ է նշանակում որակի ապահովումը16
(Quality Assurance QA)

Որակի ապահովումը՝ դա արտադրանքի ստեղծման


ընթացքում դրա պահանջվող հատկությունների և
բնութագրերի ձևավորման գործընթացն է:

Որակի ապահովման զարգացման համար


նախադրյալներ են՝
• Տնտեսական նպատակահարմարությունը
• Մրցունակությունը
• Հեղինակությունը

Ինչքան ավելի շուտ հայտնաբերվի սխալը այնքան հեշտ


ու քիչ վնասով կարելի է այն ուղղել:
17
Բիզնես պահանջներ (Requirements
specifications)

Բիզնեսի պահանջները, որոնք


նաև հայտնի են որպես
շահագրգիռ կողմերի
պահանջների բնութագրեր
(փաստաթղթեր) (Requirements
specifications), նկարագրում են
առաջարկվող համակարգի կամ
ծրագրային ապահովման
բնութագրերը վերջնական
օգտագործողի տեսանկյունից:
18
Բիզնես պահանջներ (Requirements
specifications)
19
Ո՞րքան թեստավորումն է բավարար

Սպառիչ թեստավորում (Exhaustive Testing)


20
Ո՞րքան թեստավորումն է բավարար

Ունեք 15 մուտքագրման դաշտ, յուրաքանչյուրի


համար 5 հնարավոր արժեք։

Թեստավորելու համար, ստուգվող համադրությունների


քանակը կլինի 5 ^ 15 = 30517578125:
21
Ո՞րքան թեստավորումն է բավարար

Կա թեստավորման շատ Ժամանակը


ժամանակ սահմանափակ է

Թեստավորել բոլոր
Թեստավորել միայն
համապատասխան
բարձր ռիսկի գոտիները
տիրույթները

Կատարել բոլոր Սկզբում կատարել


թեստավորման դեպքերը բարձր գերակայության
թեստերը
22
Թեստավորման ընդհանուր
սկզբունքներ

Սկզբունք 1 - Թեստավորումը ցույց է տալիս թերությունների


առկայությունը

Սկզբունք 2 - Սպառիչ թեստավորումը անհնար է

Սկզբունք 3 - Վաղ թեստավորումը

Սկզբունք 4 - Թերությունների կլաստերացում (տեղայնացում)

Սկզբունք 5 – Պեստիցիդների պարադոքս

Սկզբունք 6 - Թեստավորումը կախված է կոնտեքստից

Սկզբունք 7 - Թյուր կարծիք սխալների բացակայության մասին


23
Թեստավորման հիմնական գործընթացը

Թեստի պլանավորում և վերահսկում


Test Planning & Control

Թեստի վերլուծություն և դիզայն


Test Analysis & design

Թեստի իրականացում և կատարում


Test Implementation & Execution

Ելքային չափանիշների գնահատում և


հաշվետվությունների ներկայացում
Evaluating Exit Criteria & Reporting

Թեստի ավարտման գործողություններ


Test Closure Activities
24
Թեստավորման հիմնական գործընթացը

Թեստի պլանավորում և վերահսկում


Test Planning & Control

➢ Որոշվում է, թե ինչ է թեստավորվելու, ինչու է


թեստավորվելու և ինչպես է թեստավորվելու:
➢ նաև պարզաբանվում է, թե ծրագրային ապահովման
մեջ ինչը չի թեստավորվելու։
25
Թեստավորման հիմնական գործընթացը

Թեստի պլանավորում և վերահսկում


Test Planning & Control

Թեստավորման պլանավորման գործողությունները՝


➢ Թեստավորման ռիսկերի և նպատակների որոշում
➢ Սարքավորումների կազմակերպում և մարդկանց ներգրավում
➢ Թեստավորման մոտեցման որոշում
➢ Թեստավորման քաղաքականության որոշում
➢ Նախագծման, կատարման և գնահատման փուլերի
ժամանակացույցերի կազմակերպում
➢ Ելքային չափանիշների հստակեցում
26
Թեստավորման հիմնական գործընթացը

Թեստի պլանավորում և վերահսկում


Test Planning & Control

Վերահսկման գործողություններն են՝


Սխալների կամ
փոփոխությունների
շտկման
գործողություններ

Արդյունքների Որոշման
վերլուծություն և Պրոեկտի
ղեկավարում կայացում
հետադարձ կապ

մշտադիտարկում և
փաստաթղթավորում
27
Թեստավորման հիմնական գործընթացը

Թեստի վերլուծություն և դիզայն


Test Analysis & Design

Թեստի վերլուծության և դիզայնի գործողություններն են՝

➢ «Թեստային բազայի» վերանայում։


➢ Թեստավորման պայմանների որոշում։
➢ «Թեստային բազայի» և թեստավորվող օբյեկտների
թեստավորվածության գնահատում:
➢ Թեստերի մշակում կամ դիզայն։
➢ Թեստավորման միջավայրի մշակում։
➢ Թեստերի ծածկույթի ապահովում։

Test Analysis & Design


28
Թեստավորման հիմնական գործընթացը

Թեստի իրականացում և կատարում


Test Implementation & Execution
Թեստի իրականացման և կատարման խնդիրներն են՝
➢ Թեստերի մշակում և առաջնահերթության որոշում։
➢ Թեստային հավաքածուների ստեղծում։
➢ Միջավայրի իրականացում և ստուգում։
➢ Թեստերի կամ թեստային հավաքածուների գործարկում
➢ Արդյունքների հավաքագրում։
➢ Սրացված արդյունքների համեմատումը սպասվող
արդյունքների հետ:
➢ Հաշվետվություններ անհամապատասխանությունների
մասին։
➢ Թեստային գործողությունների կրկնություն (Confirmation
testing)։
29
Թեստավորման հիմնական գործընթացը

Ելքային չափանիշների գնահատում և


հաշվետվությունների ներկայացում
Evaluating Exit Criteria & Reporting

Ելքային չափանիշների գնահատման խնդիրներն են՝


Evaluating Exit Criteria &
Reporting
➢ Ստուգել թեստերի արդյունքների
համապատասխանությունը ելքային չափանիշներին։
➢ Գնահատել, արդյոք անհրաժեշտ են ավելի շատ
թեստեր, կամ արդյոք անհրաժեշտ է փոխել նշված
ելքի չափանիշները։
➢ Թեստի ամփոփ հաշվետվության կազմում շահագրգիռ
կողմերի համար։
30
Թեստավորման հիմնական գործընթացը

Թեստի ավարտման գործողություններ


Test Closure Activities

Թեստերի ավարտման գործողությունների հիմնական խնդիրնեն են՝


➢ Նախատեսված արդյունքների ձեռքբերման ստուգում
➢ Թեստային իրավիճակների փակում կամ
գրառումներում յուրաքանչյուր բաց թեստային
իրավիճակի մասին փոփոխությունների կատարում
➢ Համակարգի ընդունման փաստաթղթավորում
➢ Թեստային միջավայրի և թեստային
ենթակառուցվածքի ավարտ և արխիվացում `հետագա
օգտագործման համար։
➢ Հավաքագրված տեղեկատվության օգտագործումը
հետագայում թեստավորման գործընթացը բարելավելու
համար։
Շնորհակալություն

You might also like