You are on page 1of 13

Testing types

По запуску кода на исполнение/ By code execution/


 Static testing - տեստավորում առանց կոդը
գործարկման դնելու՝ աշխատացնելու։
Տեստավորման են ենթարկվում պահանջները,
test case երը, ծրագրի կառուցվածքի
նկարագրությունը, ծրագրի կոդը, UI էսքիզը
 Dynamic testing - գործարկման դրած կոդի
տեստավորում, կարող է լինել և ամբողջական
կոդը/system testing/, և առանձին մասերը/unit
testing/, և առանձին մասերի
փոխազդեցությունը/integration testing/։ Էս
տեստավորման հիմնական գաղափարն էնա,
որ ստուգվում ա ծրագրի իրական
աշխատանքը, վարքը։

По доступу к коду/By access to application code and architecture/

 White box testing - տեստավորողն ունի

հասանելիություն կոդին, տեստ անում ա ըստ էդ կոդի

 Black box testing - տեստավորողը չունի


հասանելիություն կոդին կամ չի օգտվում դրանից,

ստուգում ա հնարավոր բոլոր սցենարները առանց

կոդի իմացության կամ օգտագործման, որը անում ա

requirements-ի հիման վրա կամ քթածակով։

Տեստավորողը այնպիսի ազդեցություն ա գործում

ծրագրի վրա, ինչպիսին կգործեր օգտատերը կամ այլ

ծրագիրը։ Էս մեթոդով աշխատում են համարյա բոլոր

տեստավորման տեսակները, այսինքն էս մեթոդը

կիրառելիս օգտագործվում են թեստավորման

տարբեր տեսակներ։

 Gray box testing - տեստավորողը ունի հասանելիություն

կոդի մի մասին, որոշին չունի։

По степени автоматизации/By automation level/

 Manual testing - տեստավորումն իրականացվում ա

ձեռքով

 Automated testing/test automation - ստեղծվում ա

ավոտատացված համակարգ՝ framework, որի հիման

վրա իրականացվում ա տեստավորումը՝ արագ ա,

մարդկային գործոնը բացակայում ա

By testing level/По уровню тестирования/


 Unit testing/module testing/component testing - ստուգվում ա

ծրագրի առանձին փոքր մասեր, որը հնարավոր ա

ստուգել առանձին առանց մյուսների հետ

փոխազդեցության՝ class ի առանձին ֆունկցիաներ,

մեթոդներ, class-ներ։

 Integration testing - ստուգվում ա արդեն իսկ առանձին

ստուգված մասեի փոխազդեցությունը, օրինակ unit

ով ստուգում ենք առանձին login-ի դաշտը, հետո

password-ի դաշտըմ ու հետո միասին, գրում ենք ու

լոգին ըլնում

 System testing - ծրագրի ամբողջական տարբերակի

տեստավորում, նախորդ փուլերի ստուգումներից

հետո ու հիման վրա, որի ժամանակ ամբողջական

ստուգում ա արվում օգտատերի տեսանկյունից

օգտագործելով տարբեր տեստավորման տեսակներ,

բոլոր հատվածների իրար հետ աշխատանքի

ստուգում։

 Acceptance testing/end-user/customer acceptance testing/ By the

users participation - այս տեստը արվում ա

use-case-երի/օգտագործման եղանակների/ հիման

վրա, այսինքն ոնց պետքա օգտագործի userը

ծրագիրը, ծրագիրը ստուգվում ա վերջնական


օգտատերի տեսանկյունից։

- alpha testing - իրականացվում ա տվյալ

կազմակերպության անդամների կողմից, որպես

օգտատեր/end user/, բայց ծրագրավորողները ու

ծրագրի հետ առնչություն ունեցողնեը չեն

մասնակցում տեստավորմանը։ Ծրագրիը որոշ չափով

պատրաստ ա ու հնարավոր ա ներկայացնել

օգտատերին, բայց քանի որ լրիվ չի պատրաստ,

ներկայացվում ա ընկերության այլ բաժինների

աշխատակիցներին։

- beta testing - իրականացվում ա ծրագիր ստեղծող

կազմակերպությունից դուրս, այլ օգտատերերի

կողմից, ծրագիրն արդեն պատրաստ ա, բայց

վերջնական թողարկման համար պետքա իրական

օգտատերերը փորձարկեն այն։

- gamma testing - ծրագրի թողարկումից առաջ

վերջնական տեստավորումն ա, որը ուղղված ա beta-ի

ժամանակ առաջացած խնդիրների լուծման

ստուգմանը, փորձարկում են end user-ը։

By functional testing level

 Smoke test - ամենակարևոր, առաջնային


ֆունցիոնալության ստուգում, առանց որի

աշխատելու անիմաստ, անհնարին կլինի ծրագիրը

գործարկելը, օրինակ ծրագրի չմիանալը, բրոուզերում

չբացելը։

 Sanity test - իրականացվում ա smokeից հերո, ստուգում

ա, որ կոնկրետ ֆունցիան աշխատում ա, կարևոր

ֆունկցիաների տեստավորում, արվում ա

հիմնականում release-ից առաջ/օրինակ լոգինը/

 Critical path test - ստուգվում ա օգտատերի կողմից

հիմնականում օգտագործվող ֆունկցիաները,

անցկացվում ա Smoke, Sanity տեստերից հետո

 Extended test/Расширенный/ - requirements-ում սահմանված

բոլոր ֆունկցիաների ստուգում, նույնիսկ քիչ

կարևորություն ունեցող

 Destructive testing - նեգատիվ տեստավորում։ փորձել

փչացնել համակարգը ու տեսնել համակարգի վարը

փչանալու նկատմամբ, նպատակը էնա, որ ցույց տալ

կամ ստուգել, որ համակարգը փչացնելուց կամ

փչանալուց հետո ի վիճակի ա հետ գալ,

վերականգնվել ու նորմալ աշխատել։ Այս մեթոդը

պետք է ստուգի օգտատերի անկանխատեսեի


գործողությունների ընթացքում ծրագրի

աշխատանքը։

 Positive testing - ստուգվում են էնպիսի իրավիճակներ,

երբ բոլոր գոծողություններն իրանացվում են

ինստրուկցիաներին համապատասխան, առանց

սխալների։ ծրագրի աշխատունակության ստուգումն

ա որոշ պայմանների պարագայում։

 Negative testing - ուսումնասիրվում ա ծրագրի

աշխատանքը են պայմաններում, երբ նրա հետ

արվում ա սխալ, չնախատեսված գործողություններ,

որոնք կարող են բերել սխալնրի։ ծրագրի

անաշխատունակության ստուգումն ա որոշ

պայմանների պարագայում, դրա միջոցով փորձում

ենք առաջացնել անսարքություն/սբոյ/ ծրագրի մեջ և

հասկանալ ինչքանով ա ծրագիրը պատրաստ

դիմակայել սբոյին.

 Functional testing - ստուգվում ա ծրագրի կամ կոնկրետ


կոմպոնենտի ֆունցիոնալությունը, ստուգվում ա թե

ինչպես են աշխատում ծրագտի ֆունկցիաները, ու որ

դրանք աշխատում են ճիշտ։ Կարող է իրականացվել

development life cycle-ի ցանկացած փուլում։ Ներառում ա

interoperability testing/тестирование совместимости между

компонентами/ և security testing/тестирование безопасности

(против вирусов)/։ Կարող է իրականացվել

տեստավորման տարբեր փուլերում/unit, integration,

system/։ Ֆունկցիոնալ տեստավորման մեջ ա մտնում՝

unit, component, smoke, integration, regression, sanity, system,

user acceptance testերը

 Non-functional testing - ուղղված ա ծրագրի ոչ

ֆունկցիոնալ հատկանիշների

ստուգմանը/հարմարավետություն,

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

արագագործություն/։

- Performance testing/производительности/ - իրականացվում

ա ամբողջական ֆունկցիոնալ տեստավորմից հետո։

Ծրագրի արագագործությունը/ինքան ժամանակում ա

լոգին ըլնում, բրոուզերը էջը բացում/

- Load testing - Արտաքին ազդեցության, նագրուզկայի

պարագայում ծրագրի աշխատանքի աստուգում,


համակարգը ոնցա իրան պահում էդ պարագայում,

օրինակ միարժամանակ շատ քանակությամբ user-ների

ակտիվության դեպքում։ Գտնել մաքսիմալ նագրուզկան,

որի պարագայում ծրագիրը կարող է աշխատել

անխափան։ Սա հնարավոր ա միայն ավտոմատացված

տեստով ստուգել։

- Stress testing - պիկային արժեքի բացահայտման

տեստ/որ պիկային արժեքի դեպքում ա ծրագիրը

փչանում/։ ստուգում ենք ծրագիրը արտաքին

նագրուզկայի պայմաններում երբ ա փչանում, մենք

ազդեցություն ենք գործում էնքան, մինչև ծրագրի սկսի

չաշխատել նախատեսված ձևով։ Օրինակ որնա էն

մաքսիամալ քանակությամբ user ների թիվը, որից հետո

համակարգը փչանում ա/դանդաղում, անջատվում/։

Stress տեստ արվում ա, որպեսզի մտածենք մեխանիզմ,

թե ինչպես պաշտպանենք համակարգը այդ Stress-ից։

Նպատակը պիկային արժեքի որոշումնա։

- Usability testing - օգտագործման հարմարավետություն,

հեշտություն։ ինչքանով եմ վերջնական օգտատերին

հարմար, հասկանալի օգտագործել ծրագիրը և

ինչքանով ու դուր գալիս ծրագիրը

- Security testing - անվտանգության, ծրագրի


պաշտպանվածության ստուգում, ստուգել արդյոք

ծրագիրրը կարող է դիանալ խակեռների

հարձակումներին։

- Maintainability testing - կոդը գրված ա հարմար, հեշտ ա

փոփոխության ենթարկելը, ամեն մի փոփոխության,

թարմացման դեպքւմ ամբող կառուցվածքը չի փոխվի, որ

մի փոքր մաս փոփոխելու դեպքում սաղ փոփոխման

կարիք չունենք ու չփչանա,

- Reliability testing/надежности/ - հիմնականում արվում ա

customer-ի կողմից, երբ կողքից մի բան փչանում ա բայց

համակարգը շարունակում ա աշխատել,

ինքնավերականգնվում ա։ Ծրագրի

կարողունակությունը կատարել իր ֆունկցիաները կամ

օպերացիաները կոնկրետ պայմաններում, կոնկրետ

ժամանակահատվածում։

- Portability testing - հնարավորություն տեղափոխել

ամբող ծրագիրը կամ ծրագրի մի մասը մեկ այլ

միջավայր, որի ընթացքում կաշխատի նորմալ, օրինակ

Windows 8.1 ից Windows 10, Windows ից MacOS.


 Structure/Architecture testing

Տեստավորում ենք ծրագրի կառուցվածքային մասը

Սրա մեջ մտնում ա database-ի կառուցվածքի

տեստավորումը։ Արվում ա white-box testing ի

շրջանակներում, քանի որ մենք ստուգում ենք թե ինչ ա

կատարվում համակարգի կամ ծրագրի ներքում

 Testing related to changes

- Re-testing - հայտնաբերվել ա բագ, բագը շտկում են,

տեստ անում աշխատում ա թե չէ։ ստուգել

փոփոխությունը արվել ա թե չէ, ու փոփոխությունը

աշխատում ա նորմալ թե չէ, օրինակ նախկինում 8 նիշով

կարելի էր ռեգիստրացիա լինել, հիմա 12, էս փուլում

ստուգում ենք արդյոք ճիշտ ա աշխատում և 12 նիշով ա

թույլատրվում ռեգիստրացիա լինել

-Regression testing - բագը շտկելու արդյունքում ուրիշ

ֆունկցիաները նորմալ աշխատումեն են թե չէ։ ստուգում

ենք արված փոփոխության արդյունքում ուրիշ բան չի

փչացել, օրինակի էս փուլում էլ ստուգվում ա, որ

նախկինում ռեգիստրացիա էղածները հիմա կարենան

մտնեն։ Այսինքն ստուգվում ա որ նախկինում աշխատող


ֆունցիոնալությունը regress չի ապրել։ Արվում ա release -

ից առաջ։

 Installation testing - այնպիսի դեֆեկտների

հայտնաբերում, որոնք խոչնդոտում են ծրագրի

տեղադրմանը/установки/, օրինակ երբ նոր

միջավայրում են օգտագործում ծրագիրը, որում

նախկինում չեն տեղադրել, էղած վերսիայի

թարմացում, ավտոմատ տեղադրման դեպքում,

առանց user-ի միջամտության և այլ պարագաներում։

 Operational testing - տեստավորում, որն իրականացվում

ա իրական կամ իրականին մոտ օպերացիոն

միջավայրում, ներառելով օպերացիոն համակարգ,

տվյալների բազան կառավարող համակարգ, ծրագրի

սերվերներ, վեբ սերվերներ և այլն։

 Accessibility testing/доступность/ - ուսումնասիրում ա թե

ինչքանով ա ծրագիրը հարմար սահմանափակ

հնարավորության տեր մարդկանց/հաշմանդամների/

համար նաև ոչ հարմար պայմաններում օրինակ

աղմկոտ միջավայրում ծրագիրն օգտգործելու

հնարավորությունը, կամ որտեղ չի կարելի աղմուկ

հանել, օրինակ սուբտիտրերի առկայությունը։


Հիմնաանում ծրագիրը հարմարեցվում ա տեսողական

ու լսողական խնդիրներ ունեցողների համար, ավելի քիչ

ստեղները օգտագործելու դժվարություն ունեցողների

համար։

 Interface testing - ուղղված ա ծրագրի ինտերֆեյսի ու

դրա կոմպոնենտների տեստավորմանը։

 Monkey testing - случайное нажатие на всевозможные кнопки


приложения для того, чтобы его сломать.
Android ի համար կա էս UI Automation Exersizer Monkey ծրագիրը, որը
ավտոմատացնում ա էդ պրոցեսը։ Black box testing-ի տեսակ ա,
հիմնականում արվում ա unit level-ում։

Smart Monkey testing օգտավործվում ա load և stress տեստրի

համար, օգնում ա բագեր գտնել։ Կտկտացնել լոգիկայով։

Dumb Monkey կարևոր ա բազային տեստավորման/basic

testing/ համար։ Առանց լոգիկայի կտկտացնել

You might also like