Professional Documents
Culture Documents
Manukyan Tigran
Manukyan Tigran
ՄԱԳԻՍՏՐՈՍԱԿԱՆ ԹԵԶ
ԵՐԵՎԱՆ 2024
ՀԱՍՏԱՏՄԱՆ ԹԵՐԹ
Ծննդյան տարեթիվը՝________________1997թ.______________________________________
ԻՆՍՏԻՏՈՒՏ/ՖԱԿՈՒՏԵՏ
թվարկմամբ)
Համառոտագիր,_ներածություն,_գրականության_ակնարկ,_խնդրի_դրվածք,_տեսական___առնչությ
ուններ, փորձնական հետազոտություններ,_փորձարարական_տեխնիկա,_եզրակացություն,
գրականության ցանկ:_______ ______________
4. Թեզի կատարման օրացուցային պլան
Թեզի կատարման փուլերը
Հ/Հ Կատ. Ծանոթություն
Անվանումը հաշ. ձևը
ժամկ.
1. Մագիստրոսական թեզի ընտրություն, Տպագրվ
գրականության ընտրություն ած
14.09.2023թ. սևագիր
տարբերա
կ
2. Խնդրի դրվածք Տպագրվ
ած
12.10.2023թ. սևագիր
տարբերա
կ
3. Գրականության վերլուծություն Տպագրվ
ած
27.01.202թ. սևագիր
տարբերա
կ
24.04.20223թ.-
I ատեստավորում 40%
28.04.2023թ.
4. Տեսական առնչություններ Տպագրվ
ած
15.09.2023թ. սևագիր
տարբերա
կ
5. Ստանդարտ թեստային տվյալների ձևաչափի Տպագրվ
ուսումնասիրություն ած
18.10.2023թ. սևագիր
տարբերա
կ
6. Ստանդարտ թեստային տվյալների ձևաչափի տվյալների Տպագրվ
վերլուծություն և մշակում ած
08.11.2023թ. սևագիր
տարբերա
կ
II ատեստավորում 27.11.2023թ.-
70%
01.12.2023թ.
7. Հարթակի ջերմային քարտեզի կառուցում՝ ստանդարտ Տպագրվ
թեստային տվյալների ձևաչափի տվյալների հիման վրա ած
17.01.2024թ. սևագիր
տարբերա
կ
8. Հաշվեբացատրագրի կազմում Տպագրվ
ած
07.02.2024թ. սևագիր
տարբերա
կ
9. Արյունքնների ստացում և հետազոտում Տպագրվ
ած
15.03.2024թ. սևագիր
տարբերա
կ
10. Գրաֆիկական ինտերֆեյսի վերջնական ձևավորում Տպագրվ
ած
03.03.2024թ. սևագիր
տարբերա
կ
III ատեստավորում 22.04.2024թ.-
100%
26.04.2024թ.
Ավ.
11. Աշխատանքի ներկայացումը ամբիոն 05.04.2024թ.
աշխ.
ՀԱՄԱՌՈՏԱԳԻՐ
6
7
Բովանդակություն
ԳԼՈՒԽ 1 ՆԵՐԱԾՈՒԹՅՈՒՆ 8
1․1 Համակարգչային հավելվածը եւ թեստավորման միջոցները: 8
1․2 Ինչպես օպտիմիզացնել ավտոմատ ֆունկցիոնալ նախագծի արտադրանքի համար։ 9
ԳԼՈՒԽ 2 ԳՐԱԿԱՆՈՒԹՅԱՆ ԱԿՆԱՐԿ 13
2.1 Թեստավորման պարզեցում. Selenium-ի և Python-ի միջոցով։ 13
2.2 Linux օպերացիոն համակարգում Pytest գործիքով կատարված տեստավորում։ 15
2.3 Pytest և Xlibe ԳԻԹ թեստավորման առավելությունները եւ թերությունները ։ 19
2․4 Ֆունկցիոնալ թեստավորման բացակայությունը։ 22
ԳԼՈՒԽ 3 ԽՆԴՐԻ ԴՐՎԱԾՔ 23
ԳԼՈՒԽ 4 ՏԵՍԱԿԱՆ ԱՌՆՉՈՒԹՅՈՒՆՆԵՐ 24
4․1 Ֆունկցիոնալ թեստաորում։ 24
4․2 ԳԻԹ գրաֆիկական ինտերֆեյսի թեստավորում։ 28
4.3 Թեստավորման հերթական փուլերը իրենց նկարագրություններով։ 31
8
ԳԼՈՒԽ 1
ՆԵՐԱԾՈՒԹՅՈՒՆ
9
Ծրագրային ապահովման թեստավորման օպտիմիզացումը չափազանց կարևոր է
թեստավորման գործընթացի արդյունավետությունը, արդյունավետությունը և ընդհանուր
որակը բարելավելու համար: Ահա մի քանի ռազմավարություններ՝ ծրագրային
ապահովման փորձարկումը օպտիմալացնելու համար.
Ավտոմատացում:
10
Բացահայտեք կրկնվող և ժամանակատար փորձարկման դեպքերը, որոնք հարմար են
ավտոմատացման համար:
Հետախուզական փորձարկում.
11
Ներառեք հետախուզական թեստավորում սկրիպտային թեստավորման հետ մեկտեղ՝
թերությունները, օգտագործելիության խնդիրները և եզրային դեպքերը բացահայտելու
համար:
Shift-Left Փորձարկում.
12
Խրախուսեք շարունակական ուսումնառությունը և գիտելիքների փոխանակումը
թեստավորման թիմում:
Չափումներ և չափումներ.
13
ԳԼՈՒԽ 2
ԳՐԱԿԱՆՈՒԹՅԱՆ ԱԿՆԱՐԿ
14
Նկ․ 2․1 Տարբեր գործիքներ որոնց միջոցով կազմակերպվում է թեստավորում
15
2.2 Linux օպերացիոն համակարգում Pytest գործիքով կատարված
թեստավորում։
Ընդհանուր ակնարկ.
pytest-ը Python-ի համար հայտնի փորձարկման շրջանակ է, որը թույլ է տալիս գրել պարզ և
մասշտաբային թեստային դեպքեր ձեր Python կոդի համար: Այն լայնորեն օգտագործվում է
միավորի փորձարկման, ֆունկցիոնալ փորձարկման և Python հավելվածների և
գրադարանների ինտեգրման փորձարկման համար: pytest-ն ապահովում է
գործառույթների հարուստ շարք, ներառյալ ավտոմատ թեստի հայտնաբերումը,
տեղադրման և անջատման հարմարանքները, պարամետրացված թեստավորումը և
աջակցություն տարբեր պնդումների և պլագինների համար:
Հատկություններ:
Փորձարկման ավտոմատ հայտնաբերում. pytest-ը ավտոմատ կերպով հայտնաբերում է
թեստային գործառույթները և մոդուլները ձեր նախագծի գրացուցակում, ինչը հեշտացնում
է թեստերի կազմակերպումն ու կատարումը:
Հարմարավետության աջակցություն. pytest-ը տրամադրում է հարմարանքներ, որոնք
բազմակի օգտագործման կարգավորման և անջատման գործառույթներ են, որոնք թույլ են
տալիս նախաստորագրել թեստային ռեսուրսները, ստեղծել թեստային միջավայրեր և
մաքրել փորձարկումներից հետո:
Պարամետրիզացված թեստավորում. Դուք կարող եք օգտագործել pytest-ի
պարամետրիզացված դեկորատորը՝ մեկ թեստային ֆունկցիայի համար մուտքային
պարամետրերի մի քանի հավաքածու սահմանելու համար՝ հնարավորություն տալով
տվյալների վրա հիմնված թեստավորում:
Պայմաններ. pytest-ն առաջարկում է ակնկալվող արդյունքները ստուգելու համար
հաստատման մեթոդների լայն շրջանակ, ներառյալ ստանդարտ Python-ի հաստատման
հայտարարությունները, ինչպես նաև ավելի արտահայտիչ և տեղեկատվական
հաստատման մեթոդներ:
16
Plugin System. pytest-ն ունի ճկուն պլագինների ճարտարապետություն, որը թույլ է տալիս
ընդլայնել դրա ֆունկցիոնալությունը հատուկ պլագինների միջոցով: Գոյություն ունեն
համայնքի կողմից ներդրված բազմաթիվ հավելվածներ, որոնք հասանելի են փորձարկման
այլ գործիքների, հաշվետվության ձևաչափերի և թեստի ծածկույթի վերլուծության հետ
ինտեգրվելու համար:
Առավելությունները:
Պարզ և ինտուիտիվ շարահյուսություն, որը հեշտացնում է թեստային դեպքերը գրելն ու
կարդալը:
Ընդարձակ փաստաթղթեր և համայնքային աջակցություն՝ պլագինների և ինտեգրումների
մեծ էկոհամակարգով:
Անխափան ինտեգրում շարունակական ինտեգրման (ՍԻ) համակարգերի հետ, ինչպիսիք
են Jenkins-ը, Travis CI-ն և GitHub Actions-ը:
Խաչաձև պլատֆորմային համատեղելիություն, աջակցում է փորձարկում տարբեր
օպերացիոն համակարգերի վրա, ներառյալ Linux, macOS և Windows:
Եզրակացություն:
pytest-ը բազմակողմանի փորձարկման շրջանակ է, որը լայնորեն օգտագործվում է Linux
միջավայրում (ինչպես նաև այլ հարթակներում) Python հավելվածների և գրադարանների
փորձարկման համար: Դրա հարուստ հնարավորությունների հավաքածուն,
17
ընդարձակելիությունը և օգտագործման հեշտությունը դարձնում են այն հանրաճանաչ
ընտրություն մշակողների համար, ովքեր ցանկանում են ապահովել իրենց ծրագրային
նախագծերի որակն ու հուսալիությունը:
Պարամետրացված թեստավորում. Օգտագործեք pytest-ի պարամետրիզատորը տարբեր
մուտքային դեպքեր և եզրային դեպքեր փորձարկելու համար՝ ապահովելով թեստի
համապարփակ ծածկույթ:
Փոխազդեցություն ԳԻԹ -ների հետ՝ օգտագործելով Xlib.
Xlib (Xlibe) ցածր մակարդակի գրադարան է X Window համակարգի հետ փոխազդելու
համար, որը սովորաբար օգտագործվում է Unix-ի նման օպերացիոն համակարգերում: Այն
ապահովում է X պատուհանների ծրագրային ստեղծման, կառավարման և
մանիպուլյացիայի գործառույթներ: Երբ զուգակցվում է pytest-ի հետ, Xlib-ը
ծրագրավորողներին հնարավորություն է տալիս ավտոմատացնել ԳԻԹ -ի
փոխազդեցությունները, մոդելավորել օգտվողի մուտքագրման իրադարձությունները և
ստուգել հավելվածի վարքագիծը թեստավորման ընթացքում:
18
Նկ․ 2․3 Selenium ով կատարված տեստի օրինակ
Եզրափակելով, Selenium-ը և Python-ը առաջարկում են ահռելի հնարավորություն ՝ վեբ
թեստավորման առաջադրանքների ավտոմատացման համար: Բրաուզերի
ավտոմատացման գործում Selenium-ի հմտության և Python-ի պարզության և
բազմակողմանիության շնորհիվ մշակողները կարող են հեշտությամբ հաղթահարել վեբ
թեստավորման մարտահրավերները: Ընդգրկելով Selenium-ը և Python-ը,
կազմակերպությունները կարող են բարձրացնել իրենց փորձարկման պրակտիկան,
արագացնել զարգացման գործընթացը և մատուցել անթերի վեբ հավելվածներ, որոնք
ուրախացնում են օգտատերերին:
19
օգտագործվել առանձին բաղադրիչների ֆունկցիոնալությունը ստուգելու, կարգավորելու և
անջատելու առաջադրանքները լուծելու և փորձարկման աշխատանքային հոսքերը
ավտոմատացնելու համար:
Օգտագործելով pytest ԳԻԹ թեստավորման համար.
Միավորի փորձարկում. Գրեք միավորի թեստեր՝ ստուգելու անհատական ԳԻԹ
բաղադրիչների վարքը, ինչպիսիք են կոճակները, մուտքագրման դաշտերը և վիդջեթները:
Ինտեգրման փորձարկում. Ստուգեք ԳԻԹ -ի տարբեր բաղադրիչների փոխազդեցությունը և
համոզվեք, որ դրանք միասին աշխատեն, ինչպես սպասվում էր:
Ստեղծեք վերջից մինչև վերջ թեստեր՝ օգտատերերի փոխազդեցությունները մոդելավորելու
և հավելվածի ընդհանուր վարքագիծը ստուգելու համար:
Պարամետրացված թեստավորում. Օգտագործեք pytest-ի պարամետրիզատորը տարբեր
մուտքային դեպքեր և եզրային դեպքեր փորձարկելու համար՝ ապահովելով թեստի
համապարփակ ծածկույթ:
Փոխազդեցություն ԳԻԹ -ների հետ՝ օգտագործելով Xlib.
Xlib (Xlibe) ցածր մակարդակի գրադարան է X Window համակարգի հետ փոխազդելու
համար, որը սովորաբար օգտագործվում է Unix-ի նման օպերացիոն համակարգերում: Այն
ապահովում է X պատուհանների ծրագրային ստեղծման, կառավարման և
մանիպուլյացիայի գործառույթներ: Երբ զուգակցվում է pytest-ի հետ, Xlib-ը
ծրագրավորողներին հնարավորություն է տալիս ավտոմատացնել ԳԻԹ -ի
փոխազդեցությունները, մոդելավորել օգտվողի մուտքագրման իրադարձությունները և
ստուգել հավելվածի վարքագիծը թեստավորման ընթացքում:
Օգտատիրոջ մուտքագրման մոդելավորում. օգտագործեք Xlib-ը օգտատերերի
մուտքագրման իրադարձությունները նմանակելու համար, ինչպիսիք են մկնիկի
սեղմումները, ստեղնաշարի մուտքագրումը և պատուհանի ֆոկուսի փոփոխությունները:
Սքրինշոթերի նկարահանում. Վերցրեք ԳԻԹ պատուհանների սքրինշոթները և ստուգեք
դրանց տեսքն ու դասավորությունը փորձարկման ընթացքում:
Պիկսելների արժեքների ընթերցում. Կարդացեք պիքսելների արժեքները ԳԻԹ
պատուհաններից՝ ստուգելու որոշակի տարրերի կամ գույների առկայությունը:
20
Պատուհանների կառավարում. Վերահսկեք պատուհանի դիրքավորումը, չափափոխումը և
տեսանելիությունը՝ օգտատերերի տարբեր փոխազդեցությունները և փորձնական դեպքերը
մոդելավորելու համար:
Համատեղելով pytest-ը և Xlib-ը համապարփակ փորձարկման համար.
Ինտեգրելով pytest-ը և Xlib-ը, մշակողները կարող են ստեղծել Python ԳԻԹ հավելվածների
համապարփակ փորձարկման ռազմավարություն Unix-ի նման համակարգերում: Այս
մոտեցումը թույլ է տալիս մանրակրկիտ փորձարկել ինչպես հավելվածի
տրամաբանությունը, այնպես էլ օգտատիրոջ միջերեսի փոխազդեցությունը՝ ապահովելով,
որ հավելվածն իրեն պահի այնպես, ինչպես սպասվում է տարբեր պայմաններում:
Եզրակացություն:
Python ԳԻԹ հավելվածների փորձարկումը պահանջում է հզոր փորձարկման
շրջանակների և ցածր մակարդակի գրադարանների համակցություն՝ ապահովելու
համապարփակ թեստի ծածկույթ և հուսալի հավելվածի վարքագիծ: Օգտագործելով pytest-
ը՝ թեստային դեպքերը գրելու և գործարկելու համար, և Xlib-ը՝ ԳԻԹ -ի հետ համակարգի
մակարդակով փոխազդելու համար, մշակողները կարող են ստեղծել ամուր փորձարկման
խողովակաշարեր, որոնք վավերացնում են և՛ ֆունկցիոնալությունը, և՛ օգտագործողի
փորձը: Այս մոտեցմամբ Python-ի մշակողները կարող են վստահորեն ստեղծել բարձրորակ
ԳԻԹ հավելվածներ՝ իմանալով, որ դրանք մանրակրկիտ փորձարկված և վավերացված են:
21
Անվստահելի ծրագրակազմ. ֆունկցիոնալ փորձարկման բացակայությունը կարող է
հանգեցնել անվստահելի ծրագրակազմի, որը չի կարողանում ճշգրիտ և հետևողականորեն
կատարել իր առաջադրանքները: Սա կարող է խաթարել օգտատերերի վստահությունն ու
վստահությունը հավելվածի նկատմամբ՝ հանգեցնելով դժգոհության և հաճախորդների
հնարավոր կորստի:
22
ապահովման գործառույթի և շահագրգիռ կողմերի ակնկալիքների
անհամապատասխանության և անհամապատասխանության վտանգ:
23
24
ԳԼՈՒԽ 3
ԽՆԴՐԻ ԴՐՎԱԾՔ
25
ԳԼՈՒԽ 4
ՏԵՍԱԿԱՆ ԱՌՆՉՈՒԹՅՈՒՆՆԵՐ
6 .Հաշվառել թերությունները
27
3․ Արագ փորձարկում - Թեստերի կարճ ցիկլ՝ հիմնական հավելվածի գործառույթների
ճիշտ աշխատանքը որոշելու համար:
1․Կրկնելիություն. բոլոր գրված թեստերը միշտ կկատարվեն նույն կերպ՝ համաձայն տվյալ
կոդի:
28
3․ Արագ կատարում. ավտոմատացված սցենարը կարիք չունի ծանոթանալու
հրահանգներին և փաստաթղթերին. սա մեծապես խնայում է կատարման ժամանակը:
4․Աջակցության ավելի քիչ ծախսեր. երբ ավտոմատացված սկրիպտներն արդեն գրված են,
արդյունքները պահպանելու և վերլուծելու համար ավելի քիչ ժամանակ է պահանջվում,
քան նույն քանակությամբ ձեռքով թեստավորում անելը:
Ավտոմատացման գործիքի արժեքը. այն կարող է հատկապես բարձր լինել, եթե դուք
օգտագործում եք լիցենզավորված ծրագրակազմ:
29
4.2 ԳԻԹ գրաֆիկական ինտերֆեյսի թեստավորում։
30
համար: Այս մեթոդը պահանջում է ուշադրություն մանրուքների վրա և օգտատերերի
աշխատանքային հոսքերի խորը պատկերացում:
31
նմանակում են օգտատերերի փոխազդեցությունները և հետևողականորեն հաստատում
ԳԻԹ -ի վարքագիծը: Ավտոմատացումը նաև ուժեղացնում է ռեգրեսիայի փորձարկումը՝
թույլ տալով փորձարկողներին արագ բացահայտել -ի հետ կապված ռեգրեսիաները, երբ
ավելացվում են նոր հնարավորություններ կամ փոփոխություններ են կատարվում:
32
1. Ռեգրեսիայի թեստավորում.
Ռեգրեսիայի թեստավորումն իրականացվում է ստուգելու համար, որ կոդի վերջին
փոփոխությունները բացասաբար չեն ազդել առկա ֆունկցիոնալության վրա: Այն ներառում
է ծրագրաշարի վերստուգում փոփոխություններից հետո՝ համոզվելու համար, որ
նախկինում աշխատող գործառույթները դեռ ճիշտ են աշխատում: Ռեգրեսիոն
փորձարկումն օգնում է կանխել թերությունների վերականգնումը և պահպանում է
ծրագրաշարի ընդհանուր կայունությունը:
2. Ինտեգրման թեստավորում.
Ինտեգրման թեստավորումը կենտրոնանում է առանձին ծրագրային մոդուլների կամ
բաղադրիչների միջև փոխազդեցությունների փորձարկման վրա՝ ապահովելու, որ դրանք
միասին աշխատեն, ինչպես սպասվում էր: Այն ստուգում է ինտերֆեյսներն ու
փոխազդեցությունները տարբեր մոդուլների միջև՝ բացահայտելով ինտեգրման խնդիրները
և ապահովելով բաղադրիչների միջև անխափան հաղորդակցությունը:
3. Ծխի փորձարկում.
Smoke Testing-ը, որը նաև հայտնի է որպես Build Verification Testing (BVT), իրականացվում
է ստուգելու համար, թե արդյոք ծրագրաշարի ամենակարևոր գործառույթներն աշխատում
են այնպես, ինչպես սպասվում է կառուցումից կամ թողարկումից հետո: Այն ներառում է մի
շարք հիմնական թեստերի կատարում՝ ստուգելու համար, որ ծրագրաշարը
բավականաչափ կայուն է հետագա փորձարկման համար: Ծխի փորձարկումն օգնում է
բացահայտել հիմնական թերությունները զարգացման գործընթացի սկզբում:
4. Սթափության փորձարկում.
Սթափության փորձարկումը ռեգրեսիոն փորձարկման ենթաբազմություն է, որը
կենտրոնանում է ծրագրաշարի հատուկ գործառույթների կամ բաղադրիչների արագ
ստուգման վրա: Այն սովորաբար կատարվում է, երբ փոքր փոփոխություն է կատարվում
կոդերի բազայում կամ երբ նոր կառուցում է ստացվում: Սթափության փորձարկումն օգնում
է համոզվել, որ կարևոր գործառույթները դեռևս աշխատում են փոքր փոփոխություններից
հետո:
33
Նկ․ 4.3 Թեստավորման արդիական պահանջները
5. Համակարգի փորձարկում.
Համակարգի փորձարկումը գնահատում է ծրագրային ապահովման ամբողջ համակարգը
որպես ամբողջություն՝ ստուգելու համար, որ այն համապատասխանում է սահմանված
պահանջներին և գործում է այնպես, ինչպես սպասվում է իր նախատեսված միջավայրում:
Այն ստուգում է համակարգի ֆունկցիոնալությունը, կատարումը, անվտանգությունը և
հուսալիությունը՝ հաճախ օգտագործելով իրական աշխարհի սցենարներ: Համակարգի
փորձարկումը հաստատում է ծրագրաշարի ընդհանուր վարքը վերջնական օգտագործողի
տեսանկյունից:Բրաուզերային թեստավորումը ներառում է վեբ հավելվածների
փորձարկում տարբեր վեբ բրաուզերների և բրաուզերի տարբերակներում` ապահովելու
օգտատերերի փորձի համատեղելիությունն ու հետևողականությունը: Այն ստուգում է, որ
հավելվածը ճիշտ է գործում և պատշաճ կերպով ցուցադրվում է տարբեր բրաուզերներում,
ներառյալ Chrome, Firefox, Safari, Edge և այլն:
7. Տեղադրման փորձարկում.
34
Տեղադրման փորձարկումը կենտրոնանում է ստուգելու վրա, որ ծրագրաշարը կարող է
հաջողությամբ տեղադրվել, թարմացվել կամ ապատեղադրվել տարբեր միջավայրերում և
կոնֆիգուրացիաներում: Այն ապահովում է, որ տեղադրման գործընթացը սահուն է և
առանց սխալներ, և որ ծրագրաշարը ճիշտ է գործում տեղադրումից հետո:
8. Կազմաձևման փորձարկում.
Կազմաձևման փորձարկումը հաստատում է ծրագրաշարի վարքագիծը տարբեր
կազմաձևման պարամետրերի կամ պարամետրերի ներքո: Այն հաստատում է, որ
ծրագրաշարը հետևողականորեն վարվում է տարբեր կոնֆիգուրացիաների և
կարգավորումների միջև՝ ապահովելով, որ այն համապատասխանում է տարբեր
օգտագործողների և միջավայրերի կարիքներին:
9. Բացասական թեստավորում.
Բացասական փորձարկումը, որը նաև հայտնի է որպես Սխալների ուղու թեստավորում
կամ ձախողման փորձարկում, ներառում է ծրագրաշարի դիտավորյալ ենթարկում
անվավեր կամ անսպասելի մուտքերի կամ պայմանների` ստուգելու դրա կայունությունը և
սխալների հետ աշխատելու հնարավորությունները: Այն նպատակ ունի բացահայտելու
թերություններն ու խոցելիությունները, որոնք կարող են առաջանալ, երբ ծրագրաշարը
բախվում է անսպասելի սցենարների:
Եզրակացություն:
Ծրագրային ապահովման փորձարկման յուրաքանչյուր տեսակ ծառայում է ծրագրային
ապահովման մշակման կյանքի ցիկլում որոշակի նպատակի` նպաստելով ծրագրաշարի
ընդհանուր որակին, հուսալիությանը և կատարողականին: Հասկանալով և ընդգրկելով
տարբեր փորձարկման մեթոդներ, ինչպիսիք են ռեգրեսիոն փորձարկումը, ինտեգրման
թեստը, ծխի թեստը, առողջական վիճակի փորձարկումը, համակարգի թեստը, բրաուզերի
փորձարկումը, տեղադրման թեստը, կոնֆիգուրացիայի թեստը և բացասական
փորձարկումը, ծրագրային ապահովման մշակման թիմերը կարող են վաղ հայտնաբերել և
վերացնել թերությունները, մեղմացնել: ռիսկերը և մատուցել բարձրորակ ծրագրակազմ,
որը բավարարում է օգտատերերի ակնկալիքները:
. Բացասական թեստավորում.
35
Բացասական փորձարկումը, որը նաև հայտնի է որպես Սխալների ուղու թեստավորում
կամ ձախողման փորձարկում, ներառում է ծրագրաշարի դիտավորյալ ենթարկում
անվավեր կամ անսպասելի մուտքերի կամ պայմանների` ստուգելու դրա կայունությունը և
սխալների հետ աշխատելու հնարավորությունները: Այն նպատակ ունի բացահայտելու
թերություններն ու խոցելիությունները, որոնք կարող են առաջանալ, երբ ծրագրաշարը
բախվում է անսպասելի սցենարների:
36
սխալները և անհամապատասխանությունները՝ նախքան դրանք ազդել վերջնական
օգտագործողների վրա: Սա օգնում է ապահովել հավելվածի որակն ու հուսալիությունը՝
նվազագույնի հասցնելով վթարների, վրիպակների և աշխատանքի հետ կապված
խնդիրների ռիսկը, որոնք կարող են արատավորել արտադրանքի և դրա հետևում կանգնած
կազմակերպության հեղինակությունը:
Թերությունների վաղ հայտնաբերում և կանխարգելում:
Թերությունների վաղ հայտնաբերումը առանցքային է զարգացման կյանքի ցիկլի հետագա
ընթացքում սխալների շտկման և բարելավման համար պահանջվող ծախսերն ու ջանքերը
նվազագույնի հասցնելու համար: Թեստավորումը թույլ է տալիս ծրագրավորողներին
բացահայտել խնդիրները զարգացման փուլում, երբ դրանց լուծումն ավելի հեշտ է և ավելի
քիչ ծախսատար: Կատարելով մանրակրկիտ փորձարկման կրկնություններ՝
ծրագրավորողները կարող են վաղ հայտնաբերել թերությունները, ժամանակին շտկել և
կանխել տեխնիկական պարտքի կուտակումը, որը կարող է խոչընդոտել հավելվածի
երկարաժամկետ պահպանմանն ու մասշտաբայնությանը:
Օգտատիրոջ փորձի ընդլայնում:
37
Օգտագործողի փորձը (UX) հավելվածի հաջողության կարևոր գործոն է: Թեստավորումն
օգնում է ապահովել, որ հավելվածները լինեն ինտուիտիվ, արձագանքող և օգտագործողի
համար հարմար՝ բավարարելով թիրախային լսարանի ակնկալիքներն ու կարիքները:
Օգտագործելիության թեստավորման միջոցով ծրագրավորողները կարող են հետադարձ
կապ հավաքել իրական օգտատերերից, բացահայտել օգտագործելիության խնդիրները և
կատարել կրկնվող բարելավումներ՝ օգտատիրոջ ընդհանուր փորձը բարելավելու համար:
Լավ փորձարկված հավելվածը ոչ միայն ճիշտ է գործում, այլև ապահովում է անթերի և
հաճելի փորձ օգտատերերի համար՝ խթանելով ներգրավվածությունը, հավատարմությունը
և դրական բանավոր խոսք:Անվտանգության ռիսկերի մեղմացում:
Անվտանգության խոցելիությունը զգալի վտանգ է ներկայացնում հավելվածների և դրանց
օգտատերերի համար: Թեստավորումն օգնում է բացահայտել անվտանգության
խոցելիությունները, ինչպիսիք են միջկայքի սկրիպտավորումը (XSS), SQL ներարկումը և
նույնականացման թերությունները, նախքան դրանք չարագործների կողմից
շահագործվելը: Անվտանգության թեստավորում անցկացնելով՝ ծրագրավորողները կարող
են կիրառել անվտանգության համապատասխան միջոցներ, ինչպիսիք են գաղտնագրումը,
մուտքի վերահսկումը և խոցելիության տեղակայումները՝ ռիսկերը մեղմելու և զգայուն
տվյալները պաշտպանելու համար: Անվտանգության հետ կապված խնդիրների ակտիվ
լուծումը փորձարկման միջոցով մեծացնում է օգտատերերի և շահագրգիռ կողմերի
վստահությունն ու վստահությունը հավելվածի անվտանգության դիրքորոշման
նկատմամբ:
38
Թեստավորումն ապահովում է, որ հավելվածները համապատասխանում են կարգավորող
պահանջներին, ինչպիսիք են՝ HIPAA, GDPR, PCI DSS և ADA մատչելիության
ստանդարտները: Կատարելով համապատասխանության թեստավորում և վավերացում՝
կազմակերպությունները կարող են խուսափել օրինական տույժերից, տուգանքներից և
հեղինակությանը չհամապատասխանելու հետևանքով առաջացած վնասից՝ ցույց տալով
իրենց նվիրվածությունը տվյալների գաղտնիությանը, անվտանգությանը և
հասանելիությանը:
Եզրակացություն:
Եզրափակելով, հավելվածների թեստավորումը կարևոր է որակի, հուսալիության և
օգտագործողների բավարարվածության ապահովման համար այսօրվա ծրագրային
ապահովման վրա հիմնված աշխարհում: Զարգացման ողջ ցիկլի ընթացքում
հավելվածները համակարգված փորձարկելով՝ ծրագրավորողները կարող են վաղ
հայտնաբերել թերությունները, բարելավել օգտատերերի փորձը, մեղմացնել
անվտանգության ռիսկերը և համապատասխանել կարգավորող պահանջներին:
Փորձարկման կայուն գործընթացներում և մեթոդաբանություններում ներդրումներ
կատարելը ոչ միայն բարելավում է հայտի ընդհանուր որակը, այլև խթանում է
վստահությունը, վստահելիությունը և հաջողությունը մրցակցային շուկայում: Որպես
այդպիսին, թեստավորումը պետք է լինի ծրագրային ապահովման մշակման յուրաքանչյուր
նախագծի անբաժանելի մասը՝ առաջնահերթություն և գնահատված իր կարևոր դերի
համար՝ բարձրորակ, հուսալի և օգտատերերի վրա հիմնված հավելվածներ մատուցելու
գործում:
39
ԳԼՈՒԽ 5
ԾՐԱԳՐԱՅԻՆ ԻՐԱԿԱՆԱՑՈՒՄ
40
Python Xlib-ը կապող Python Xlib-ի համար, հաճախորդի գրադարան X Window
համակարգի համար: Xlib-ն ապահովում է ցածր մակարդակի մուտք դեպի X սերվեր՝ թույլ
տալով ծրագրավորողներին շահարկել պատուհանները, կարգավորել
իրադարձությունները և ծրագրային կերպով փոխազդել գրաֆիկական տարրերի հետ:
Python Xlib-ը պարզեցնում է այս գործընթացը՝ տրամադրելով Python կապեր Xlib
ֆունկցիաների համար՝ հեշտացնելով աշխատել X պատուհանների և
իրադարձությունների հետ՝ օգտագործելով Python կոդը:
Python Xlib-ի հիմնական առանձնահատկությունները.
Պատուհանների կառավարում. Python Xlib-ը թույլ է տալիս ստեղծել, շահարկել և
կառավարել պատուհանները ծրագրային եղանակով: Դուք կարող եք սահմանել
պատուհանի հատկությունները, տեղադրել պատուհանները և հեշտությամբ կատարել
պատուհանների տարբեր գործողություններ:
Իրադարձությունների կառավարում. Python Xlib-ի միջոցով դուք կարող եք կարգավորել X
իրադարձություններ, ինչպիսիք են մկնիկի սեղմումները, ստեղնաշարի մուտքագրումը,
պատուհանների շարժումները և այլն: Սա թույլ է տալիս մոդելավորել օգտատերերի
փոխազդեցությունները և արդյունավետորեն փորձարկել ԳԻԹ հավելվածները:
41
պատուհաններ՝ հիմնվելով դրանց հատկությունների, վերնագրերի կամ այլ
հատկանիշների վրա:
Իրադարձությունների սիմուլյացիա. նմանակել օգտատերերի փոխազդեցությունները,
ինչպիսիք են մկնիկի սեղմումները, ստեղնաշարի մուտքագրումը և պատուհանների
շարժումները՝ օգտագործելով Python Xlib: Սա թույլ է տալիս ավտոմատացնել ԳԻԹ -ի
փորձարկման սցենարները և հաստատել հավելվածի վարքագիծը:
Ստուգում և վավերացում. նկարահանեք պատուհանների սքրինշոթներ և համեմատեք
դրանք ակնկալվող պատկերների հետ՝ ԳԻԹ -ի դասավորությունները և տարրերը
վավերացնելու համար: Կարող եք նաև կարդալ պիքսելների արժեքները՝ ստուգելու
գույները, տեքստը կամ այլ տեսողական ատրիբուտները:
Ինտեգրում թեստավորման շրջանակների հետ. Ինտեգրել Python Xlib-ը թեստավորման
շրջանակների հետ, ինչպիսիք են pytest-ը կամ unittest-ը՝ ավտոմատացված ԳԻԹ թեստեր
ստեղծելու համար: Միավորել Python Xlib-ը պնդումների և թեստային պնդումների հետ՝
ակնկալվող արդյունքները ստուգելու համար:
42
յուրաքանչյուրի համար իրականացվել է 17 տեղայնքների համար ստուգվել է 166 թեստերի
արդյունքների առկայությունը։ Այն դեպքում, երբ թեստի արդյունքը բացակայել է
մուտքային տվյալներում, այն լրացվել է թեստի միջինացված արժեքով տվյալ տպասալի
համար։ Տպասալի սորտավորման արդյունքները յուրաքանչյուր տեղամասի համար
համարվում են պիտակ՝ 1 կամ 0: Ուսուցման տվյալների բազմությունը՝ որը ներառում է և՛
տպասալի ընդունման, և՛ սորտավորման արդյունքները ենթարկվել է գերընտրանքի
դասերի բալանսավորման համար։
43
Բարելավված օգտագործողի փորձ: Լավ մշակված ինտերֆեյսը բարելավում է օգտատիրոջ
ընդհանուր փորձը՝ տրամադրելով ինտուիտիվ նավիգացիա, հստակ հրահանգներ և
տեսողական արձագանք: Այն թույլ է տալիս օգտատերերին արդյունավետ և արդյունավետ
կերպով կատարել առաջադրանքները՝ հանգեցնելով ավելի բարձր գոհունակության և
ներգրավվածության ծրագրային ապահովման հետ:
Ճկունություն և հարմարեցում: Ինտերֆեյսները կարող են առաջարկել հարմարեցման և
կազմաձևման տարբերակներ՝ թույլ տալով օգտվողներին հարմարեցնել ծրագիրը իրենց
հատուկ կարիքներին և նախասիրություններին: Այս ճկունությունը ուժեղացնում է
օգտատերերի վերահսկողությունը և հնարավորություն է տալիս անհատներին
օպտիմալացնել իրենց աշխատանքային հոսքը՝ իրենց պահանջներին համապատասխան:
Սխալների կանխարգելում և կառավարում: Լավ մշակված ինտերֆեյսը կարող է օգնել
կանխել օգտատերերի սխալները՝ ուղղորդելով օգտատերերին աշխատանքային հոսքի
միջոցով և անհրաժեշտության դեպքում տրամադրելով հուշումներ կամ
նախազգուշացումներ: Բացի այդ, ինտերֆեյսները կարող են առաջարկել սխալների հետ
Նկ․ 5․2 Ապահովման միջոցի գրաֆիկական ինտերֆեյսը
աշխատելու մեխանիզմներ՝ օգնելու օգտատերերին հարցերը լուծելու և սխալներից
նրբանկատորեն վերականգնելու հարցում:
Մատչելիություն. Ինտերֆեյսերը կարող են նախագծվել տարբեր կարողություններով և
մատչելիության կարիք ունեցող օգտատերերի համար: Առանձնահատկություններ,
ինչպիսիք են ստեղնաշարի դյուրանցումները, էկրանի ընթերցիչները և տառատեսակի
կարգավորվող չափերը, մեծացնում են հասանելիությունը և ապահովում են, որ
ծրագրաշարը կարող է օգտագործվել օգտատերերի բազմազան բազայի կողմից:
5.3 Գրադարանների միացում եւ կիրառման օրինակներ
Հետևողականություն և ծանոթություն: Տարբեր ծրագրային մոդուլների կամ
տարբերակների միջև հետևողական ինտերֆեյսի ձևավորումը նպաստում է ծանոթությանը
և նվազեցնում օգտագործողների ճանաչողական բեռը: Հետևողական դասավորությունը,
տերմինաբանությունը և նավիգացիոն օրինաչափությունները նպաստում են օգտատերերի
ավելի հարթ փորձին և հեշտացնում են օգտատերերի ընդունումը:
44
Նկ․ 5․3 Հաշվիչ մեքենայի վրա անցկացված թեստավորման կոդը
45
դրա մրցունակությանը: Օգտատիրոջ դրական փորձառությունները և բանավոր
առաջարկությունները կարող են խթանել որդեգրումը և նպաստել ծրագրի հաջողությանը:
46
ԳԼՈՒԽ 6
ՓՈՐՁՆԱԿԱՆ ՀԵՏԱԶՈՏՈՒԹՅՈՒՆՆԵՐ
47
նշանակում է, որ թեստերը հաջողությամբ ավարտված են, և դրանց արդյունավետությունը
հաստատվում է հայտնաբերված սխալներով:
E={E1,E2,...,En}
Որտեղ:
48
E-ն ներկայացնում է համարժեքության դասերի բազմությունը:
E1,E2,...,En անհատական համարժեքության դասեր են։
Սահմանային արժեքի վերլուծություն. Սահմանային արժեքների վերլուծությունը
կենտրոնանում է սահմանային պայմանների և եզրային դեպքերի փորձարկման վրա, քանի
որ դրանք հաճախ հանգեցնում են ծրագրային համակարգերի թերությունների:
Փորձարկման դեպքերը ստացվում են՝ ընտրելով մուտքային արժեքները համարժեքության
դասերի սահմաններում: Սահմանային արժեքի վերլուծության բանաձևը ներկայացված է
հետևյալ կերպ.
B={B1,B2,...,Bn}
Որտեղ:
49
Զույգային փորձարկում (համակցված փորձարկում). Զույգ թեստավորումը առաջացնում է
թեստային դեպքեր, որոնք ընդգրկում են բոլոր հնարավոր զույգ մուտքային պարամետրերը,
նվազագույնի հասցնելով պահանջվող թեստային դեպքերի քանակը՝ միաժամանակ
ապահովելով արդյունավետ ծածկույթ: Զույգ փորձարկման բանաձևը ներկայացված է
որպես զույգ-զույգ համակցություններ՝ ապահովելով, որ յուրաքանչյուր զույգ պարամետր
առնվազն մեկ անգամ փորձարկվի միասին: Եզրակացություն: Մաթեմատիկական
բանաձևերը և ալգորիթմները ավտոմատ ֆունկցիոնալ թեստավորման մեջ ներառելը
օգնում է փորձարկողներին նախագծել արդյունավետ և արդյունավետ թեստային դեպքեր՝
հանգեցնելով ծրագրային ապահովման որակի և հուսալիության բարելավմանը:
Օգտագործելով այնպիսի մեթոդներ, ինչպիսիք են համարժեք դասի բաժանումը,
սահմանային արժեքի վերլուծությունը, որոշումների աղյուսակի փորձարկումը, վիճակի
անցման փորձարկումը և զույգ թեստավորումը, թեստավորողները կարող են հասնել
համապարփակ թեստի ծածկույթի` միաժամանակ օպտիմալացնելով փորձարկման
ջանքերը: Կիրառելով այս մաթեմատիկական սկզբունքները՝ կազմակերպությունները
կարող են պարզեցնել իրենց թեստավորման գործընթացները և մատուցել բարձրորակ
ծրագրային արտադրանք, որոնք համապատասխանում են օգտատերերի ակնկալիքներին
և պահանջներին:
Ներածություն:
Սեղանի հավելվածների թեստավորումը ծրագրային ապահովման մշակման
կարևորագույն ասպեկտն է, որն ապահովում է, որ հավելվածները ճիշտ գործեն և
ապահովեն օգտատերերի անխափան փորձը: Python Xlib-ը (Xlibe) հզոր գրադարան է, որն
ապահովում է X Window համակարգի հետ փոխազդելու հնարավորություններ՝ դարձնելով
այն արժեքավոր գործիք Unix-ի նման համակարգերի վրա աշխատասեղանի
թեստավորումն ավտոմատացնելու համար: Այս հոդվածում մենք կուսումնասիրենք, թե
ինչպես Python Xlib-ը կարող է օգտագործվել աշխատասեղանի հավելվածների
50
թեստավորումը բարելավելու համար, ինչպես նաև դրա առավելությունները,
օգտագործման դեպքերը և լավագույն փորձը:
51
ավտոմատացնել այնպիսի առաջադրանքներ, ինչպիսիք են պատուհանների
մանիպուլյացիան, մուտքագրման մոդելավորումը և էկրանի նկարահանումը, ինչը
հնարավորություն է տալիս աշխատասեղանի հավելվածների արդյունավետ և հուսալի
փորձարկումներին:
Փորձարկման համար Python Xlib-ի օգտագործման առավելությունները.
Պլատֆորմի անկախություն. Python Xlib-ն աշխատում է Unix-ի նման տարբեր օպերացիոն
համակարգերում, ներառյալ Linux-ը, BSD-ն և macOS-ը՝ ապահովելով հարթակից անկախ
լուծում աշխատասեղանի փորձարկման համար:
Fine-Grained Control. Python Xlib-ն առաջարկում է մանրահատիկ հսկողություն
աշխատասեղանի ԳԻԹ տարրերի վրա՝ թույլ տալով փորձարկողներին փոխազդել
պատուհանների, կոճակների, մենյուների և այլ գրաֆիկական բաղադրիչների հետ
համակարգի մակարդակով:
Ճկունություն. Python Xlib-ը չափազանց ճկուն է և հարմարեցված, ինչը փորձարկողներին
հնարավորություն է տալիս ստեղծել հարմարեցված փորձարկման լուծումներ, որոնք
համապատասխանում են ծրագրի հատուկ պահանջներին և փորձարկման նպատակներին:
Ինտեգրում Python էկոհամակարգի հետ. Լինելով Python գրադարան՝ Python Xlib-ն
անխափան կերպով ինտեգրվում է Python-ի այլ գրադարանների և շրջանակների հետ,
որոնք սովորաբար օգտագործվում են թեստավորման ժամանակ, ինչպիսիք են pytest-ը,
Selenium-ը և PyAutoGUI-ն՝ բարձրացնելով դրա բազմակողմանիությունն ու
ընդարձակելիությունը:
Օգտագործեք Python Xlib-ի դեպքերը փորձարկման մեջ.
Ավտոմատացված ԳԻԹ փորձարկում. Python Xlib-ը կարող է օգտագործվել ԳԻԹ-ի
փոխազդեցությունների ավտոմատացման համար, ինչպիսիք են կոճակները սեղմելը,
տեքստի մուտքագրումը, ընտրացանկի ընտրանքները և UI տարրերի հատկությունները և
վիճակները ստուգելու համար:
Պատուհանների կառավարում. Python Xlib-ը փորձարկողներին թույլ է տալիս շահարկել
պատուհանները՝ ներառյալ պատուհանների տեղափոխումը, չափափոխումը,
52
նվազագույնի հասցնելը, առավելագույնի հասցնելը և փակելը, ինչը հեշտացնում է
պատուհանների կառավարումը փորձարկման ընթացքում:
Իրադարձությունների մշակում. Python Xlib-ը փորձարկողներին հնարավորություն է
տալիս ֆիքսել և մշակել X11-ի տարբեր իրադարձություններ, ինչպիսիք են ստեղնաշարի
իրադարձությունները, մկնիկի իրադարձությունները, պատուհանների ֆոկուսի
փոփոխությունները և էկրանի թարմացումները՝ տրամադրելով պատկերացումներ
հավելվածի վարքագծի վերաբերյալ:
Էկրանի նկարում և վերլուծություն. Python Xlib-ը կարող է նկարել աշխատասեղանի
պատուհանների սքրինշոթները և վերլուծել պիքսելների արժեքները՝ ստուգելու
գրաֆիկական բովանդակությունը, դասավորությունը և մատուցման ճշգրտությունը:
Թեստավորման մեջ Python Xlib-ի օգտագործման լավագույն պրակտիկաները.
Մոդուլային փորձարկման ձևավորում. Ընդունեք մոդուլային թեստային դիզայնի
մոտեցում՝ բազմակի օգտագործման թեստային բաղադրիչներ ստեղծելու և ծածկագրի
պահպանման և մասշտաբայնության առավելագույնի հասցնելու համար:
Սխալների կառավարում. Կիրառել սխալների հետ կապված կայուն մեխանիզմներ՝
նրբագեղորեն կարգավորելու բացառությունները և ձախողումները, որոնք կարող են տեղի
ունենալ փորձարկման ընթացքում:
Փաստաթղթավորում և գրանցում. Փաստաթղթերի թեստային սկրիպտները մանրակրկիտ
ձևակերպեք և ներառում են գրանցամատյաններ՝ թեստի կատարման առաջընթացին
հետևելու, ախտորոշիչ տեղեկատվությունը հավաքելու և վրիպազերծումը հեշտացնելու
համար:
Փորձարկման միջավայրի կարգավորում. Համոզվեք, որ թեստային միջավայրը պատշաճ
կերպով կազմաձևված է անհրաժեշտ կախվածություններով, ինչպիսիք են X11
գրադարանները և Python Xlib կապերը՝ համատեղելիության հետ կապված խնդիրներից
խուսափելու համար:
Շարունակական ինտեգրում. Python Xlib-ի վրա հիմնված թեստերը ինտեգրել
շարունակական ինտեգրման խողովակաշարերի մեջ՝ ավտոմատացնելու փորձարկումների
53
կատարումը, վավերացնելու կոդի փոփոխությունները և ապահովելու թերությունների վաղ
հայտնաբերումը:
Եզրակացություն:
Python Xlib-ն առաջարկում է բազմակողմանի և հզոր լուծում Unix-ի նման
համակարգերում աշխատասեղանի հավելվածների փորձարկումն ավտոմատացնելու
համար: Օգտագործելով Python Xlib-ի հնարավորությունները՝ փորձարկողները կարող են
ավտոմատացնել ԳԻԹ-ի փոխազդեցությունները, շահարկել պատուհանները, կարգավորել
իրադարձությունները և կատարել էկրանի վերլուծություն՝ դրանով իսկ բարձրացնելով
թեստավորման արդյունավետությունը, հուսալի։
Ներածություն:
Ֆունկցիոնալ և գրաֆիկական թեստավորումը ծրագրային ապահովման մշակման
անբաժանելի մասերն են՝ ապահովելով, որ հավելվածները բավարարում են օգտատերերի
պահանջները, ճիշտ են գործում և ապահովում են անխափան օգտատիրոջ փորձ:
Այնուամենայնիվ, փորձարկողները հաճախ հանդիպում են տարբեր մարտահրավերների
այս թեստավորման փուլերում՝ սկսած ՕԻ-ի բարդ տարրերից մինչև բրաուզերների
համատեղելիության խնդիրներ: Այս հոդվածում մենք կուսումնասիրենք ֆունկցիոնալ և
գրաֆիկական թեստավորման ժամանակ հանդիպող ընդհանուր մարտահրավերները և
կքննարկենք դրանք արդյունավետորեն հաղթահարելու ռազմավարությունները:
1. UI տարրերի բարդությունը:
Օգտագործողի գրաֆիկական միջերեսները (ԳԻԹ) հաճախ պարունակում են բարդ
միջերեսային տարրեր, ինչպիսիք են դինամիկ ընտրացանկերը, տեղադրվող
բաղադրիչները և հատուկ վերահսկիչները: Այս տարրերի մանրակրկիտ փորձարկումը
պահանջում է մանրակրկիտ ուշադրություն և համապարփակ թեստային ծածկույթ: Այս
մարտահրավերը հաղթահարելու համար փորձարկողները կարող են բաժանել ՕԻ -ի բարդ
54
տարրերը փոքր բաղադրիչների և առաջնահերթություն տալ թեստավորմանը՝ հիմնվելով
կարևոր ուղիների և օգտատերերի փոխազդեցությունների վրա:
55
Վեբ հավելվածները հաճախ օգտագործում են դինամիկ բովանդակության բեռնում և
ասինխրոն գործողություններ (օրինակ՝ հարցումներ)՝ օգտատերերի փորձը բարելավելու
համար: Նման դինամիկ վարքագծի փորձարկումը պահանջում է համաժամացման
մեխանիզմներ և ռազմավարություններ՝ ժամանակի հետ կապված խնդիրները
արդյունավետ կերպով լուծելու համար: Փորձարկողները կարող են կիրառել այնպիսի
մեթոդներ, ինչպիսիք են բացահայտ սպասումները, հարցումների ընդմիջումները և
իրադարձությունների ունկնդիրները՝ թեստավորման ընթացքում պատշաճ
համաժամացում ապահովելու համար:
4. Տեղայնացում և միջազգայնացում.
ԳԻԹ -ի փորձարկումը կարող է ներառել բազմաթիվ լեզուների, նիշերի հավաքածուների և
մշակութային կոնվենցիաների աջակցության ստուգում: Հավելվածի տեղայնացված
տարբերակների փորձարկումը պահանջում է մասնագիտացված գիտելիքներ և
ռեսուրսներ՝ համոզվելու համար, որ ՕԻ տարրերը, բովանդակությունը և
ֆունկցիոնալությունը պատշաճ կերպով հարմարեցված են տարբեր տեղանքների համար:
Փորձարկողները կարող են համագործակցել տեղայնացման թիմերի հետ և օգտագործել
տեղայնացման փորձարկման գործիքներ՝ թեստավորման գործընթացը պարզեցնելու և
միջազգայնացման չափանիշներին համապատասխանությունն ապահովելու համար:
5. Պատասխանատու դիզայն և բջջային համատեղելիություն:
Բջջային սարքերի աճող տարածվածության պայմաններում ԳԻԹ -ի թեստավորումը
հաճախ ներառում է արձագանքող նախագծման սկզբունքների ստուգում և տարբեր
էկրանների չափերի, լուծաչափերի և կողմնորոշումների հետ համատեղելիության
ապահովում: Փորձարկողները կարող են օգտագործել բջջային թեստավորման
շրջանակներ, ինչպիսիք են Appium-ը կամ TestComplete Mobile-ը, տարբեր սարքերի և
56
էմուլյատորների վրա փորձարկումն ավտոմատացնելու և բազմաթիվ հարթակներում
հավելվածների արձագանքման վավերացման համար:
6. Մատչելիության համապատասխանություն:
Ապահովել, որ ԳԻԹ -ները հասանելի են հաշմանդամություն ունեցող օգտատերերին,
ֆունկցիոնալ թեստավորման էական կողմն է: Մատչելիության համապատասխանության
փորձարկումը ներառում է այնպիսի տարրերի գնահատում, ինչպիսիք են ստեղնաշարի
Նկ․ 6․4․2 Թեստավորման ձախողված ընթացքի գրաֆիկ տեսքը
նավարկությունը, էկրանի ընթերցողի համատեղելիությունը և մատչելիության
չափանիշներին համապատասխանելը (օրինակ՝ WCAG): Փորձարկողները կարող են
օգտագործել մատչելիության փորձարկման գործիքներ, ինչպիսիք են Axe-ը կամ WAVE-ը՝
պարզելու մատչելիության խնդիրները և ապահովելու, որ հավելվածները հասանելի են
բոլոր օգտատերերին:
Եզրակացություն:
Ֆունկցիոնալ և գրաֆիկական թեստավորումը կարևոր դեր է խաղում ծրագրային
ապահովման հավելվածների որակի և օգտագործելիության ապահովման գործում:
Հասկանալով և լուծելով թեստավորման ընթացքում հանդիպող ընդհանուր
մարտահրավերները՝ փորձարկողները կարող են բարելավել իրենց փորձարկման ջանքերի
արդյունավետությունն ու արդյունավետությունը:
Օգտագործելով այնպիսի ռազմավարություններ, ինչպիսիք են բաղադրիչի վրա հիմնված
թեստավորումը, բրաուզերի ավտոմատացումը, համաժամացման տեխնիկան,
տեղայնացման թիմերի հետ համագործակցությունը, բջջային թեստավորման
ավտոմատացումը և մատչելիության թեստը, փորձարկողները կարող են հաղթահարել
խոչընդոտները և ապահովել, որ հավելվածները բավարարեն օգտատերերի ակնկալիքները
և կարգավորող պահանջները: Նախաձեռնող փորձարկման պրակտիկաների և
շարունակական բարելավման միջոցով կազմակերպությունները կարող են մատուցել
57
բարձրորակ ծրագրային արտադրանք, որոնք ապահովում են անթերի և գոհացուցիչ
օգտատերերի փորձ:
ԳԼՈՒԽ 7
ՓՈՐՁԱՐԱՐԱԿԱՆ ՏԵԽՆԻԿԱ
58
Python-ը բարձր մակարդակի ծրագրավորման լեզու է, որը հայտնի է իր պարզությամբ և
բազմակողմանիությամբ: Այն լայնորեն օգտագործվում է տարբեր ծրագրերի համար, այդ
թվում՝ վեբ մշակման, տվյալների վերլուծության, արհեստական ինտելեկտի և
ավտոմատացման համար: Python-ն աշխատում է բազմաթիվ օպերացիոն համակարգերով,
ներառյալ Windows-ը, macOS-ը և Linux-ը, ինչը հասանելի է դարձնում մշակողների և
օգտատերերի լայն շրջանակի համար: Python-ի ստանդարտ գրադարանը և երրորդ կողմի
փաթեթները համապարփակ աջակցություն են առաջարկում առաջադրանքների և
գործառույթների լայն շրջանակի համար: Նրա ընթեռնելիությունը և սովորելու
հեշտությունը դարձնում են այն հանրաճանաչ ընտրություն ինչպես սկսնակների, այնպես
էլ փորձառու ծրագրավորողների համար:
Python Xlib-ը Python մոդուլ է, որն ապահովում է կապեր X Window համակարգի համար
(X11), որը թույլ է տալիս ծրագրավորողներին ստեղծել և փոխազդել օգտատիրոջ
գրաֆիկական միջերեսների հետ Unix-ի նման օպերացիոն համակարգերում: Այն
հնարավորություն է տալիս Python ծրագրերին կառավարել պատուհանները, կառավարել
մուտքային իրադարձությունները և նկարել գրաֆիկա՝ օգտագործելով X11
արձանագրությունները: Python Xlib-ը հեշտացնում է X11 հավելվածների մշակման
գործընթացը՝ ապահովելով բարձր մակարդակի ինտերֆեյս ընդհանուր առաջադրանքների
համար, ինչպիսիք են պատուհանների ստեղծումը, մանիպուլյացիան և
իրադարձությունների մշակումը:
Այն առաջարկում է ճկունություն և հզորություն ծրագրավորողների համար, ովքեր
ցանկանում են ստեղծել հատուկ գրաֆիկական հավելվածներ կամ ինտեգրել Python-ը
գոյություն ունեցող X11-ի վրա հիմնված ծրագրաշարի հետ: Python Xlib-ը լայնորեն
օգտագործվում է այնպիսի ոլորտներում, ինչպիսիք են աշխատասեղանի միջավայրերը,
պատուհանների կառավարիչները և գրաֆիկական կոմունալ ծառայությունները՝
ցուցադրելով իր բազմակողմանիությունն ու օգտակարությունը Unix/Linux
էկոհամակարգում:
Visual Studio Code-ը (VS Code) անվճար, բաց կոդով կոդերի խմբագիր է, որը մշակվել է
Microsoft-ի կողմից, որը հայտնի է իր թեթև, բայց հզոր հատկանիշներով:
59
Այն աջակցում է ծրագրավորման լեզուների լայն տեսականի և ապահովում է այնպիսի
գործառույթներ, ինչպիսիք են շարահյուսության ընդգծումը, կոդի լրացումը և
վրիպազերծման հնարավորությունները: Իր ինտուիտիվ ինտերֆեյսի և ընդարձակման լայն
շուկայի շնորհիվ VS Code-ն առաջարկում է շատ հարմարեցված և արդյունավետ միջավայր
մշակողների համար:
60
61
Գլուխ 8
ԵԶՐԱԿԱՑՈՒԹՅՈՒ
62
ԳՐԱԿԱՆՈՒԹՅԱՆ ՑԱՆԿ
1. Cocchiaro C., Selenium Framework Design in Data-Driven Testing // -Packt Publishing, -2018.
-P. 200-230.
2. Dudekula R., Reddy K., A Practical Overview on Automated Software Testing(AST) // -LAP
LAMBERT Academic Publishing, -2012. -P. 25-55.
63