Manual QA-ից Automation QA

Ողջույն սիրելի ընթերցողներ 🙂
Ինչպես գիտեք մենք՝ բիվեբցիներս, շատ ենք սիրում կիսվել մեր գիտելիքներով:
Այս անգամ մեր QA մասնագետ Մարիամի հետ ունեցանք անչափ հետաքրքիր քննարկում « Manual QA մասնագիտության անցումը Automation QA մասնագիտության » թեմայով:
Ինչպես գիտենք՝ թեստավորման մեջ կա երկու բաժանում՝ Manual QA և Automation QA։ Այս երկու մասնագետների նպատակն էլ պրոդուկտի որակի ապահովումն է, պարզապես Manual QA մասնագետը փնտրում է սխալները «ձեռքով», իսկ Automation QA մասնագետն ավտոմատացնում է գործընթացը՝ գրելով թեստեր կոդի միջոցով, որոնք ինքնուրույն կստուգեն case-երը ավտոմատ կերպով:
Քննարկման ժամանակ Մարիամը անդրադարձավ Automation QA մասնագիտությանը՝ ինչ է անհրաժեշտ դրա համար, որ case-երն են ավտոմատացվում իսկ որոնք՝ ոչ, և ինչով է այն տարբերվում Manual-ից:Mariam Margaryan QA
Այսօր մեր բլոգում ևս կիսվելու ենք քննարկման հիմնական բովանդակությամբ: Հուսանք՝ այն օգտակար կլինի շատերիդ համար:

Դե ինչ, գնացինք  🙂
Առհասարակ անցումը Automation QA-ին կարելի է  ինչ-որ առումով դիտարկել որպես մասնագիտական աճ, որովհետև Automation-ի անցման համար անհրաժեշտ է որևէ ծրագրավորման լեզվի իմացություն և ավտոմատացման համար անհրաժեշտ գործիքների տիրապետում, միևնույն ժամանակ Manual Engineer-ի գիտելիքները ևս անհրաժեշտ են, որպեսզի հնարավոր լինի անցում կատարել Automation QA-ին:

Բայց նախ եկեք հասկանանք ՝ ի՞նչ է Automation QA-ը

〽️Automation Testing-ի ժամանակ թեստավորողները գրում են կոդ/փորձարկման սկրիպտներ՝ թեստը ավտոմատացնելու համար: QA-ները օգտագործում են համապատասխան ավտոմատացման գործիքներ՝ թեստային սցենարները մշակելու և ծրագրային ապահովումը վավերացնելու համար: Նպատակն է ավարտել թեստի կատարումն ավելի քիչ ժամանակում:
〽️Automation Testing-ը ամբողջությամբ հիմնված է նախապես գրված թեստի վրա, որն ավտոմատ կերպով աշխատում է իրական արդյունքը ակնկալվող արդյունքի հետ համեմատելու համար: Սա օգնում է թեստավորողին որոշել` արդյոք պրոդուկտը աշխատում է սպասվածի նման, թե ոչ:
〽️Automation Testing-ը թույլ է տալիս կատարել կրկնվող առաջադրանքներ (cases) և ռեգրեսիոն թեստեր (երբ նույն case-ը հարկավոր է նորից ստուգել) առանց Manual QA-ի միջամտության:
〽️Չնայած բոլոր գործընթացները կատարվում են ավտոմատ կերպով, ավտոմատացումը պահանջում է որոշակի manual գործողություն՝ նախնական թեստավորման սցենարներ ստեղծելու համար:

Ինչու՞ օգտագործել Automation Testing-ը

〽️Իրականում կան այնպիսի պրոյեկտներ, որոնց մեջ Automation Testing-ը շատ անհրաժեշտ է ու բավականին արդյունավետ կլինի եթե այն ներմուծվի:
〽️Եթե մենք պետք է նույն case-երը թեստավորենք բազմակի անգամ, ապա ավտոմատացումը մեզ համար ավելի արդյունավետ է:
〽️Ավտոմատացված թեստերը կարող են միաժամանակ գործարկվել տարբեր օպերացիոն համակարգերի հարթակներում (Windows, Linux, MacOs):
〽️Automation Testing-ը մեծացնում է փորձարկման արագությունը, որակը և բարելավում ճշգրտությունը:
〽️Միևնույն գործողությունների կատարումը տարբեր տվյալներով շատ ավելի հեշտ և արագ է:
〽️Automation Testing-ը հնարավորություն է տալիս ոչ մի կտոր, ոչ մի case բաց չթողնել և ստուգում է նույնիսկ ամենափոքր միավորը (unit):
〽️Հիմնականում օգտագործվում է այն պրոյեկտների վրա, որոնք ունեն շատ կրկնվող case-եր, մինչդեռ Manual Testing-ի կիրառման դեպքում գործընթացն անհամեմատ ավելի դանդաղ կլինի:

Ո՞ր case-երն են ենթակա ավտոմատացման

〽️Automation Testing-ը խորհուրդ է տրվում օգտագործել այն ընկերություններում, որոնք ունեն շատ ռիսկային case-եր: Օրինակ կարող ենք ունենալ smoke test suit-եր, պրոյեկտի ամենակարևոր ֆունկցիանալների համար և դրանք ժամանակ առ ժամանակ կստուգեն պրոդուկտի կայունությունը: Պատրաստի թեստերը արագացնում են թեստավորման գործընթացը, նաև հնարավորություն են տալիս պրոյեկտը մշտապես կայուն վիճակում պահել՝ անկախ այն հանգամանքից նոր կտոր ներմուծվել է թե ոչ:
〽️Այն case-երը, որոնցում հաշվողական և համեմատական պրոցեսներ կան, հիմնականում ավտոմատացվում են, քանի որ manual թեստավորման դեպքում բավականին դժվար և երկար կլինեն:
〽️Թեստավորման այն դեպքերը, որոնք ժամանակատար են:

Case-եր, որոնք ավտոմատացման ենթակա չեն

〽️Այն պրոյեկտները, որոնք լրիվ նոր են, և առնվազն մեկ անգամ manual թեստավորված չեն, ավտոմատացման ենթակա չեն:
〽️Այն պրոյեկտների դեպքում, որոնք շատ արագ են փոփոխվում և անընդհատ նոր պահանջներ են ավելանում, Automation Testing-ը արդյունավետ չէ:
〽️Չփաստաթղթավորված պրոյեկտների դեպքում Automation Testing-ը նույնպես կիրառելի չէ:

Հետևյալ գրաֆիկը կօգնի պատկերացնել, թե ժամանակի և գումարի առումով որ թեստավորման տեսակն է առավել արդյունավետ:Manual QA VS Automation QA

Գրաֆիկից երևում է , որ սկզբնական շրջանում Automation testing-ը,  ի տարբերություն manual-ի, պահանջում է և՛ գումար և ՛ ժամանակ: Սակայն երբ արդեն լինում են պատրաստի թեստեր, որոնք հնարավոր է կիրառել նաև հետագայում, և ՛ ժամանակն է ստաբիլանում, և ՛ ծախսն է կրճատվում: Իսկ Manual թեստավորման դեպքում ժամանակը և ծախսը ստաբիլ մեծանում են:

Automation Testing-ի թերությունները

〽️Սկզբնական շրջանում այն ծախսատար է
〽️Տեսողական հղումները, ինչպիսիք են տառատեսակը, տառատեսակի գույնը, տառաչափը, կատարվում են հիմնականում manual մասնագետի կողմից:
〽️Այն քեյսերը, որոնց ինտերֆեյսը արագ է փոփոխվում, նպատակահարմար չէ օգտագործել Automation Testing, քանի որ կոդը անընդհատ փոփոխման է ենթարկվում:

Ավտոմատացված թեստավորման գործիքները (tools)

〽️Ranorex studio (ունի էական հատկանիշներ արագ և արդյունավետ ավտոմատացման թեստավորման համար)
〽️Kobiton (բջջային թեստավորման հարթակ է, որն արագացնում է բջջային հավելվածների փորձարկումը՝ առաջարկելով manual և ավտոմատացված թեստավորում իրական սարքերի վրա)
〽️Selenium (ծրագրային ապահովման թեստավորման գործիք է, որն օգտագործվում է ռեգրեսիոն թեստավորման համար)

Մի փոքր մանրամասն անդրադառնանք Selenium Auotomation գործիքին
☑Այն աշխատում է ծրագրավորման տարբեր լեզուների հետ, ինչպիսիք են՝ Java, Ruby, RSpec, Python, C# և այլն՝ հնարավորություն տալով թեստավորել տարբեր լեզուներով:
☑Այն կարող է օգտագործվել JUnit և TestNG framework-ների հետ
☑Այն կարող է միաժամանակ մի քանի թեստ կատարել
☑Այն թույլ է տալիս մեկնաբանություններ տեղադրել կոդի մեջ՝ ավելի լավ հասկանալու համար: Ունի նաև debugging- ի հնարավորություն:

Unit testing

Unit testing-ը ծրագրային ապահովման մշակման գործընթաց է, որի ընթացքում հավելվածի ամենափոքր թեստավորվող մասերը, որոնք կոչվում են unit-ներ, առանձին և անկախ ստուգվում են ճիշտ աշխատանքի համար: Այս թեստավորման մեթոդաբանությունը կատարվում է մշակման գործընթացում ծրագրային ապահովման մասնագետների և երբեմն էլ QA մասնագետների կողմից:
Unit testing-ը զարգացման գործընթացում կարևոր քայլ է, քանի որ եթե այն ճիշտ կատարվի, այն կարող է օգնել հայտնաբերել կոդի վաղ թերությունները, որոնք ավելի դժվար կլինի գտնել հետագա թեստավորման փուլերում:

Unit testing-ի առավելությունները

✧Որքան շուտ հայտնաբերվի խնդիրը, այնքան քիչ սխալներ տեղի կունենան հետագայում:
✧Խնդիրը վաղաժամ հայտնաբերելը և շտկելը կքչացնի հետագա ծախսերը:
✧Վրիպազերծման (debugging) գործընթացները կատարվում են ավելի հեշտ:
✧Ծրագրավորողները կարող են արագ փոփոխություններ կատարել կոդի մեջ:
✧Ծրագրավորողները կարող են նաև վերօգտագործել կոդը՝ այն տեղափոխելով նոր նախագծեր:

Unit testing-ի թերությունները

✧Թեստերը լիակատար չեն բացահայտում բոլոր սխալները:
✧Unit testing-ը թեստավորում է միայն տվյալները և դրանց ֆունկցիոնալությունը. այն չի բացառում սխալները ինտեգրման ժամանակ:
✧Մեկ տող կոդի թեստավորման համար ավելի շատ թեստային կոդեր կարող է անհրաժեշտ լինել՝ ստեղծելով պոտենցիալ ժամանակի ներդրում:
✧Unit testing-ը կարող է ունենալ կտրուկ ուսուցման կոր, օրինակ՝ պետք է սովորել, թե ինչպես օգտագործել հատուկ ավտոմատացված ծրագրային գործիքներ: Պրակտիկան ցույց է տալիս որ unit test կատարելու համար ծրագրավորողներին անհրաժեշտ է Automation Tool-երի իմացություն:

Մենք տեսնում ենք, թե ինչ մեծ տեմպերով է զարգանում ՏՏ ոլորտը։ Դրա զարգացման հետ մեկտեղ մեծանում է որակի ապահովման մասնագետների պահանջարկը։ Թեստավորումը հեռանկարային և դինամիկ զարգացող մասնագիտություն է, որը տալիս է բազմաթիվ հնարավորություններ։ QA մասնագետ դառնալու համար պետք է պատկերացնել ծրագրի մշակման ողջ ընթացքը, տիրապետել թեստավորման տեսությանը և հիմնական մոտեցումներին։ Շատ կարևոր է նաև անգլերենի լավ իմացությունը։ Ընդհանուր առմամբ, ողջունելի է նաև ծրագրավորման որևէ լեզվի իմացությունը, ինչը հնարավորություն է տալիս ավելի լավ պատկերացնել աշխատանքը:

Այսպիսին էր մեր քննարկումը Մարիամի հետ: Շնորհակալ ենք իր գիտելիքներն ու փորձը մեզ հետ կիսելու համար 😊 Հուսանք այն ձեզ դուր եկավ: ))

Չմոռանաք subscribe լինել և կիսվել այս բլոգով ))

Կարդացեք նաև՝
ԲիՎեբում աշխատելու առավելությունները և բենեֆիտները
Իմ առաջին մասնագիտական փորձը ԲիՎեբում

Share with love

28 Garegin Nzhdeh street,
Yerevan, Armenia.

info@beewebsystems.com

SUBSCRIBE

Subscribe to BeeWeb's blog and get our latest news right in your inbox.

FOLLOW US