ՏՏ ոլորտի աճը և Manual QA-ի կարևորությունը
Այսօր Manual QA-ի կարևորությունը կասկածի տակ են առնում տարբեր մասնագետներ։ Ասում են՝ մասնագետների անհրաժեշտությունը նվազում է՝ նորագույն տեխնոլոգիաների զարգացման ու վիրտուալ գործիքների ի հայտ գալու պատճառով։
Սակայն բացվող հաստիքներն ու ընկերությունների կողմից մասնագետների պահանջարկը լրիվ հակառակն են հուշում։
Արդյո՞ք Machine Learning-ը, AI-ն ու նոր ստեղծվող ու զարգացող այլ երևույթները կփոխարինեն Manual QA-ին: Կարճ՝ ոչ, բայց ամեն ինչի մասին՝ հերթով։
1990-2003-ին software testing ծառայություններ մատուցող ընկերությունները սկսեցին փնտրել ծրագրային գործիքներ, որոնք հետագայում օգնելու էին թեստավորողներին արագ և առանց ջանքերի թեստավորում կատարել:
Այս ժամանակահատվածը լավագույն փոփոխությունների շրջանն էր փորձարկողների համար, քանի որ օգնեց նրանց կատարել թեստավորում regression testing-երի և smoke testing-երի հիման վրա:
Ավտոմատացումը շատ օգնեց թեստավորողներին և թույլ տվեց իրենց աշխատանքում կենտրոնանալ ավելի ֆունկցիոնալ թեստային դեպքերի և գործառույթների վրա:
Թյուր կարծիք է, որ Manual թեստավորումը կաշխատի միայն կարճաժամկետ նախագծերի կամ խիստ ժամկետներով նախագծերի համար։
Manual QA թեստավորումն օգուտ է տալիս նախագծին մի քանի առումներով՝
- Ավելի լավ է փոքր խմբաքանակներ փորձարկել՝ դա ավելի ծախսարդյունավետ մեթոդ է ու թույլ է տալիս մանրակրկիտ աշխատանք կատարել:
- Ծրագրային ապահովման թեստավորման լավագույն ընկերությունները փաստում են, որ Manual թեստավորումը լավագույնս է աշխատում UI|UX գործընթացների համար
- Ծրագրի սկզբնական փուլերում փոփոխությունները մշտական բնույթ են կրում, և այդ դեպքում Manual թեստավորումը լավագույնս է աշխատում:
Ո՞վ է QA մասնագետը։ Manual QA-ի կարևորությունը
Մինչև հասկանալը, թե որքանո՞վ է այսօր խնդիր Manual QA-ի կարևորությունը և QA մասնագետի դերը, եկեք նախ հասկանանք, թե ո՞վ է նա ու ինչ գործառույթներ է իրականացնում։
Մենք բոլորս ամեն օր օգտագործած տարբեր հավելվածներում հանդիպում ենք մեկ կամ մի քանի սխալի։
Հավելված, կայք կամ այլ պրոդուկտի սխալներ գտնելու գործընթացը վստահված է հենց QA մասնագետներին։
Manual QA մասնագետը ստեղծում է թեստեր, որոնք բացահայտում են ծրագրային ապահովման հետ կապված խնդիրները մինչև արտադրանքի բուն մեկնարկը:
Այս թեստերը իրենցից ենթադրում են մշակել և գործարկել նոր թեստեր և դրանց արդյունքների մասին զեկուցել շահագրգիռ կողմերին, որոնք կհամագործակցեն ծրագրային սխալները կամ խնդիրները շտկելու համար:
QA Engineer-ի առաջնային պարտականությունն է կանխել թերությունները:
Բացի այդ, նա պատասխանատու է կոդում առկա սխալների հայտնաբերման և վերացման համար՝ նախքան այն հաճախորդներին տրամադրելը:
Նման սխալները կարող են առաջանալ տարբեր խնդիրների պատճառով, ինչպիսիք են տվյալների անբավարար մուտքագրումը կամ ոչ պատշաճ ձևավորված ինտերֆեյսի որևէ տարրը:
QA Engineer-ը պետք է լինի շատ կազմակերպված և արագ կարողանա ճշգրտել առաջնահերթությունները՝ մեծ ուշադրություն դարձնելով մանրամասներին:
Իսկ ի՞նչ տարբերություն Manual և Automation թեստավորումների միջև։ Եկեք հասկանանք, թե ինչպե՞ս են դրանք աշխատում։
Manual և Automation. Ո՞րն է ավելի լավ աշխատում
Ծրագրային ապահովման փորձարկման տարբեր մոտեցումներ կան, բայց ընդհանուր առմամբ դրանք կարելի է բաժանել հիմնակա 2-ի՝ Manual և Automation:
Կարող ենք մտածել, որ Automation-ի համար սահմանափակումներ չկան, և ամեն ինչ այսօր հնարավոր է ավտոմատացնել:
Թեև փորձարկման ավտոմատացման գործիքները և շրջանակները չափից արագ են զարգանում ու դրանով իսկ կասկածի տակ դնում Manual QA-ի կարևորությունը, այնուամենայնիվ ամեն ինչ չէ, որ կարող է և պետք է ավտոմատացված լինի:
Բազմաթիվ դեպքերում ավելի նախընտրելի է ընտրել փորձարկման Manual տարբերակը:
Հաշվի առնելով Automation փորձարկման ժամանակ մարդկային գործոնի բացակայությունը, վտանգ է ստեղծվում, թե որևէ բան հնարավոր է մոռանալ, անտեսել կամ չհիշել, ինչը Manual փորձարկողը կկարողանա հայտնաբերել շատ ավելի արագ ու հեշտ:
Manual փորձարկման ժամանակ կարող եք ստանալ հետադարձ կապ, ինչը հնարավոր չէ Automation փորձարկմամբ կատարվող գործընթացների դեպքում:
Այլ կերպ ասած, ուղղակիորեն շփվելով հավելվածի հետ՝ փորձարկողը կարող է համեմատել ակնկալվող արդյունքը իրականի հետ և թողնել առաջարկություններ։
Մարդը միշտ պետք է փորձարկի այն հավելվածները, որոնք մարդիկ օգտագործում են: Իրատեսական չէ ավտոմատացնել բոլոր թեստերը:
Manual թեստավորումն ակնհայտորեն ավելի հարմար է հետևյալ դեպքերի համար.
- Հետախուզական թեստեր (Exploratory tests)
- Օգտագործելիության թեստավորում (Usability testing)
- Ad-hoc թեստեր
Սրանք դասական բացատրություններն էին նրա, թե ինչպես են փորձարկման 2 տարբերակներն աշխատում։
Այսօր նորագույն տեխնոլոգիաներն ու արհեստական բանականությամբ աշխատող յուրաքանչյուր բան այնքան արագ են զարգանում, որ հատկապես Manual QA-ն ու այդ մասնագետները վտանգ են զգում, որ գուցե մասնագիտությունը կորցնի իր ակտուալությունը։
Բայց արդյո՞ք դա հնարավոր է։
Ի՞նչ փոփոխություններ են այսօր տեղի ունենում ի վնաս Manual QA-ի
Նորագույն տեխնոլոգիաներն ու արհեստական բանականությունն այսօր մտել է յուրաքանչյուր մարդու կյանք:
Վիրտուալ օգնականներ, FaceID, չաթ-բոտեր, որոնման համակարգեր, առանց վարորդի մեքենաներ. այս ամենը, ինչպես նաև շատ այլ բաներ, սնուցվում են արհեստական ինտելեկտով և մեզանից շատերի կողմից ընդունված են:
Արհեստական ինտելեկտը ներթափանցել է և առատորեն օգտագործվում է ամենատարբեր ոլորտներում։ Տարօրինակ կլիներ, եթե այն օգտագործելու հնարավորությունները չդիտարկվեին QA ոլորտում ևս:
AI (AI), VR, AR, Data Science և ռոբոտային գործընթացների ավտոմատացումը շատ արագ է ընթանում և հսկայական տեղեր սկսում գրավել տեխնոլոգիական և ծրագրային ապահովման ոլորտում:
QA մասնագետների մտավախությունն այն է, որ Manual QA-ի կարևորությունը կնվազի ու այսօր տեղի ունեցող փոփոխությունները կփոխարինեն նրանց աշխատանքին:
Վախենալու փոխարեն պետք է սովորել նոր տեխնոլոգիաներ ու քայլել դրանց զուգահեռ: Ապագայում QA-ի աշխատանքին անհրաժեշտ կլինի գիտելիքներ՝ նորագույն տեխնոլոգիաների կիրառմամբ թեստավորում կատարելու համար:
Փորձագետները կարծում են, որ AI-ն ավելի կհեշտացնի թեստավորումը, ինչը լավ կլինի հենց QA մասնագետների համար։
Եթե Automation QA-ը Manual QA-ին չկարողացավ դուրս մղել շուկայից, ապա AI-ի ինտեգրումը ևս չի կարողանա դրա պատճառը դառնալ:
Այս ամենին հակառակ՝ AI-ը կստեղծի պարարտ հող բարելավելու փորձարկման բոլոր գործընթացները:
Այնուամենայնիվ, դեռևս կան ու կլինեն ոլորտներ, որոնք միշտ պետք է Manual թեստավորում անցնեն:
Ի՞նչ են AI (AI), VR, AR-ը՝ կարդացեք հոդվածում:
Շուտով AI-ն և ML-ն ավելի կինտեգրվեն QA-ին։
Եթե խոսենք QA աշխատատեղերի մասին, ապա AI-ն և ML-ն տեխնոլոգիաները ունեն հնարավորություն փոխարինելու Manual ծրագրային ապահովման փորձարկիչներին:
QA ոլորտից մարդկային գործոնը հեռացնելը հեշտ չէ, որոշ դեպքերում՝ անհնար է, բայց կան իրավիճակներ, երբ դա լրիվ իրատեսական կարող է լինել:
Այս փոփոխություններն ու նորամուծությունները չպետք է դառնան պատճառ, որպեսզի QA մասնագետները դուրս գան ոլորտից կամ փոխեն իրենց մասնագիտությունը։
Անհրաժեշտ է անել ճիշտ հակառակը՝ սովորել նոր հմտություններ և իրենց հմտությունները զարգացնել՝ անընդհատ փոփոխվող տեխնոլոգիաների տեմպերին համապատասխանելու համար:
Ինչո՞ւ չի կարող պակասել Manual QA-ի կարևորությունը և, որ ոչինչ ամբողջովին չի կարող փոխարինել Manual QA-ին
Հասկանանք, թե, առհասարակ, ինչու է մեզ անհրաժեշտ Manual QA
- Հաճախորդի կարծիք (Feedback) – Ծրագրային ապահովման փորձարկողի ամբողջ աշխատանքը կարող է դիտվել որպես պոտենցիալ օգտագործողի արձագանք:
- UI-ի հետադարձ կարծիք (Feedback) – Մեր օրերում UI-ը հսկայական դեր է խաղում, այնպես որ կարող եք ամբողջությամբ ստուգել այն միայն manual տարբերակով:
- Մատչելիություն – Կարճաժամկետ հեռանկարում Manual թեստավորումն ավելի էժան է, քան automation գործիքները:
- Իրական ժամանակի թեստավորում – Փոքր փոփոխությունները կարող են անմիջապես վերլուծվել՝ առանց ահվելյալ գործիքների կիրառման:
- Հետազոտության փորձարկման հնարավորություն – Դրա նպատակն փորձարկել հավելվածի տարբեր հնարավորությունները:
Այս հնարավորությունն ունի manual-ը ու հենց իր միջոցով է հնարավոր լավագույն արդյունք ստանալ։
7 օրինակ, որտեղ չի կարող կիրառվել ուրիշ ոչինչ, բացի Manual QA-ից .
Usability Testing – Թեստավորումը պետք է կատարվի՝ համոզվելու համար, որ հավելվածն օգտագործողի համար հարմար է:
Manual թեստավորումը միակ միջոցն է, որը օգտատերը կարող է հեշտությամբ իրականացնել հավելվածի միջոցով:
Անկախ նրանից, թե որքան հեռու կարող է AI-ն մեզ տանել, այն չի կարող ապահովել օգատգործողի այնպիսի փորձ, ինչպիսին Manual-ի դեպքում է:
Exploratory– Այս տեսակի թեստավորումը նույնպես պետք է կատարվի բացառապես անձի կողմից: Այս տեսակի թեստավորման ժամանակ կրեատիվությունն ու բնազդը կփոխարինեն պահանջներին և փորձարկման դեպքերին:
Ad hoc թեստավորում – Այս արագ, տեղում փորձարկման համար անհրաժեշտ է մարդկային փոխազդեցություն:
Կրկին, քանի որ չկան փորձարկման դեպքեր կամ պահանջներ, այն ավտոմատացնելու միջոց չի լինի:
Ավելին, դա չի կարող երաշխավորել ավտոմատացում:
Ծրագրաշարը դեռ մշակման վաղ փուլերում է – Manual թեստավորումը հաճախ օգտագործվում է գործընթացի սկզբում՝ ծրագրաշարի հիմնական ֆունկցիոնալությունն ու օգտագործելիությունը հաստատելու համար:
Ծրագրաշարն ունի բարդության ցածր մակարդակ – Համեմատաբար պարզ և մեծ թվով հնարավորություններ կամ ֆունկցիոնալություն չունեցող ծրագրակազմի համար Manual թեստավորումը կարող է ավելի արդյունավետ և ծախսարդյունավետ լինել։
Ծրագրաշարը պահանջում է օգտատիրոջ փոխգործակցության բարձր մակարդակ – Որոշ ծրագրային հավելվածներ, ինչպիսիք են խաղերը կամ ինտերակտիվ կրթական ծրագրերը, կարող են պահանջել օգտատիրոջ փոխգործակցության բարձր մակարդակ և կարող են ավելի հարմար լինել Manual փորձարկման համար:
Ծրագրաշարը պահանջում է ստեղծագործական կամ հետախուզական թեստավորում – Manual թեստավորումը կարող է ավելի արդյունավետ մոտեցում լինել թեստավորման սցենարների համար, որոնք ավելի բաց են կամ պահանջում են ստեղծագործական ավելի բարձր մակարդակ, քանի որ այն թույլ է տալիս փորձարկողին ուսումնասիրել տարբեր թեստային դեպքեր և մոտեցումներ:
5 պատճառ, թե ինչո՞ւ է Manual QA-ը կարևոր
1. Ժամանակ
Չնայած automation թեստավորումները կարող են ավելի արագ իրականացվել, բայց դանք անելու համար անհրաժեշտ է շատ ժամանակ։
Եթե նախագիծը շատ բարդ է և բազում փոխկապակցված բաղադրիչներով automation թեստավորումն ավելի շատ ժամանակ և ռեսուրսներ կխլի:
Որոշ դեպքերում կարող է չափազանց թանկ լինել։
2. Մարդկային հպում
Վերջնական օգտատերերի համար հավելվածի տեսքը նույնքան կարևոր է, որքան դրա գործառույթների ճիշտ աշխատանքը:
Եթե օգտատիրոջ ինտերֆեյսը բարդ է, ավելի արագ և էժան է փորձարկել այն Manual և ավտոմատացնել միայն SDK-ն և/կամ API-ն՝ համոզվելու համար, որ բիզնես տրամաբանությունը հետընթաց չունի:
4. Անվտանգություն
Բարդ նախագծերի համար պետք է ուշադիր գնահատել բոլոր թույլտվությունները, որոնք անհրաժեշտ են թեստի կատարման համար:
Automation փորձարկման դեպքում հնարավոր է լիարժեք մուտք չունենալ դեպի համակարգ և սահմանափակումներ լինեն այն համակարգերի և միջավայրերի վերաբերյալ, որոնցում փորձարկողին տրվել է մուտք:
6. Ամեն ինչ չէ, որ կարելի է ավտոմատացնել
Եթե ունեք շարժական արտադրանք և պետք է հաստատեք, թե ինչպես է այն աշխատում բազմաթիվ տարբեր սարքերի վրա, դա ավտոմատացնելը հեշտ չէ։
Կարող են լինել իրավիճակներ, երբ չկան ավտոմատացման գործիքներ հատուկ հարթակի կամ սարքի տեսակի համար:
7. Կայունություն
Իհարկե, թեստային դեպքերն ու սցենարները պետք է ամեն դեպքում ստուգվեն՝ ցանկալի արդյունքները պահպանելու համար, բայց երբ հավելվածն անկայուն է, ավտոմատացված թեստերի արդյունքներն ավելի հավանական է, որ կեղծ լինեն:
Եթե հավելվածը կայուն է, ապա ավտոմատացված թեստերը նույնպես կայուն և օբյեկտիվ կլինեն:
Մինչ այդ ավելի լավ է ձեռքով սկսել հավելվածի թեստավորումը՝ արժեքավոր արդյունքներ ստանալու համար։
Բայց երբ ապրանքը շուկա դուրս գա, և դուք պետք է ապահովեք, որ աճող թարմացումների միջև հետընթաց չկան, թեստային ավտոմատացումը կարող է շատ օգտակար լինել:
Ամփոփում
Ցանկացած տեսակի թեստավորում ծրագրային ապահովման մշակման ոլորտում անփոխարինելի բաղադրիչ է, և ծրագրային ապահովման վրա անհրաժեշտ և համապատասխան թեստերի անցկացումը երաշխավորում է արտադրանքի բարձրորակ լինելը:
Ե՛վ Manual, և՛ automation թեստավորումն ունեն իրենց առավելությունները, և երկուսն էլ պետք է լինեն QA ռազմավարության մի մասը: