Ոչ ֆունկցիոնալ փորձարկումը վերաբերում է ծրագրային ապահովման փորձարկմանը, որն իրականացվում է ծրագրային հավելվածի ոչ ֆունկցիոնալ ասպեկտները ստուգելու համար:
Կան բազմաթիվ տարբեր տեսակի ոչ ֆունկցիոնալ փորձարկումներ, և ծրագրային ապահովման փորձարկման որոշ տեսակներ կարող են միաժամանակ համարվել և՛ ֆունկցիոնալ թեստավորում , և՛ ոչ ֆունկցիոնալ:
Ոչ ֆունկցիոնալ փորձարկումն անհրաժեշտ է, քանի որ այն գնահատում է օգտագործողի հիմնական չափանիշները, ինչպիսիք են կատարողականությունը և օգտագործելիությունը, և ստուգում է, թե արդյոք ծրագրաշարն աշխատում է այնպես, ինչպես սպասվում է իր հիմնական գործառույթներից դուրս:
Այս հոդվածում մենք ուսումնասիրում ենք ոչ ֆունկցիոնալ թեստավորման սահմանումը և բնութագրերը ոչ ֆունկցիոնալ թեստավորման տեսակների, ոչ ֆունկցիոնալ փորձարկման մոտեցումների և փորձարկման գործիքների հետ մեկտեղ, որոնք կարող են օգնել օպտիմալացնել և բարելավել ձեր սեփական ոչ ֆունկցիոնալ փորձարկման գործընթացները:
Ի՞նչ է ոչ ֆունկցիոնալ թեստավորումը:
Ոչ ֆունկցիոնալ թեստավորումը ծրագրային ապահովման ցանկացած տեսակի թեստավորում է, որտեղ փորձարկվում են ծրագրային ապահովման կառուցվածքի ոչ ֆունկցիոնալ կողմերը:
Ոչ ֆունկցիոնալ փորձարկման օրինակները ներառում են փորձարկումներ, որոնք նախատեսված են հզորությունը, կատարողականը, օգտագործելիությունը, վերականգնումը և շարժականությունը գնահատելու համար:
Այս ոչ ֆունկցիոնալ չափանիշներից յուրաքանչյուրի որակի և կարգավիճակի ստուգումը նույնքան կարևոր է, որքան ծրագրային ապահովման մի մասի գործառույթների ստուգումը, սակայն այս պարամետրերը չեն փորձարկվում ստանդարտ ֆունկցիոնալ փորձարկումներում:
Ըստ էության, ոչ ֆունկցիոնալ թեստավորումը նշանակում է փորձարկել «ինչպես» ծրագրային ապահովման գործառույթները, այլ ոչ թե ստուգել «եթե դրանք» աշխատում են:
1. Ե՞րբ է ձեզ անհրաժեշտ ոչ ֆունկցիոնալ թեստավորում:
Ոչ ֆունկցիոնալ փորձարկումն իրականացվում է ծրագրային ապահովման փորձարկման համակարգի թեստավորման փուլում ՝ միավորի փորձարկումից և ինտեգրման փորձարկումից հետո:
Համակարգի թեստավորման ընթացքում թեստավորողները կիրականացնեն ինչպես ֆունկցիոնալ, այնպես էլ ոչ ֆունկցիոնալ թեստավորում՝ սկսած ֆունկցիոնալ փորձարկումից:
Երբ փորձարկողները պարզեն, որ ծրագրաշարը գործում է այնպես, ինչպես սպասվում էր, նրանք իրականացնում են ոչ ֆունկցիոնալ թեստավորում՝ գնահատելու, թե արդյոք այն համապատասխանում է նաև ոչ ֆունկցիոնալ պարամետրերին:
Սովորաբար անհրաժեշտ է ֆունկցիոնալ թեստավորում իրականացնել նախքան ոչ ֆունկցիոնալ փորձարկումը, քանի որ անհնար է ստուգել այն գործառույթների հուսալիությունը կամ կատարումը, որոնք ընդհանրապես չեն աշխատում: Ոչ ֆունկցիոնալ փորձարկումը ծրագրային ապահովման փորձարկման վերջին փուլերից մեկն է, նախքան օգտագործողի ընդունման փորձարկումը և վերջնական արտադրանքի թողարկումը:
2. Երբ ոչ ֆունկցիոնալ թեստավորման կարիք չկա
Միշտ կարևոր է փորձարկել ծրագրային ապահովման ոչ ֆունկցիոնալ կողմերը, եթե դրանք արդեն փորձարկված չեն և բավարար չեն:
Նույնիսկ եթե նախկինում ծրագրային ապահովման վրա ոչ ֆունկցիոնալ թեստավորում եք իրականացրել, հնարավոր է, որ անհրաժեշտ լինի նորից փորձարկել ոչ ֆունկցիոնալ պարամետրերը, օրինակ՝ եթե նոր հնարավորություններ են ավելացվել ծրագրաշարին կամ եթե կոդի մեջ փոփոխություններ են կատարվել, որոնք կարող են։ ազդել կատարման և հուսալիության վրա:
Ոչ ֆունկցիոնալ թեստավորման նպատակները
Ոչ ֆունկցիոնալ թեստավորման նպատակն է ստուգել, թե արդյոք ապրանքը համապատասխանում է օգտագործողի ակնկալիքներին, և ապրանքի օպտիմալացումը նախքան թողարկումը:
Այն կարող է նաև օգնել մշակողներին և փորձարկողներին ավելի լավ հասկանալ ծրագրաշարը և օգտագործել այս գիտելիքները ապագա օպտիմալացումներում:
1. Որակի վերահսկում
Ոչ ֆունկցիոնալ փորձարկումը նպատակ ունի փորձարկել այն գործոնները, որոնք ազդում են արտադրանքի օգտագործման, հուսալիության, պահպանման, շարժունակության և արդյունավետության վրա:
Այս տարրերի փորձարկումը երաշխավորում է, որ շուկա դուրս բերված արտադրանքը համապատասխան բարձր որակի է և համապատասխանում է օգտատերերի ակնկալիքներին՝ կապված կատարողականի, բեռնման ժամանակի և օգտագործողի կարողությունների հետ:
2. Ռիսկերի կառավարում
Ոչ ֆունկցիոնալ փորձարկումը նաև նվազեցնում է արտադրանքը շուկա դուրս բերելու հետ կապված ռիսկը և ծախսերը՝ առավելագույնի հասցնելով բավարար արտադրանք թողարկելու թիմի հնարավորությունները:
Ստուգելով ծրագրաշարի կառուցման ոչ ֆունկցիոնալ պարամետրերը, հնարավոր է նվազեցնել արտադրանքի թողարկման ծախսերը, քանի որ հետագայում կրճատվում է հետագա մշակման և ծրագրային ապահովման փոփոխության անհրաժեշտությունը:
3. Օպտիմալացում
Ոչ ֆունկցիոնալ փորձարկումն օգնում է փորձարկողներին և մշակողներին օպտիմալացնել ծրագրաշարի կառուցումը և օպտիմալացնել աշխատանքը տեղադրման, տեղադրման, կատարման և օգտագործման ընթացքում:
Դուք կարող եք նաև օգտագործել ոչ ֆունկցիոնալ թեստավորում՝ ծրագրային ապահովման կառուցումը կառավարելու և վերահսկելու եղանակը օպտիմալացնելու համար:
4. Տվյալների հավաքագրում
Ոչ ֆունկցիոնալ թեստավորումը թույլ է տալիս փորձարկողներին հավաքել և արտադրել չափումներ և չափումներ, որոնք կարող են օգտագործվել թեստավորման թիմերի կողմից ներքին հետազոտության և զարգացման համար:
Դուք կարող եք օգտագործել այն տվյալները, որոնք հավաքում եք ոչ ֆունկցիոնալ փորձարկումից՝ հասկանալու համար, թե ինչպես է աշխատում ձեր արտադրանքը և ինչպես կարող եք այն ավելի արդյունավետ օպտիմալացնել օգտատերերի համար:
5. Գիտելիքների կատարելագործում
Ոչ ֆունկցիոնալ թեստավորումը բարելավում և ընդլայնում է փորձարկման թիմի գիտելիքները արտադրանքի վարքագծի և այն կիրառվող տեխնոլոգիաների վերաբերյալ:
Սա ոչ միայն օգնում է թեստավորման թիմերին ավելի լավ հասկանալ ծրագրակազմը, որի վրա նրանք աշխատում են, այլ նաև կարող է օգտակար գիտելիքներ տրամադրել, որոնք օգնում են փորձարկողներին ավելի լավ հասկանալ ապագա կառուցումները:
Ո՞վ է ներգրավված ոչ ֆունկցիոնալ թեստավորման մեջ:
Ոչ ֆունկցիոնալ փորձարկումը սովորաբար իրականացվում է փորձարկողների կողմից QA միջավայրում, բայց երբեմն մշակողները կարող են ոչ ֆունկցիոնալ թեստավորում իրականացնել մշակման ընթացքում:
Համակարգի թեստավորումը գրեթե միշտ իրականացվում է փորձարկողների կողմից, և սա փորձարկման այն փուլն է, որտեղ տեղի է ունենում ոչ ֆունկցիոնալ փորձարկումների մեծ մասը:
Եթե ոչ ֆունկցիոնալ թեստերը ձախողվեն, փորձարկողները կուղարկեն ծրագրակազմը ծրագրավորողներին՝ նախքան նորից փորձարկումը շտկելու կատարողականի սխալները:
Ոչ ֆունկցիոնալ փորձարկման առավելությունները
Ոչ ֆունկցիոնալ թեստավորումը շատ առավելություններ ունի, և ոչ ֆունկցիոնալ թեստավորումը համակարգի փորձարկման կարևոր քայլ է:
Առանց ոչ ֆունկցիոնալ փորձարկման, թեստավորման թիմերը չեն կարողանա ստուգել, որ ծրագրաշարն իրականում համապատասխանում է հաճախորդի պահանջներին, կամ այն համապատասխանում է ծրագրային ապահովման մշակման պլանում սահմանված պահանջներին:
1. Բարելավել ծրագրային ապահովման աշխատանքը
Ոչ ֆունկցիոնալ թեստավորումը կարող է օգնել փորձարկողներին և մշակողներին բարելավել ծրագրային հավելվածների ընդհանուր աշխատանքը: Ոչ ֆունկցիոնալ թեստերը բացահայտում են այն ոլորտները, որտեղ ծրագրաշարի կատարողականը բացակայում է, օրինակ՝ բեռնման արագության կամ մշակման հզորության առումով, և ծրագրային թիմերին հուշում են փոփոխություններ կատարել՝ շտկելու այդ թերությունները:
Սա ապահովում է, որ ծրագրային թիմերը թողարկեն ծրագրակազմը հանրությանը միայն այն ժամանակ, երբ այն պատրաստ է, և երբ դրա կատարումը բավականաչափ լավ է:
2. Ապահովեք ծրագրակազմը
Ոչ ֆունկցիոնալ թեստավորումը ներառում է անվտանգության թեստավորում, որը չափազանց կարևոր է ապահովելու համար, որ ծրագրային ապահովումն ապահով է և պաշտպանված արտաքին սպառնալիքներից և հարձակումներից:
Անվտանգության թեստավորումը փորձարկողներին և մշակողներին հնարավորություն է տալիս ստուգել, որ ծրագրաշարը պատշաճ կերպով պաշտպանում է գաղտնի տվյալները և ունի բավարար անվտանգություն՝ ժամանակակից կիբեր հարձակումներից պաշտպանվելու համար:
3. Բարձրացնել ծրագրաշարի օգտատիրոջ հարմարավետությունը
Ոչ ֆունկցիոնալ փորձարկումը ձեր ծրագրաշարն ավելի հարմարավետ դարձնելու լավագույն միջոցն է, հատկապես օգտագործելիության թեստավորում, որը գնահատում է, թե որքան հեշտ է օգտվողների համար սովորել, թե ինչպես օգտագործել և գործել ձեր ծրագրաշարը:
Օգտատիրոջ հարմարավետությունը շատ կարևոր է, քանի որ այն որոշում է, թե որքանով են գոհ օգտվողները ձեր ծրագրաշարից և երաշխավորում է, որ օգտատերերը կարող են լիարժեք օգտվել այն ամենից, ինչ առաջարկում է ձեր ծրագրաշարը:
4. Համոզվեք, որ ծրագրաշարը համապատասխանում է օգտագործողի կարիքներին
Ապահովել, որ ծրագրակազմը բավարարում է օգտատերերի կարիքները, պետք է լինի ծրագրային ապահովման մշակման և փորձարկման բոլոր թիմերի առաջնահերթություններից մեկը: Ինչպես նաև ակնկալելով, որ ծրագրաշարը ֆունկցիոնալ կլինի, օգտվողներն ակնկալում են, որ ծրագրաշարը լավ է աշխատում, աշխատում է սահուն և պաշտպանում է գաղտնի տվյալները:
Ոչ ֆունկցիոնալ փորձարկումը միակ միջոցներից մեկն է, որը թույլ է տալիս համոզվել, որ ձեր ծրագրաշարը համապատասխանում է այս պահանջներին:
Ոչ ֆունկցիոնալ փորձարկման մարտահրավերները
Ոչ ֆունկցիոնալ թեստավորումը որոշ թերություններ ունի: Թեև ոչ ֆունկցիոնալ փորձարկումը կարևոր է ծրագրային ապահովման փորձարկման համակարգի փորձարկման փուլում, ոչ ֆունկցիոնալ փորձարկման գործընթացը կարող է մարտահրավերներ առաջացնել ծրագրային թիմերի համար, որոնք չունեն բավարար ռեսուրսներ և գործիքներ:
1. Կրկնություն
Ծրագրային ապահովման փորձարկման ոչ ֆունկցիոնալ փորձարկումը պետք է իրականացվի ամեն անգամ, երբ ծրագրակազմը թարմացվում է մշակողների կողմից կամ ամեն անգամ, երբ փոխվում է կոդը: Սա նշանակում է, որ ոչ ֆունկցիոնալ փորձարկումը կարող է շատ կրկնվող լինել, ինչը ոչ միայն ժամանակ է պահանջում, այլև անվադողերի փորձարկողներին դուրս է մղում:
Շատ կրկնվող առաջադրանքներ կատարող հոգնած փորձարկողները նույնպես ավելի հավանական է, որ շեղվեն և սխալվեն:
2. Արժեքը
Քանի որ ոչ ֆունկցիոնալ թեստավորումը շատ կրկնվող է, այն կարող է նաև բավականին ծախսատար լինել, հատկապես փորձարկման թիմերի համար, որոնք ապավինում են ձեռքով ոչ ֆունկցիոնալ թեստավորմանը:
Ծրագրային թիմերը պետք է ժամանակ և բյուջե հատկացնեն հաճախակի ոչ ֆունկցիոնալ փորձարկումների համար, և ծրագրակազմ մշակողները ստիպված կլինեն հավելյալ վճարել այս լրացուցիչ փորձարկման համար:
Ի՞նչ ենք մենք փորձարկում ոչ ֆունկցիոնալ թեստավորման ժամանակ:
Ոչ ֆունկցիոնալ թեստավորումը կարող է օգտագործվել բազմաթիվ տարբեր ոչ ֆունկցիոնալ պարամետրերի փորձարկման համար, որոնցից յուրաքանչյուրն ազդում է համակարգի որակի և օգտագործելիության վրա: Այս պարամետրերից յուրաքանչյուրը փորձարկվում է համակարգի փորձարկման ժամանակ՝ համաձայն թեստավորման պլանում սահմանված չափանիշների:
1. Անվտանգություն
Անվտանգության թեստավորումը ոչ ֆունկցիոնալ փորձարկման տեսակ է, որը չափում է, թե որքանով է համակարգը պաշտպանված արտաքին սպառնալիքներից և հարձակումներից: Դրանք ներառում են անվտանգության կանխամտածված խախտումներ, ինչպես նաև տվյալների արտահոսք և այլ ընդհանուր խախտումներ:
Անվտանգության փորձարկումը կարևոր քայլ է ոչ ֆունկցիոնալ թեստավորման մեջ, քանի որ այն վերջնական օգտագործողներին և հաճախորդներին ապահովում է վստահություն, որ իրենց տվյալները ապահով են:
2. Հուսալիություն
Փորձարկողները օգտագործում են ոչ ֆունկցիոնալ թեստավորում՝ ծրագրաշարի հուսալիությունը գնահատելու և ապահովելու համար, որ ծրագրաշարը կարող է շարունակաբար կատարել իր նշված գործառույթներն առանց ձախողման:
Թեև ֆունկցիոնալ փորձարկումն ապահովում է, որ ծրագրաշարը կատարում է իր հիմնական գործառույթները, միայն ոչ ֆունկցիոնալ թեստավորումն է իրականում ստուգում այդ արդյունքների հուսալիությունը և կրկնելիությունը:
3. Գոյատևելիություն
Գոյատևումը նկարագրում է, թե ինչպես է ծրագրային համակարգը արձագանքում չգործելու դեպքում, և գոյատևման փորձարկումն ապահովում է, որ եթե սխալներ և ձախողումներ տեղի ունենան, համակարգը կարող է ինքն իրեն վերականգնել:
Գոյատևման փորձարկումը կարող է ստուգել, թե արդյո՞ք ծրագրաշարը կարող է խնայել տվյալներ, օրինակ՝ հանկարծակի ձախողման դեպքում տվյալների կորուստը նվազագույնի հասցնելու համար:
4. Հասանելիություն
Ծրագրաշարի հասանելիությունը վերաբերում է այն աստիճանին, որով օգտվողը կարող է կախված լինել համակարգից դրա շահագործման ընթացքում: Սա նաև կոչվում է կայունություն, և այն ստուգվում է կայունության թեստով:
Կայունության փորձարկումը որոշակի նմանություն ունի հուսալիության փորձարկմանը, քանի որ այն ստուգում է, թե արդյոք համակարգը կարող է հետևողականորեն կատարել ակնկալվող ստանդարտները:
5. Օգտագործելիություն
Օգտագործելիության փորձարկումը ծրագրային ապահովման փորձարկման ոչ ֆունկցիոնալ թեստավորման ևս մեկ կարևոր տեսակ է: Այս տեսակի թեստավորումը գնահատում է, թե օգտվողը որքան լավ կարող է սովորել, գործել և օգտագործել ծրագրային համակարգը՝ հետևելով էկրանին տրված հրահանգներին և այլ հիմնական ուղեցույցներին:
Օգտագործելիության փորձարկումը կարևոր է, քանի որ եթե ծրագրաշարը շատ օգտագործելի չէ, օգտատերերի մեծամասնությունը պարզապես կթողնի այն կամ կընտրի այլ բան օգտագործել:
6. Մասշտաբայնություն
Մասշտաբայնության թեստավորումը փորձարկում է, թե ծրագրային ապահովման հավելվածը որքանով կարող է ընդլայնել իր մշակման կարողությունները՝ բավարարելու աճող պահանջարկը:
Օրինակ, եթե ծրագրաշարը նախագծված է միանգամից մի քանի օգտատերերի կողմից մեկ ցանցում օգտագործելու համար, ինչպե՞ս է այն աշխատում, երբ տասը օգտատեր մուտք են գործում միաժամանակ: Արդյո՞ք օգտագործողների ավելի մեծ թվերը էապես ազդում են աշխատանքի կամ բեռնման ժամանակի վրա:
7. Փոխգործունակություն
Փոխգործունակության թեստավորումը ոչ ֆունկցիոնալ փորձարկման տեսակ է, որը ստուգում է, թե որքանով է ծրագրային ապահովման համակարգը կապվում այլ ծրագրային համակարգերի հետ:
Սա հատկապես կարևոր է, երբ ծրագրակազմը նախագծված է որպես ապրանքների փաթեթի մի մաս, որոնք բոլորը ինտեգրվում են միմյանց:
8. Արդյունավետություն
Ծրագրային ապահովման փորձարկման արդյունավետությունը վերաբերում է այն չափին, որով ծրագրային համակարգը կարող է կարգավորել հզորությունը, քանակը և արձագանքման ժամանակը:
Օրինակ, փորձարկողները կարող են գնահատել, թե քանի օգտատեր կարող է միանգամից մուտք գործել համակարգ, որքան ժամանակ է պահանջվում տվյալների բազայից տվյալների առբերման համար կամ որքան արագ է ծրագրաշարը կարող կատարել հիմնական առաջադրանքները:
9. Ճկունություն
Ճկունությունը չափում է այն աստիճանը, որով ծրագրային համակարգը կարող է աշխատել տարբեր տեսակի ապարատային և ծայրամասային սարքերի հետ:
Օրինակ՝ որքան RAM է պահանջում ծրագրաշարը կամ արդյոք այն պահանջում է որոշակի քանակությամբ պրոցեսոր: Որքան ցածր են ծրագրային հավելվածի պահանջները, այնքան ավելի ճկուն է ծրագրաշարը:
10. Դյուրաշարժություն
Դյուրաշարժության թեստավորումն օգտագործվում է ստուգելու համար, թե որքան ճկուն է ծրագրաշարը կարող փոխանցվել իր ընթացիկ ապարատային կամ ծրագրային միջավայրից, և որքան հեշտ է դա անել:
Դյուրատարությունը կարևոր է, քանի որ այն ազդում է այն բանի վրա, թե որքան հեշտությամբ վերջնական օգտագործողները կարող են կառավարել ծրագրակազմը և տեղափոխել այն տարբեր համակարգերի միջև:
11. Վերօգտագործելիություն
Կրկնակի օգտագործման փորձարկումը ոչ ֆունկցիոնալ թեստավորման տեսակ է, որը ստուգում է, թե արդյոք ծրագրային ապահովման համակարգի մասերը կարող են փոխակերպվել մեկ այլ հավելվածում վերօգտագործման համար:
Թեև բազմակի օգտագործման փորձարկումը սովորաբար չի ազդում հաճախորդների և վերջնական օգտագործողների վրա, այն լավ արտացոլում է այն բանի, թե որքան արդյունավետ են մշակողները ստեղծում բաղադրիչներ, որոնք կարող են կրկին օգտագործվել ապագայում:
Ոչ ֆունկցիոնալ թեստերի բնութագրերը
Հասկանալը, թե որոնք են ոչ ֆունկցիոնալ թեստերը, ենթադրում է հասկանալ ոչ ֆունկցիոնալ թեստերի բնութագրերը: Այս բնութագրերը սահմանում են ոչ ֆունկցիոնալ թեստավորում ծրագրային ապահովման թեստավորման մեջ:
1. Չափելի
Ոչ ֆունկցիոնալ թեստավորումը միշտ քանակական և չափելի է, ինչը նշանակում է, որ փորձարկողները չեն օգտագործում սուբյեկտիվ արտահայտություններ, ինչպիսիք են «լավ» կամ «լավ», փոխարենը օգտագործում են թվեր և փաստեր՝ նկարագրելու համար ոչ ֆունկցիոնալ թեստավորման արդյունքները:
Օրինակ, բեռնման ժամանակները որպես «արագ» կամ «դանդաղ» նկարագրելու փոխարեն, ոչ ֆունկցիոնալ փորձարկումը պետք է հանգեցնի կոնկրետ թվերի, որոնք ցույց են տալիս անգամների քանակը:
2. Կոնկրետ
Ոչ ֆունկցիոնալ թեստավորում իրականացնելիս թեստերի նպատակը պետք է հատուկ լինի ծրագրային ապահովման նախագծման առանձնահատկություններին:
Օրինակ, եթե ծրագրային ապահովման նախագծի պլանը վերաբերում է օգտվողների թվին, որոնք պետք է կարողանան միանգամից մուտք գործել, դա պետք է առաջնահերթություն տրվի ոչ ֆունկցիոնալ փորձարկման ժամանակ:
3. Անհայտ
Թեև ոչ ֆունկցիոնալ թեստավորումը կարող է հատուկ նախագծվել նախագծի պլաններում սահմանված հատկանիշները չափելու համար, շատ դեպքերում այդ հատկանիշները նախապես չեն նշվի:
Այս դեպքում փորձարկողները պետք է պարզապես կատարեն ոչ ֆունկցիոնալ թեստավորում՝ յուրաքանչյուր պարամետրի հիման վրա ծրագրակազմը գնահատելու համար և հետագայում դրանք համեմատելու ակնկալիքների հետ:
Ոչ ֆունկցիոնալ թեստերի կյանքի ցիկլը
Քանի որ ոչ ֆունկցիոնալ փորձարկումը վերաբերում է ոչ թե ծրագրային ապահովման փորձարկման կյանքի ցիկլի որոշակի փուլին, այլ պարզապես փորձարկման մի տեսակի, որը սովորաբար տեղի է ունենում ծրագրային ապահովման փորձարկման համակարգի փորձարկման փուլում, ոչ ֆունկցիոնալ թեստավորման կյանքի ցիկլը կարող է շատ տարբեր լինել: նախագծերի միջև։
Ընդհանուր առմամբ, այն հետևում է ծրագրային ապահովման այլ տեսակների փորձարկման նմանատիպ կյանքի ցիկլին, որը սկսվում է նախագծի պահանջների վերլուծությամբ և ավարտվում թեստի կատարմամբ և ցիկլի կատարմամբ:
1. Ծրագրային ապահովման պահանջների վերլուծություն
Ոչ ֆունկցիոնալ թեստավորման կյանքի ցիկլի առաջին փուլը ծրագրային ապահովման պահանջների վերլուծությունն է: Ծրագրային թիմերն աշխատում են կոնկրետ չափանիշների վրա, երբ նրանք կառուցում և փորձարկում են հավելվածներ, և այս չափանիշները պետք է թելադրեն, թե ինչ տեսակի թեստեր պետք է իրականացվեն:
2. Թեստի պլանավորում
Կյանքի ցիկլի հաջորդ փուլը թեստի պլանավորումն է: Թեստավորման պլանավորման փուլում ՈԱ առաջատարը կկազմի մանրամասն թեստային ծրագիր, որը մանրամասնում է, թե ինչ է փորձարկվելու, ով կիրականացնի թեստավորումը և թեստավորման ինչ մոտեցումներ, մեթոդներ և գործիքներ կկիրառվեն:
Թեստի պլանը պետք է ներառի բոլոր անհրաժեշտ մանրամասները, որոնք անհրաժեշտ են թեստավորողներին՝ թեստային դեպքեր ստեղծելու և իրականացնելու համար:
3. Թեստային դեպքի ստեղծում
Թեստային դեպքի ստեղծումը ոչ ֆունկցիոնալ փորձարկման հաջորդ փուլն է: Այս փուլը ներառում է ոչ ֆունկցիոնալ փորձարկման դեպքերի մշակում, որոնք փորձարկողները կիրականացնեն ավելի ուշ՝ համակարգի ոչ ֆունկցիոնալ պահանջները ստուգելու համար:
Թեստի դեպքերը նկարագրում են, թե ինչ է փորձարկվելու, ինչպես է այն փորձարկվելու և ինչպիսին է թեստի ակնկալվող արդյունքը:
4. Փորձնական միջավայրի կարգավորում
Ոչ ֆունկցիոնալ թեստավորման կյանքի ցիկլի հաջորդ փուլը փորձարկման միջավայրի ստեղծումն է նախքան փորձարկումը սկսելը:
Թեստավորման միջավայրն այն վայրն է, որտեղ տեղի են ունենում բոլոր փորձարկումները, և այն ռեսուրսների և գործիքների տունն է, որոնք դուք կօգտագործեք ոչ ֆունկցիոնալ թեստեր իրականացնելու համար:
Փորձարկման թիմը նախապատրաստում է փորձարկման միջավայրը, որը ստեղծվել է նախքան թեստի կատարումը:
5. Թեստի կատարում
Թեստի կատարումը ոչ ֆունկցիոնալ փորձարկման կյանքի ցիկլի հաջորդ փուլն է: Այն ներառում է նախկինում ստեղծված թեստային դեպքերի կատարումը՝ ծրագրային հավելվածների տարբեր ասպեկտները փորձարկելու համար, ներառյալ անվտանգությունը, բեռնման ժամանակը, հզորությունը և շարժականությունը:
Թեստային թիմը կատարում է յուրաքանչյուր դեպք առանձին և ստուգում է յուրաքանչյուր թեստի արդյունքը ակնկալվող արդյունքի համեմատ:
6. Ցիկլերի կրկնություն
Ոչ ֆունկցիոնալ փորձարկման կյանքի ցիկլի վերջին փուլը ցիկլի կատարումն ու կրկնությունն է: Բոլոր թեստային դեպքերը կատարելուց հետո թեստավորողները ստուգում են, թե որ թեստերն են անցել, և որ թեստերը ձախողվել են:
Անհաջող փորձարկումները սովորաբար ցույց են տալիս, որ կա թերություն, որը պետք է շտկվի մշակողների կողմից: Երբ մշակողները կարկատեն կամ խմբագրեն կոդը, ծրագրաշարի փորձարկման ցիկլը նորից կրկնվում է այնքան ժամանակ, մինչև որևէ թերություն չգտնվի:
Որոշ շփոթմունքի վերացում.
Ոչ ֆունկցիոնալ թեստավորում ընդդեմ ֆունկցիոնալ թեստավորման
Ֆունկցիոնալ թեստավորումը և ոչ ֆունկցիոնալ փորձարկումը ծրագրային ապահովման թեստավորման երկու տարբեր, բայց հավասարապես կարևոր տեսակներ են, որոնք միասին օգտագործվում են գնահատելու համար, թե արդյոք ծրագրային հավելվածը համապատասխանում է օգտվողների պահանջներին, ինչպես սահմանված է ծրագրի համառոտագրում:
Թեև դրանք երկուսն էլ փորձարկման անհրաժեշտ տեսակներ են, որոնք թույլ են տալիս ծրագրային թիմերին բացահայտել ծրագրային ապահովման կառուցվածքների թերությունները, ֆունկցիոնալ և ոչ ֆունկցիոնալ փորձարկումները լիովին տարբերվում են միմյանցից:
1. Ո՞րն է տարբերությունը ֆունկցիոնալ և ոչ ֆունկցիոնալ թեստավորման միջև:
Ֆունկցիոնալ և ոչ ֆունկցիոնալ թեստավորման միջև տարբերությունը կայանում է նրանում, թե ինչ են նրանք փորձարկում: Ֆունկցիոնալ թեստավորումը փորձարկում է հավելվածի գործառույթները և ստուգում, թե արդյոք դրանք աշխատում են ինչպես սպասվում էր: Ոչ ֆունկցիոնալ թեստավորումը փորձարկում է հավելվածի այլ ասպեկտներ, որոնք ազդում են օգտատերերի բավարարվածության և կիրառման որակի վրա:
Ֆունկցիոնալ և ոչ ֆունկցիոնալ թեստավորումը տեղի է ունենում ծրագրային ապահովման փորձարկման տարբեր փուլերում, բայց թեստավորման երկու տեսակներն էլ սովորաբար իրականացվում են համակարգի փորձարկման փուլում:
Ե՛վ ֆունկցիոնալ, և՛ ոչ ֆունկցիոնալ թեստավորումը կարող է օգնել մեզ հասկանալու, թե որքան լավ է աշխատում հավելվածը և արդյո՞ք այն պատշաճ կերպով կատարում է իր աշխատանքը:
Օրինակ, եթե դուք փորձարկում եք բջջային հավելված , որը թույլ է տալիս օգտվողներին պահպանել անելիքների և գնումների ցուցակները, ֆունկցիոնալ թեստավորումը կարող է փորձարկել այնպիսի գործառույթներ, ինչպիսիք են նոր ցուցակ ստեղծելը, ցուցակ պահելը և գոյություն ունեցող ցուցակներում փոփոխություններ կատարելը:
Ոչ ֆունկցիոնալ փորձարկումը կարող է գնահատել, թե որքան լավ է հավելվածը աշխատում տարբեր շարժական սարքերում, որքան արագ են բեռնվում ցուցակները և որքանով է ազդում հավելվածի կատարողականի վրա, երբ այլ հավելվածներ աշխատում են հետին պլանում:
2. Եզրակացություն. ոչ ֆունկցիոնալ թեստավորում ընդդեմ ֆունկցիոնալ թեստավորման
Ե՛վ ֆունկցիոնալ, և՛ ոչ ֆունկցիոնալ թեստավորումը ծրագրային ապահովման թեստավորման կարևոր տեսակներ են, որոնք կարող են օգնել փորձարկողներին և QA թիմերին գնահատել, թե արդյոք հավելվածը համապատասխանում է իր ընթացիկ պահանջներին:
Մինչ ֆունկցիոնալ թեստավորումը ստուգում է ծրագրաշարի գործառույթները, ոչ ֆունկցիոնալ թեստավորումը փորձարկում է այլ ասպեկտներ, որոնք կարող են ազդել աշխատանքի, արդյունավետության և անվտանգության վրա:
Միավորի փորձարկումը , ինտեգրման թեստը և API-ի թեստը բոլոր ֆունկցիոնալ փորձարկման ձևեր են: Ծրագրային ապահովման փորձարկման այս փուլերից յուրաքանչյուրում փորձարկողները գնահատում են, թե որքանով են գործառույթներն ու առանձնահատկությունները աշխատում առանձին կամ միասին, և հայտնաբերում են վրիպակներ և թերություններ, որոնք խանգարում են գործառույթների սպասվածին:
Անվտանգության թեստը, օգտագործելիության թեստը, դյուրատարության թեստը և բեռնվածության փորձարկումը ոչ ֆունկցիոնալ թեստավորման բոլոր ձևերն են, որոնք թույլ են տալիս փորձարկողներին գնահատել, թե որքանով է հավելվածը կատարում իր գործառույթները և աջակցում օգտատերերի կարիքներին:
Ոչ ֆունկցիոնալ փորձարկման տեսակները
Կան բազմաթիվ տարբեր տեսակի ոչ ֆունկցիոնալ փորձարկումներ, որոնցից յուրաքանչյուրը փորձարկում է ծրագրային հավելվածի աշխատանքի կամ արդյունավետության տարբեր ոչ ֆունկցիոնալ կողմը:
Այս տեսակի թեստերից յուրաքանչյուրը կփորձարկի տարբեր պարամետրեր, և որոշ թեստեր կարող են նույն պարամետրերը տարբեր կերպ ստուգել:
1. Կատարողական թեստեր
Կատարման թեստերը ոչ ֆունկցիոնալ թեստի մի տեսակ են, որը ստուգում է, թե որքան լավ են աշխատում տարբեր ծրագրային բաղադրիչները: Նրանց ֆունկցիոնալությունը փորձարկելու փոխարեն, ինչն անում է ֆունկցիոնալ փորձարկումը, կատարողականի թեստերը կարող են ստուգել արձագանքման ժամանակները, շեղումները և ձախողման կետերը: Արդյունավետության թեստավորումն օգնում է փորձարկողներին համոզվել, որ ծրագրաշարը բարձր որակ է, և որ այն արագ, կայուն և հուսալի է:
2. Սթրես թեստեր
Սթրեսի թեստը ոչ ֆունկցիոնալ թեստավորման տեսակ է, որը ստուգում է, թե որքան լավ է աշխատում ծրագրաշարը, երբ այն ենթարկվում է աննորմալ քանակությամբ սթրեսի: Սա կարող է նշանակել փորձարկում, թե ինչպես է ծրագրաշարը գործում, երբ ինչ-որ մեկը փորձում է միանգամից օգտագործել բազմաթիվ տարբեր գործառույթներ կամ միաժամանակ բազմաթիվ այլ հավելվածներ գործարկելիս:
Սթրեսի թեստը փորձում է բացահայտել այն սահմանը, որով ծրագրաշարը դադարում է ճիշտ աշխատել, և ինչ է տեղի ունենում, երբ համակարգը սթրեսի մեջ է: Այն թույլ է տալիս փորձարկողներին հասկանալ, թե արդյոք համակարգը կարող է վերականգնել ինքն իրեն, և արդյոք այն ծանուցում է օգտատերերին համապատասխան սխալի հաղորդագրություններով:
3. Բեռի թեստեր
Բեռնվածության փորձարկումը փորձարկման մի տեսակ է, որը գնահատում է, թե որքան լավ է ծրագրաշարը վարվում ինչպես նորմալ պայմաններում, այնպես էլ ավելի ծանր բեռների հետ գործ ունենալիս: Այն օգտագործվում է որոշելու համար, թե ծրագրաշարը որքան կարող է միաժամանակ կառավարել՝ առանց կատարողականի բացասական ազդեցության:
Բեռնվածության թեստավորումը կարող է օգտագործվել՝ ստուգելու, թե ինչպես են աշխատում հավելվածները, երբ բազմաթիվ օգտատերեր օգտագործում են դրանք միանգամից կամ երբ օգտվողները փորձում են միաժամանակ ներբեռնել բազմաթիվ տվյալներ:
Բեռնվածության փորձարկումը կարևոր է, եթե ցանկանում եք ստուգել, թե արդյոք ձեր ծրագրաշարը մասշտաբելի է:
4. Անվտանգության թեստեր
Անվտանգության թեստերը գնահատում են ծրագրային հավելվածները և փնտրում են խոցելիություններ ծրագրաշարի անվտանգության մեջ: Դրանք ներառում են անվտանգության հնարավոր ռիսկերը, որոնք կարող են հանգեցնել տվյալների կորստի կամ գաղտնի տվյալների բացահայտման խախտումների:
Անվտանգության փորձարկումը կարևոր է, քանի որ այն ապահովում է, որ արտադրանքը պատշաճ կերպով պաշտպանված է հակերությունից, տվյալների խախտումներից և անվտանգության այլ արտաքին սպառնալիքներից:
Անվտանգության թեստերի որոշ օրինակներ, որոնք կարող են կատարել փորձարկողները, ներառում են անվտանգության աուդիտ, էթիկական հաքերային հարձակում, ներթափանցման փորձարկում, անվտանգության սկանավորում և կեցվածքի գնահատում:
5. Արդիականացման և տեղադրման թեստեր
Թարմացման և տեղադրման փորձարկումը ոչ ֆունկցիոնալ ծրագրային ապահովման փորձարկման տեսակ է, որը ստուգում է, թե որքան լավ է ծրագրաշարը աշխատում տարբեր մեքենաների վրա:
Այս տեսակի թեստավորման նպատակն է համոզվել, որ նոր օգտվողները կարող են հեշտությամբ տեղադրել ծրագրակազմը իրենց մեքենաների վրա, իսկ առկա օգտվողները կարող են թարմացնել այն, երբ թողարկվեն նոր թարմացումներ:
Թարմացումը և տեղադրման փորձարկումը կարևոր են, քանի որ վերջնական օգտվողները պետք է կարողանան հեշտությամբ տեղադրել ձեր արտադրանքը, պայմանով, որ նրանք աշխատում են դրա հետ համատեղելի մեքենայի հետ:
6. Ծավալային թեստեր
Ծավալի փորձարկումը փորձարկման մի տեսակ է, որը գոյություն ունի ստուգելու համար, թե ինչ է տեղի ունենում, երբ տվյալների բազայում միանգամից մեծ ծավալի տվյալներ են ավելացվում: Սա բացահայտում է, թե արդյոք հավելվածը կարող է կառավարել մեծ ծավալի տվյալներ, և ինչ է տեղի ունենում համակարգի հետ, եթե այն չկարողանա:
Ծավալի փորձարկումը հայտնի է նաև որպես ջրհեղեղի փորձարկում, և դուք կարող եք այն օգտագործել՝ գնահատելու տվյալների կորուստը և սխալ հաղորդագրությունները, որոնք տեղի են ունենում համակարգին զգալի քանակությամբ տվյալներ ավելացնելիս:
Ծավալի փորձարկումը միակ միջոցն է՝ ապահովելու, որ ծրագրաշարը կարող է կարգավորել տվյալների այն ծավալները, որոնք օգտատերերը ակնկալում են դրանից:
7. Վերականգնման թեստեր
Վերականգնման թեստերը ներառում են ծրագրային ապահովման համակարգին ստիպելը չստուգել, թե որքան լավ է համակարգը վերականգնվում վթարից հետո:
Վերականգնման թեստավորումը կարող է օգնել փորձարկողներին հասկանալ, թե ինչպես է ծրագրակազմը վերականգնում տվյալները և կանխում կորուստները, եթե սարքավորումն անջատված է վարդակից, եթե ծրագրակազմն անջատված է ցանցից տվյալների փոխանցման ժամանակ, կամ եթե դուք անսպասելիորեն վերագործարկեք համակարգը:
Այս տեսակի թեստավորումը կարևոր է, քանի որ համակարգերը, առանց վերականգնման պատշաճ արձանագրությունների, կարող են տուժել տվյալների լուրջ կորուստներ, երբ նման վթարներ են տեղի ունենում:
Այն, ինչ ձեզ հարկավոր է ոչ ֆունկցիոնալ փորձարկում սկսելու համար
Նախքան ոչ ֆունկցիոնալ թեստավորում սկսելը, դուք պետք է համոզվեք, որ պատրաստել եք թեստավորման միջավայրը և հավաքել եք ձեզ անհրաժեշտ գործիքներն ու տվյալները:
1. Փորձարկման պլան
Նախքան ոչ ֆունկցիոնալ թեստավորում սկսելը, համոզվեք, որ ունեք ավարտված փորձարկման պլան, որը ստորագրված է համապատասխան մարդկանց կողմից:
Ձեր թեստի պլանը պետք է ներառի բոլոր համապատասխան մանրամասները, թե ինչ եք պատրաստվում փորձարկել և ինչպես: Այն պետք է բացատրի, թե երբ եք պատրաստվում օգտագործել ձեռքով թեստավորում և երբ եք օգտագործելու ավտոմատ թեստավորում, ինչպես նաև ուրվագծել թեստավորման գործընթացում ներգրավված բոլորի դերերն ու պարտականությունները:
2. Փորձարկման դեպքեր
Նախքան ոչ ֆունկցիոնալ թեստեր իրականացնելը, դուք պետք է ստեղծեք թեստային դեպքեր: Յուրաքանչյուր թեստային դեպք ուրվագծում է կոնկրետ բան, որը դուք պատրաստվում եք փորձարկել, բացատրում է, թե ինչպես եք այն փորձարկելու և նկարագրում է թեստի ակնկալվող արդյունքը:
Օրինակ, եթե դուք իրականացնում եք բեռնվածության փորձարկում, օրինակ փորձարկման դեպքը կարող է փորձարկել, թե ինչպես է ծրագրաշարն իրեն պահում, երբ տասը օգտվող միաժամանակ օգտագործում են նույն մոդուլը:
3. Ֆունկցիոնալ ստուգում
Դուք չեք կարող ոչ ֆունկցիոնալ փորձարկում կատարել ծրագրային ապահովման բաղադրիչների վրա, եթե դրանք ֆունկցիոնալ չեն:
Օրինակ, եթե ցանկանում եք ստուգել, թե քանի օգտատեր կարող է միաժամանակ մուտք գործել ծրագրաշարը, նախ կարևոր է ստուգել, որ առանձին օգտվողներ իրականում կարող են մուտք գործել ծրագրակազմ:
Նախքան ոչ ֆունկցիոնալ թեստավորում սկսելը, համոզվեք, որ ձեր բոլոր ֆունկցիոնալ թեստերն անցել են, և որ ձեր ծրագրաշարը գործում է այնպես, ինչպես դուք ակնկալում եք:
Սա սովորաբար նշանակում է, որ ծխի փորձարկումը , ողջամտության փորձարկումը , միավորի փորձարկումը, ինտեգրումը և ֆունկցիոնալ համակարգի փորձարկումն արդեն իրականացվել են:
4. Փորձարկման գործիքներ
Նախքան ոչ ֆունկցիոնալ թեստավորում սկսելը, հավաքեք բոլոր փորձարկման գործիքները, որոնք ցանկանում եք օգտագործել ձեր թեստերն անցկացնելու համար:
Անկախ նրանից, թե դուք օգտագործում եք ավտոմատացման գործիքներ մասնակիորեն ավտոմատացնել ձեր որոշ թեստեր կամ փաստաթղթերի գործիքներ, որոնք կօգնեն ձեզ կառավարել և պահել թեստային հաշվետվությունները հետագա օգտագործման համար, համոզվեք, որ գործիքները, որոնք ցանկանում եք օգտագործել, հասանելի են և պատրաստ օգտագործման համար, և որ թեստավորման թիմում բոլորը գիտեն, թե ինչպես ճիշտ օգտագործել յուրաքանչյուր գործիք:
5. Փորձարկման միջավայր
Նախքան ոչ ֆունկցիոնալ փորձարկումը սկսելը կարգավորեք թեստավորման միջավայրը: Հնարավոր է, որ դուք արդեն ունեք համապատասխան փորձարկման միջավայր, հատկապես, եթե կարող եք օգտագործել նույն միջավայրը ոչ ֆունկցիոնալ համակարգի և ֆունկցիոնալ համակարգի փորձարկման համար:
Իդեալական փորձարկման միջավայրը թույլ է տալիս ստուգել ձեզ անհրաժեշտ յուրաքանչյուր տարր ճիշտ սարքերի վրա:
Օրինակ, եթե դուք փորձարկում եք ձայնի կառավարումը սմարթֆոնների վրա, ապա ավելի լավ է դա փորձարկեք իրական սմարթֆոնի սարքի վրա, քան փորձեք ընդօրինակել շարժական միջավայրը աշխատասեղանի համակարգչի վրա:
Ոչ ֆունկցիոնալ փորձարկման գործընթացը
Ծրագրաշարի կառուցման ոչ ֆունկցիոնալ ասպեկտների փորձարկումը բազմաքայլ գործընթաց է, որը ներառում է թեստային միջավայրի պատրաստում, թեստային դեպքերի ստեղծում, թեստային տվյալների հավաքում և ոչ ֆունկցիոնալ թեստերի կատարում:
Հնարավոր է թեստավորման գործընթացը բաժանել փոքր մասերի, որպեսզի սկսնակների համար ավելի հեշտ լինի հետևել ոչ ֆունկցիոնալ թեստավորմանը:
1. Թեստավորման ոչ ֆունկցիոնալ պատրաստվածության ստուգումներ
Նախքան ոչ ֆունկցիոնալ թեստավորում սկսելը, կարևոր է ստուգել, որ պատրաստ եք թեստավորման այս փուլին:
Սա կարող է նշանակել թեստավորման վերջին փուլի ելքի չափանիշների գնահատում` համոզվելու համար, որ ծրագրաշարն անցել է այն և համոզվել, որ ծրագրակազմն անցել է բոլոր ֆունկցիոնալ թեստերը, որոնք պահանջվում են մինչև ոչ ֆունկցիոնալ փորձարկումների իրականացումը:
Որոշ թիմեր կարող են ստեղծել մուտքի չափանիշներ ոչ ֆունկցիոնալ թեստավորման համար, որը ներառում է բոլոր այն պայմանները, որոնք պետք է բավարարված լինեին նախքան ոչ ֆունկցիոնալ թեստավորումը սկսելը:
2. Ստեղծեք թեստային պլան
Հնարավոր է, որ դուք արդեն կատարել եք այս քայլը ավելի վաղ, եթե դուք ոչ ֆունկցիոնալ թեստավորում եք կատարում որպես համակարգի փորձարկման մաս և հետևում եք ձեր համակարգի փորձարկման պլանին: Փորձարկման պլանը ուրվագծում է բոլոր թեստերը, որոնք դուք պետք է կատարեք և ինչպես եք մտադիր դրանք իրականացնել:
Առանց թեստավորման հստակ պլանի, հեշտ է կորցնել ձեր կատարած թեստերի շրջանակը և նպատակները:
3. Ստեղծեք թեստային դեպքեր
Ոչ ֆունկցիոնալ փորձարկման հաջորդ փուլը փորձարկման դեպքերի ստեղծումն է, որը նախատեսված է ծրագրաշարի յուրաքանչյուր ոչ ֆունկցիոնալ պարամետրի փորձարկման համար:
Յուրաքանչյուր փորձարկման դեպք պետք է ունենա փորձարկման դեպքի ID, թեստային դեպքի անվանում, նկարագրություն և թեստի ակնկալվող արդյունքի մանրամասներ, ինչպես նաև նախապես որոշված անցման կամ ձախողման ցանկացած չափանիշ: Սա օգնում է փորձարկողներին հասկանալ, թե ինչպես կատարել յուրաքանչյուր թեստ և ինչ արդյունքներ փնտրել:
4. Հավաքեք թեստի տվյալները
Նախքան յուրաքանչյուր փորձնական դեպք կատարելը, դուք պետք է հավաքեք թեստի տվյալները , որոնք կօգտագործեք յուրաքանչյուր փորձարկման դեպքի համար:
Սա սովորաբար նշանակում է կոդ և տվյալներ հավաքել տարբեր մոդուլներից և բաղադրիչներից, որոնք կազմում են այն գործառույթներն ու տարածքները, որոնք դուք պատրաստվում եք փորձարկել: Եթե դուք առավելագույնի հասցնում եք թեստի ծածկույթը, դուք պետք է ունենաք շատ թեստային տվյալներ, որոնց հետ պետք է աշխատեք:
5. Պատրաստեք թեստային միջավայրը
Ոչ ֆունկցիոնալ փորձարկման հաջորդ փուլը թեստային միջավայրի պատրաստումն է: Փորձարկման միջավայրը փորձարկման սերվեր է, որը դուք կօգտագործեք տարբեր տեսակի ծրագրային ապահովման փորձարկումներ իրականացնելու համար:
Այն թույլ է տալիս ստեղծել նույնական պայմաններ, որոնց դեպքում կարող եք ստուգել ձեր ծրագրաշարը և կարգավորել ձեր ծրագրակազմը տարբեր կոնֆիգուրացիաներով՝ կոնֆիգուրացիայի փորձարկման, անվտանգության թեստավորման և այլ տեսակի ոչ ֆունկցիոնալ փորձարկման համար:
6. Կատարել ոչ ֆունկցիոնալ թեստեր
Երբ թեստային միջավայրը պատրաստ է, ժամանակն է իրականացնել ոչ ֆունկցիոնալ թեստեր: Դուք կարող եք որոշել թեստերն իրականացնել ըստ տեսակի, օրինակ՝ սկսել կատարողականության թեստավորումից՝ նախքան անվտանգության թեստերին անցնելը և այլ տեսակի ոչ ֆունկցիոնալ թեստերին:
Յուրաքանչյուր թեստ անցկացնելիս արդյունքները նշեք ձեր թեստավորման հաշվետվության մեջ: Եթե դուք ավտոմատացնում եք թեստավորումը , ձեր ավտոմատացման գործիքը կունենա նաև արդյունքները հստակ և միանշանակ զեկուցելու ստանդարտացված եղանակ:
7. Զեկուցել թեստի արդյունքները
Յուրաքանչյուր թեստային դեպք կատարելուց հետո ձեր ոչ ֆունկցիոնալ թեստերի արդյունքները կազմեք մեկ հաշվետվության մեջ:
Այս զեկույցը պետք է հստակ լինի յուրաքանչյուր թեստի արդյունքների վերաբերյալ և միանշանակ լինի այն մասին, թե արդյոք յուրաքանչյուր թեստ անցել է, թե անհաջող:
Հետևեք ձեր թեստի հաշվետվության ստանդարտացված կառուցվածքին, որպեսզի համոզվեք, որ ներառված են բոլոր այն տեղեկությունները, որոնք դուք պետք է փոխանցեք:
8. Ուղղել թերությունները
Թեստի արդյունքները ստանալուց հետո ծրագրակազմը վերադարձրեք մշակողներին, եթե թեստերը ձախողվել են կամ հայտնաբերել եք որևէ ոչ ֆունկցիոնալ սխալ, որը պետք է շտկվի:
Օրինակ, եթե ծրագրաշարը միանգամից չի մշակում համապատասխան քանակի օգտատերեր կամ եթե կատարումը չափազանց դանդաղում է, երբ մի քանի ծրագրեր միաժամանակ աշխատում են, այդ խնդիրները, հավանաբար, պետք է շտկվեն կոդի մեջ՝ համոզվելու համար, որ օգտվողները գոհ է ապրանքից:
9. Կրկնել փորձարկման ցիկլը
Երբ մշակողները վերանորոգեն նախնական ոչ ֆունկցիոնալ փորձարկման փուլում հայտնաբերված թերությունները, փորձարկման ցիկլը կարող է նորից սկսվել:
Մշակողները կփորձարկեն իրենց կատարած փոփոխությունները և նոր կառուցվածքը կփոխանցեն QA փորձարկողներին, որոնք այնուհետև կիրականացնեն փորձարկումների ամբողջական փաթեթը՝ սկսած ծխի փորձարկումից, միավորի փորձարկումից, ինտեգրման թեստից և վերջապես համակարգի փորձարկումից:
Փորձարկման ցիկլը կրկնվում է այնքան ժամանակ, քանի դեռ որևէ կետում որևէ վրիպակ կամ թերություն չի առաջանում, որից հետո բիլդը կարող է անցնել թեստավորման վերջնական փուլ՝ օգտագործողի ընդունման թեստավորում :
Թեստային պատյաններ ոչ ֆունկցիոնալ փորձարկման համար
Թեստային դեպքերը ծրագրային ապահովման բոլոր թեստավորման կարևոր ասպեկտն են, և երբ դուք կատարում եք և՛ ֆունկցիոնալ, և՛ ոչ ֆունկցիոնալ թեստավորում, դուք կօգտագործեք թեստային դեպքեր՝ սահմանելու համար, թե ինչ եք պատրաստվում փորձարկել և ինչպես եք այն փորձարկելու:
Յուրաքանչյուր թեստային դեպք կարող է դիտվել որպես մինի թեստ, և յուրաքանչյուր թեստային դեպք կունենա իր սահմանված արդյունքներն ու արդյունքները:
1. Որո՞նք են ոչ ֆունկցիոնալ թեստավորման փորձարկման դեպքերը:
Թեստային դեպքը գործողությունների մի շարք է, որը կատարվում է ծրագրաշարի կառուցման վրա՝ ստուգելու համար, թե արդյոք այն համապատասխանում է ծրագրային պլանում սահմանված պայմաններին: Յուրաքանչյուր թեստային դեպք արդյունավետորեն ասում է թեստավորողներին, թե ինչ և ինչպես պետք է փորձարկել, և նախատեսված է ծրագրային ապահովման հավելվածի որոշակի գործառույթ կամ ոչ ֆունկցիոնալ հատկանիշ փորձարկելու համար:
Ոչ ֆունկցիոնալ փորձարկման դեպքերը կարող են ներառել թեստավորում, թե ինչ է տեղի ունենում, երբ ինչ-որ մեկը փորձում է մուտք գործել համակարգի ներսում ապահով տվյալներ կամ թեստավորում, թե որքան արագ է ծրագրաշարը բեռնվում գործարկման ժամանակ:
2. Ինչպե՞ս նախագծել ոչ ֆունկցիոնալ թեստային պատյաններ:
Երբ դուք նախագծում եք թեստային պատյաններ ոչ ֆունկցիոնալ փորձարկման համար, կարևոր է հետևել թեստային դեպքերի ստանդարտ պրակտիկաներին՝ նկատի ունենալով ձեր ոչ ֆունկցիոնալ թեստերի նպատակները:
Հետևեք ստորև նշված քայլերին, որպեսզի գրեք թեստային դեպքեր ոչ ֆունկցիոնալ թեստավորման համար, որոնք հստակ ուրվագծում են, թե ինչ պետք է անեն ձեր փորձարկողները՝ յուրաքանչյուր թեստ կատարելու համար:
1. Սահմանեք այն տարածքը, որը ցանկանում եք ծածկել
Յուրաքանչյուր փորձնական դեպքի համար հաշվի առեք, թե ձեր ծրագրաշարի որ տարածքն է ընդգրկելու այս փորձնական դեպքը:
Օրինակ, եթե դուք գրում եք թեստային դեպքեր տեղադրման և արդիականացման փորձարկման համար, կարող եք ներառել թեստային դեպքեր, որոնք գնահատում են, թե որքան հեշտ է հավելվածը տեղադրել տարբեր սարքերում և որքան ժամանակ է պահանջվում ծրագրաշարը թարմացնելու համար՝ օգտագործելով նոր կարկատելը:
2. Ստեղծեք փորձարկման եզակի ID
Յուրաքանչյուր փորձարկման դեպք պետք է ունենա փորձարկման դեպքի եզակի ID: Սա հեշտացնում է փորձարկման դեպքի նկարագրությունը և արդյունքները ավելի ուշ գտնելը և վերացնում է ցանկացած շփոթություն, թե որ փորձարկման դեպքին եք ակնարկում, եթե երկու փորձարկման դեպքեր ունեն նմանատիպ անուններ կամ նկարագրություններ:
3. Անվանեք և նկարագրեք յուրաքանչյուր թեստ
Թեև թեստային գործի ID-ն նույնականացնում է թեստը, դուք նաև կցանկանաք անուն և նկարագրություն տրամադրել ձեր գրած յուրաքանչյուր փորձարկման դեպքի համար:
Այն պետք է լինի պարզ անուն, որը ամփոփում է այն, ինչ դուք փորձարկում եք, մինչդեռ նկարագրությունը մեկ նախադասություն է, որը մանրամասնորեն մանրամասնում է դա:
Նկարագրությունը պետք է բավականաչափ պարզ լինի, որպեսզի փորձարկողները իմանան, թե ինչ պետք է փորձարկեն և ինչպես փորձարկեն այն, ինչպես նաև ցանկացած հատուկ պայմաններ, որոնք պետք է կատարվեն թեստում:
4. Նշեք ակնկալվող արդյունքը
Յուրաքանչյուր փորձնական դեպքի համար ուրվագծեք արդյունքը, որը պետք է տեղի ունենա, եթե ծրագրաշարն աշխատում է այնպես, ինչպես սպասվում էր:
Ոչ ֆունկցիոնալ փորձարկումներում, ինչպիսիք են կատարողականի փորձարկումը և բեռնվածության փորձարկումը, դա կարող է նշանակել շատ դեպքերում, որ ծրագրաշարը պարզապես շարունակում է գործել նորմալ՝ առանց դանդաղելու, հետ մնալու կամ խափանվելու:
Այլ դեպքերում դա կարող է նշանակել, որ որոշակի սխալի հաղորդագրություններ են հայտնվում՝ օգտատիրոջը խնդրի մասին ծանուցելու և լուծում առաջարկելու համար:
5. Առաջարկեք փորձարկման մեթոդներ
Յուրաքանչյուր փորձարկման դեպքի համար առաջարկեք փորձարկման տեխնիկայի և ոչ ֆունկցիոնալ փորձարկման գործիքների տեսակը, որոնք, ըստ ձեզ, պետք է օգտագործի փորձարկողը թեստավորման ընթացքում:
Ոչ ֆունկցիոնալ փորձարկումներում փորձարկողները կարող են օգտագործել շատ տարբեր մոտեցումներ տարբեր տեսակի թեստավորման համար:
Օրինակ, ծանրաբեռնվածության փորձարկումը և սթրես-թեստը կարող են պահանջել ավտոմատացում, քանի որ անիրագործելի է չափազանց ծանր երթևեկությունը ձեռքով մոդելավորելը, մինչդեռ փորձարկման այլ տեսակներ կարող են ավելի հեշտ լինել առանց որևէ հատուկ գործիքների կամ տեխնոլոգիաների:
6. Ստացեք յուրաքանչյուր փորձնական դեպքի վերանայում
Նախքան յուրաքանչյուր թեստային գործից դուրս գալը, յուրաքանչյուր գործը վերանայվի ձեր գործընկերների կողմից, ում հետ դուք աշխատում եք: Սա կարող է լինել ևս մեկ փորձարկող կամ QA առաջատար:
Փորձագետների վերանայման փորձարկման դեպքերը երաշխավորում են, որ դրանք բավականաչափ պարզ են, որպեսզի կարողանան հետևել երրորդ կողմի փորձարկողին և չեն ներառում որևէ երկիմաստություն կամ սխալ, որը կարող է հանգեցնել ոչ պատշաճ փորձարկման:
3. Ոչ ֆունկցիոնալ փորձարկման դեպքերի օրինակներ
Եթե դուք գրում եք թեստային դեպքեր ոչ ֆունկցիոնալ թեստավորման համար, դրանք կարող են նմանվել ստորև ներկայացված ոչ ֆունկցիոնալ փորձարկման օրինակներին:
Scalability testing օրինակ
Փորձարկման դեպքի ID՝ 6671
Փորձարկման դեպքի անվանումը. Բազմաթիվ օգտվողների մուտքի փորձարկում
Նկարագրություն. ընդօրինակել 20+ օգտվողներին, որոնք միաժամանակ մուտք են գործում ծրագրակազմ՝ օգտագործելով ավտոմատացման գործիքները:
Ակնկալվող արդյունքներ. Ծրագիրը պետք է աշխատի սովորական ռեժիմով յուրաքանչյուր օգտագործողի համար՝ թույլ տալով յուրաքանչյուր օգտվողին հաջողությամբ մուտք գործել 5 վայրկյանից ցածր:
Համատեղելիության փորձարկման օրինակ
Փորձարկման դեպքի ID՝ 5214
Փորձնական դեպքի անվանումը՝ հավելվածի բեռնում Opera բրաուզերում
Նկարագրություն. Բեռնել հավելվածը Opera վեբ բրաուզերում:
Ակնկալվող արդյունքներ. Հավելվածը բեռնվում է սովորական ռեժիմով Opera վեբ բրաուզերում՝ ցուցադրման ստանդարտ լուծաչափով և դասավորությամբ:
Ձեռքով, թե՞ ավտոմատացված ոչ ֆունկցիոնալ թեստեր:
Երբ դուք ընտրություն եք կատարում տարբեր ոչ ֆունկցիոնալ փորձարկման տեխնիկայի միջև, դուք պետք է որոշեք, թե արդյոք ցանկանում եք իրականացնել ձեռքով, թե ավտոմատացված ոչ ֆունկցիոնալ թեստեր:
Ձեռքով թեստերն իրականացվում են մարդկանց փորձարկողների կողմից, ինչը նշանակում է, որ դրանք սովորաբար ավելի ժամանակատար են, բայց դրանք նաև հնարավորություն են տալիս հետախուզական թեստավորման համար:
Ավտոմատացված ոչ ֆունկցիոնալ թեստերն ավելի արագ են և, որոշ առումներով, ավելի հուսալի, բայց դրանք նաև պահանջում են ավելի շատ ռեսուրսներ կամ գործիքներ: Ավտոմատացումը և հիպերավտոմատացումը գնալով ավելի տարածված են դառնում թեստավորման մեջ, հատկապես երբ խոսքը վերաբերում է ոչ ֆունկցիոնալ փորձարկմանը:
Ձեռքով ոչ ֆունկցիոնալ փորձարկում. առավելություններ, մարտահրավերներ և գործընթացներ
Ձեռքով ոչ ֆունկցիոնալ փորձարկումն իրականացվում է բացառապես փորձարկողների կողմից, որոնք ինքնուրույն կփորձարկեն յուրաքանչյուր առանձին ոչ ֆունկցիոնալ տարր:
Ձեռքով ոչ ֆունկցիոնալ թեստեր անցկացնելիս թեստավորողները պետք է տեղեկատվություն հավաքեն ծրագրաշարի մասին, ստեղծեն փորձարկման առանձին դեպքեր, որոնք համապատասխանում են թեստային պլանին և կատարեն այդ թեստային դեպքերը ձեռքով:
Սա զգալի ժամանակ է պահանջում, բայց դա նաև նշանակում է, որ QA թեստավորողներն ունեն ազատություն՝ որոշելու, թե ինչն է փորձարկվում և ինչպես:
1. Ձեռքով փորձարկման որոշ առավելություններ ներառում են.
● Ձեռքով փորձարկումը կարող է ավելի էժան լինել, քան ավտոմատացված թեստավորումը, քանի որ այն չի պահանջում հատուկ տեխնոլոգիաներ կամ տեխնիկական գիտելիքներ:
● Ձեռքով փորձարկումը թույլ է տալիս փորձարկողներին առաջարկել մարդկային պատկերացում և սուբյեկտիվություն այն մասին, թե ինչպես է գործում ծրագրաշարը և արդյոք այն գործում է բավարար:
● Ձեռքով փորձարկումը կարող է օգտագործվել համակարգի թեստավորում իրականացնելու համար այն սցենարներում, որտեղ անհնար է ավտոմատացնել:
● Ձեռքով փորձարկումը թույլ է տալիս փորձարկողներին գնահատել համակարգի տեսողական կողմերը, ինչպիսիք են գրաֆիկական միջերեսը և այլ գործոններ, որոնք կարող են ազդել օգտագործելիության վրա:
● Ձեռքով փորձարկումը փորձարկողներին առաջարկում է համակարգի ավելի լայն տեսանկյուն, որպես ամբողջություն և ինչպես են տարբեր մոդուլներ և բաղադրիչներ աշխատում միասին
Այնուամենայնիվ, կան նաև ձեռքով փորձարկման թերություններ:
2. Ձեռքով փորձարկման որոշ մարտահրավերներ ներառում են.
● Ոչ ֆունկցիոնալ փորձարկման որոշ տեսակներ, ներառյալ բեռնվածության փորձարկումը և կատարողականի փորձարկումը, անիրագործելի են ձեռքով իրականացնելը
● Ձեռքով փորձարկումը զգալիորեն ավելի շատ ժամանակ է պահանջում, քան ավտոմատացված ոչ ֆունկցիոնալ փորձարկումը
● Ձեռքով փորձարկողները կարող են շեղվել, կորցնել կենտրոնացումը և սխալներ թույլ տալ, հատկապես, երբ շատ կրկնվող թեստային առաջադրանքներ են կատարում։
Ավտոմատացված ոչ ֆունկցիոնալ փորձարկում. առավելություններ, մարտահրավերներ և գործընթացներ
Ավտոմատացված ոչ ֆունկցիոնալ փորձարկումն իրականացվում է ավտոմատացված սկրիպտների և փորձարկման գործիքների միջոցով: Ավտոմատացված թեստավորման մեթոդների կիրառման ժամանակ փորձարկողները կարող են թեստեր անցկացնել ֆոնային ռեժիմում՝ այլ առաջադրանքներ կատարելիս՝ ավտոմատացված թեստերը սկսելուց հետո:
1. Ոչ ֆունկցիոնալ թեստերի ավտոմատացման որոշ առավելություններ են.
1. Խնայեք ժամանակն ու ռեսուրսները՝ նվազեցնելով ձեր ծախսած ժամանակը երկարատև, ժամանակատար առաջադրանքների վրա
2. Ավտոմատացումը հնարավորություն է տալիս մեծացնել թեստի ծածկույթը՝ ընդգրկելով բաղադրիչների և առանձնահատկությունների ավելի լայն շրջանակ
3. Ավելի իրագործելի է հաճախակի ավտոմատացված թեստեր անցկացնելը, քանի որ դրանք ավելի քիչ ժամանակ են պահանջում
4. Ավտոմատացված թեստավորումը իդեալական է ժամանակատար փորձարկման առաջադրանքների համար, ինչպիսիք են բեռնվածության փորձարկումը, ծավալի թեստը և սթրես-թեստը, որոնք շատ դժվար է ձեռքով իրականացնել:
5. Ավտոմատացված թեստավորում կատարելիս սխալների առաջացման ավելի քիչ հավանականություն կա
Այնուամենայնիվ, կան նաև ավտոմատացված թեստավորման որոշ թերություններ, ինչը նշանակում է, որ դա միշտ չէ, որ ճիշտ մոտեցում է բոլոր տեսակի ոչ ֆունկցիոնալ թեստավորման համար:
2. Ավտոմատացված ոչ ֆունկցիոնալ թեստավորման որոշ մարտահրավերներ ներառում են.
1. Ավտոմատացված թեստավորումն ավելի թանկ արժե, քան ձեռքով
2. Փորձարկման ավտոմատացման կարգավորումը կարող է ժամանակ և տեխնիկական ռեսուրսներ խլել
3. Փորձարկման ավտոմատացումը տարածք չի տալիս հետախուզական փորձարկման համար
4. Թեստերի ավտոմատացումը դեռևս ժամանակ է պահանջում թեստային դեպքերի ստեղծման համար
Եզրակացություն՝ ձեռքով կամ ավտոմատացված
ոչ ֆունկցիոնալ թեստավորում.
Ծրագրային ապահովման փորձարկման տեսակների մեծ մասում ձեռքով և ավտոմատացված թեստավորումը համատեղելը սովորաբար տալիս է լավագույն արդյունքները: Սա թույլ է տալիս թեստավորման թիմերին օգտվել ավտոմատացված թեստավորման արդյունավետությունից, հուսալիությունից և ճշգրտությունից՝ միաժամանակ իրականացնելով հետախուզական թեստավորում, որը թույլ է տալիս փորձարկողներին գնահատել ծրագրակազմը ավելի սուբյեկտիվ տեսանկյունից:
Ոչ ֆունկցիոնալ թեստավորման ժամանակ և՛ ձեռքով, և՛ ավտոմատացված թեստավորումը գործնականում անհրաժեշտ է թեստավորման թիմերի մեծ մասի համար:
Ձեռնարկի թեստավորումը լավագույնս օգտագործվում է ոչ ֆունկցիոնալ թեստավորման առաջադրանքներ իրականացնելու համար, ինչպիսիք են օգտագործելիության թեստը, մինչդեռ ավտոմատացված թեստավորումն առավել հաճախ օգտագործվում է այն թեստերն իրականացնելու համար, որոնք չափազանց ժամանակատար և դժվար են իրականացնել ձեռքով, օրինակ՝ սթրես-թեստավորում կամ ծավալային թեստավորում:
Ոչ ֆունկցիոնալ թեստավորումը թեստային ավտոմատացման տեխնիկան օգտագործելու առավել ակնհայտ ոլորտներից մեկն է, քանի որ դա քանակական, չափելի փորձարկման տեսակ է, որը սուբյեկտիվ արդյունքներ չի պահանջում:
Ինչպես փորձարկման այլ տեսակների դեպքում, ոչ ֆունկցիոնալ թեստավորումը սովորաբար իրականացվում է ձեռքով և ավտոմատացված թեստավորման խառնուրդով:
Այնուամենայնիվ, ավտոմատացված թեստավորումը գործնականում անհրաժեշտ է ոչ ֆունկցիոնալ թեստավորման բազմաթիվ տեսակների համար, և ոչ ֆունկցիոնալ թեստավորման պարամետրերն ու չափումները նշանակում են, որ ավտոմատացումը ավելի հարմար է այս տեսակի թեստավորման համար, քան ֆունկցիոնալ թեստավորումը:
Ոչ ֆունկցիոնալ փորձարկման լավագույն փորձը
Երբ դուք առաջին անգամ եք ձեռնարկում ոչ ֆունկցիոնալ թեստավորում, թեստավորման լավագույն փորձին հետևելը կարող է օգնել ձեզ ստանդարտացնել ձեր թեստավորման գործընթացը և օպտիմալացնել ձեր թեստերի արդյունավետությունը:
Լավագույն փորձը ծառայում է որպես ուղեցույց ծրագրային ապահովման փորձարկման թիմերի համար, որոնք ցանկանում են բարելավել փորձարկման գործընթացները և համապատասխանեցնել ոլորտի ստանդարտներին:
1. Օգտագործեք ավտոմատացման գործիքներ
Ոչ ֆունկցիոնալ թեստավորման ժամանակ ավելի շատ, քան թեստավորման այլ տեսակներ, կարևոր է օգտագործել ավտոմատացման գործիքներ՝ որոշակի տեսակի թեստերի ավտոմատացման համար, մասնավորապես՝ ծավալի թեստավորման, սթրեսի թեստավորման և բեռի թեստավորման համար:
Այս տեսակի թեստավորումները սովորաբար ստուգում են, թե որքան լավ է աշխատում ծրագրաշարը օգտվողների, տվյալների և երթևեկության մեծ ճնշման ներքո, ինչը կարող է շատ դժվար պայմաններ լինել ձեռքով նմանակելու համար:
Այս տեսակի ոչ ֆունկցիոնալ թեստերի ավտոմատացումը ոչ միայն ավելի արդյունավետ կլինի, այլև ավելի ճշգրիտ և թույլ կտա փորձարկողներին հեշտությամբ կրկնել ավելի բարձր բեռներ և սթրեսներ:
2. Վերանայեք բոլոր փաստաթղթերը
Ինչպես նաև խնդրեք գործընկերներին վերանայել ձեր ստեղծած թեստային դեպքերը, խնդրեք ձեր փորձարկման խմբի հասակակիցներին վերանայել վրիպակների հաշվետվությունները, թեստային հաշվետվությունները, փորձարկման պլանները և թեստավորման գործընթացում ստեղծված պաշտոնական փաստաթղթերի այլ ձևերը:
Սա նվազեցնում է փոքր սխալների ռիսկը, որոնք կարող են լուրջ ուշացումներ առաջացնել թեստավորման և մշակման գործընթացում:
3. Սահմանել չափելի պահանջներ
Երբ դուք սահմանում եք ձեր ծրագրաշարի պահանջները նախքան ոչ ֆունկցիոնալ փորձարկումների սկսվելը, համոզվեք, որ յուրաքանչյուր պահանջ օբյեկտիվ է և չափելի:
Սա հեշտացնում է փորձարկողների համար պարզել, թե արդյոք ծրագրաշարը համապատասխանում է այս պահանջներին թեստավորման ընթացքում և մեկնաբանության տեղ չի թողնում:
Ի՞նչն է համարվում «արագ» կամ «արդյունավետ»: Օգտագործեք թվեր և քանակական արժեքներ՝ որոշելու համար, թե ինչ եք փնտրում:
4. Զգուշորեն հաշվի առեք փորձարկման չափանիշները
Նախքան որոշելը, թե որ չափիչները եք պատրաստվում օգտագործել ձեր ծրագրաշարի արդյունավետությունը չափելու համար, հաշվի առեք, թե ինչ կցանկանան ծրագրաշարի օգտվողները, և որ չափանիշներն իրականում համապատասխանում են ծրագրային ապահովման պլանին և պահանջներին:
Ծրագրաշարերի մեծ մասը պետք է լինի արագ և հուսալի, բայց ի՞նչ այլ չափումներ կարող են փնտրել ձեր օգտվողները: Կա՞ն ծրագրային ապահովման հատուկ չափումներ, որոնք դուք պետք է հաշվի առնեք թեստավորման գործընթացում:
Ոչ ֆունկցիոնալ թեստից արտադրանքի տեսակները
Երբ դուք իրականացնում եք ոչ ֆունկցիոնալ փորձարկում, դուք կստանաք տարբեր տեսակի արդյունքներ ձեր կատարած թեստերից:
Դրանք սովորաբար միանգամայն տարբերվում են ֆունկցիոնալ փորձարկման արդյունքներից, որոնք հաճախ ավելի հստակ են կտրված, քանի որ ֆունկցիոնալ թեստերը պարզապես ստուգում են՝ արդյոք ֆունկցիան աշխատում է այնպես, ինչպես պետք է, թե ոչ:
Ինչպես ֆունկցիոնալ թեստավորումը, փորձարկողները պետք է հստակ ակնկալիքներ դնեն յուրաքանչյուր փորձարկման դեպքի համար, որը հեշտացնում է պարզել, թե արդյոք յուրաքանչյուր թեստ անցնում է, թե ոչ:
1. Բացարձակ թվեր
Արդյունավետության թեստավորում, սթրես-թեստավորում և ոչ ֆունկցիոնալ թեստավորման այլ տեսակներ իրականացնելիս արդյունքները, որոնք դուք կարող եք դիտել ամենից հաճախ, արագություններ և այլ բացարձակ թվեր են:
Կատարողականության թեստը ստուգում է, թե որքան արագ համակարգը կարող է կատարել որոշակի առաջադրանքներ, և դա կչափվի վայրկյաններով կամ միլիվայրկյաններով:
Եթե դուք իրականացնում եք բեռնվածության փորձարկում, կարող եք գնահատել, թե ծրագրաշարը որքան տվյալներ կարող է միաժամանակ մշակել՝ առանց խափանման կամ հետաձգման:
2. Սխալների հաղորդագրություն
Ոչ ֆունկցիոնալ փորձարկումը նաև ստուգում է, թե ինչպես է համակարգը աշխատում, երբ տեղի են ունենում սխալներ, ինչպիսիք են անվտանգության սխալները, վավերացման սխալները և կազմաձևման սխալները:
Կարևոր է, որ համակարգերը ցուցադրեն ճշգրիտ և հստակ հաղորդագրություններ սխալների դեպքում, որպեսզի օգտվողները կարողանան քայլեր ձեռնարկել խնդիրը շտկելու և ծրագրաշարի օգտագործումը շարունակելու համար:
Սխալների հաղորդագրությունները պետք է հայտնվեն նաև անվտանգության փորձարկման ժամանակ, երբ համակարգը թույլ չի տալիս օգտվողներին խախտել ծրագրային ապահովման ներկառուցված անվտանգության առանձնահատկությունները:
3. Վթարներ
Խափանումը համակարգի ձախողման նշան է, և դա սովորաբար ցույց է տալիս, որ համակարգը չի կարողանում կատարել այն մակարդակը, որը դուք փորձարկում եք, և կարող է նշանակել, որ թեստն անցնում է:
Որոշ դեպքերում, համակարգը կարող է խափանվել և, այնուամենայնիվ, անցնել փորձնական դեպքը, որի վրա աշխատում եք, օրինակ, եթե համակարգը դիմադրի անհրաժեշտ քանակությամբ սթրեսին կամ երթևեկությանը մինչև վթարը:
Ոչ ֆունկցիոնալ թեստավորում իրականացնելիս փորձարկողները պետք է ակնկալեն, որ համակարգը պարբերաբար խափանում է, հատկապես, երբ այն հասցնում են իր սահմաններին սթրես-թեստի և կատարողականի այլ թեստերի համար:
Ոչ ֆունկցիոնալ թեստերի օրինակներ
Ոչ ֆունկցիոնալ փորձարկման օրինակները նման են ոչ ֆունկցիոնալ փորձարկման դեպքերի վերը նշված օրինակներին:
Դուք կարող եք դիտել ոչ ֆունկցիոնալ թեստերի օրինակներ՝ ավելի լավ հասկանալու համար, թե ինչ է ոչ ֆունկցիոնալ թեստավորումը և ինչ է այն փորձարկում ծրագրային հավելվածում:
1. Կատարողականության փորձարկման օրինակ
Եթե դուք աշխատում եք բջջային հավելվածի վրա, որը օգտվողներին կապում է առցանց տվյալների բազայի հետ, կարևոր է, որ մեծ թվով օգտատերեր կարողանան միաժամանակ մուտք գործել և ներբեռնել տվյալներ այս տվյալների բազայից:
Սա նաև մասշտաբայնության փորձարկման առանցքային մասն է, հատկապես, եթե ցանկանում եք ապագայում ավելացնել հավելվածի օգտատերերի թիվը:
Այնուհետև դուք կստուգեք, թե ինչպես է համակարգը արձագանքում, երբ, օրինակ, 1000 օգտատերեր փորձում են միաժամանակ մուտք գործել նույն տվյալների բազա և սահմանել պահանջներ, թե որքան արագ պետք է բեռնվի հավելվածը այս պայմաններում:
2. Համատեղելիության փորձարկում
Եթե դուք փորձարկում եք փաստաթղթերի կառավարման նոր հավելված, ապա ձեզ հարկավոր է ստուգել, որ այն աշխատում է բոլոր այն սարքերում, որոնց համար նախատեսված է:
Սա նշանակում է փորձարկել, որ դուք կարող եք տեղադրել և բեռնել հավելվածը Windows-ի , Mac-ի և ցանկացած այլ օպերացիոն համակարգերի (օրինակ՝ Linux ) բոլոր վերջին տարբերակների վրա, որոնց հետ ցանկանում եք, որ ծրագրաշարը համատեղելի լինի:
3. Անվտանգության փորձարկում
Անվտանգության թեստավորում իրականացնելիս դուք կփորձարկեք որոշ ուղիներ, որոնցով մարդիկ կարող են փորձել մուտք գործել գաղտնի տվյալներ կամ խախտել ծրագրաշարի անվտանգության երաշխիքները՝ ստուգելու համար, որ համակարգը գործում է այնպես, ինչպես դուք եք ակնկալում այս իրավիճակներում:
Օրինակ, դուք կարող եք մուտք գործել որպես օգտատեր և փորձել մուտք գործել ֆայլեր, որոնց համար չունեք անվտանգության թույլտվություն, որպեսզի համոզվեք, որ համակարգը թույլ չի տալիս մուտք գործել այս ֆայլերը:
Հայտնաբերված սխալների և սխալների տեսակները
ոչ ֆունկցիոնալ փորձարկման միջոցով
Ոչ ֆունկցիոնալ թեստավորումը կարող է բացահայտել բազմաթիվ սխալներ և թերություններ, որոնք այնքան էլ հեշտ չէ գտնել, որքան ֆունկցիոնալ թեստավորման ժամանակ հայտնաբերվածները: Դա պայմանավորված է նրանով, որ ոչ ֆունկցիոնալ փորձարկումը հաճախ պահանջում է, որ փորձարկողները ստուգեն տարբեր կոնֆիգուրացիաներ, կարգավորումներ և պայմանների համակցություններ՝ գնահատելու համար, թե որքան լավ է համակարգը գործում մի շարք տարբեր պարամետրերում:
1. Կատարողական թերություններ
Արդյունավետության թերությունները առաջանում են, երբ համակարգը գործում է, բայց այն չի գործում այնքան արագ և այնքան արդյունավետ, որքան դուք ակնկալում եք:
Օրինակ, դուք կարող եք պարզել, որ համակարգը որոշակի պայմաններում բավական արագ չի բեռնվում կամ նույնիսկ խափանում է, եթե միաժամանակ չափազանց շատ օգտվողներ մուտք գործեն:
Արդյունավետության թերությունները լիովին չեն խանգարում մարդկանց օգտագործել ձեր ծրագրաշարը, բայց դրանք կարող են ձեր ծրագրաշարը դարձնել ավելի քիչ օգտագործելի և ավելի քիչ հավանական է, որ բավարարի օգտվողի պահանջները:
2. Անվտանգության թերություններ
Անվտանգության թերություններն այն թերություններն են, որոնք ազդում են ձեր ծրագրային ապահովման համակարգի և դրա ներսում պահվող տվյալների անվտանգության վրա:
Անվտանգության թերությունները կարող են առաջանալ, եթե, օրինակ, օգտվողները կարող են մուտք գործել գաղտնի տվյալներ, որոնք նրանք չպետք է մուտք ունենան, կամ եթե հավելվածի որոշ մասեր ճիշտ պաշտպանված չեն գաղտնաբառով, կամ եթե գաղտնագրումը ձախողվի:
Սրանք կարող են հանգեցնել անվտանգության խախտումների, ինչը կարող է լուրջ ազդեցություն ունենալ ծրագրային ապահովման հրատարակչի հեղինակության վրա:
3. Ֆունկցիոնալ թերություններ
Թեև ոչ ֆունկցիոնալ փորձարկումը նախատեսված չէ ծրագրային ապահովման հավելվածի գործառույթները ստուգելու համար, որոշ դեպքերում ոչ ֆունկցիոնալ թեստավորումը կարող է բացահայտել ծրագրաշարի ֆունկցիոնալ թերությունները:
Օրինակ, հուսալիության թեստավորման նպատակը ոչ թե հավելվածի գործունակությունը ստուգելն է, այլ փորձարկել, թե արդյոք հավելվածը հուսալիորեն գործում է կրկնվող փորձերի ժամանակ:
Սա կարող է ցույց տալ, որ որոշ գործառույթներ հուսալիորեն չեն գործում, երբ գործողությունը կրկնվում է, և դրանք կարող են դասակարգվել որպես ֆունկցիոնալ սխալներ:
Ընդհանուր ոչ ֆունկցիոնալ փորձարկման չափումներ
Ոչ ֆունկցիոնալ փորձարկման չափումները նկարագրում են այն չափումները, որոնցով չափվում են համակարգի կատարողականությունը և արդյունավետությունը:
Ոչ ֆունկցիոնալ թեստավորման տարբեր տեսակներ հիմնված են տարբեր չափումների վրա, և դուք կարող եք ընտրել տարբեր չափումների օգտագործում՝ կախված նախագծի վերջնական նպատակներից:
1. Ժամանակ
Ժամանակի չափումները չափում են, թե որքան ժամանակ է պահանջվում որոշակի առաջադրանքների կատարման համար կամ որքան ժամանակ օգտվողները պետք է սպասեն գործառույթների բեռնմանը:
Ժամանակի չափման որոշ օրինակներ են գործարքների կամ ներբեռնումների քանակը, որոնք հավելվածը կարող է կատարել տվյալ ժամանակահատվածում, տարբեր գործառույթների արձագանքման ժամանակները և այն ժամանակը, որը պահանջվում է հավելվածի կողմից որոշակի գործողություն ավարտելու համար:
Տարբեր տեսակի թեստեր արդյունքները կչափեն վայրկյանների ընթացքում կամ որպես ներկայացում, թե քանի գործողություն է վայրկյանում:
2. Տիեզերք
Տիեզերքը ևս մեկ կարևոր չափիչ է ոչ ֆունկցիոնալ փորձարկման մեջ: Տիեզերական չափումները կարող են ստուգել, թե որքան պրոցեսորի տարածք է պահանջում համակարգը կամ որքան տեղ է զբաղեցնում կոշտ սկավառակի վրա ծրագրաշարը, երբ այն ամբողջությամբ տեղադրվի:
Տիեզերական չափումների որոշ օրինակներ ներառում են քեշ հիշողությունը, հիմնական հիշողությունը և օժանդակ հիշողությունը:
Սահուն աշխատելու համար մեծ տարածք պահանջող ծրագրակազմը կարող է հարմար լինել ավելի փոքր թվով հաճախորդների համար:
3. Օգտագործելիություն
Ոչ ֆունկցիոնալ թեստավորման որոշ չափումներ հաշվի են առնում համակարգի գործածելիությունը, օրինակ՝ որքան ժամանակ է պահանջվում օգտատերերին համակարգը ճիշտ օգտագործելու համար սովորեցնելու համար, քանի՞ ընտրություն պետք է անցնեն օգտատերերը՝ հիմնական գործառույթները կատարելու համար, կամ քանի մկնիկի սեղմում: անհրաժեշտ է որոշակի առաջադրանքներ իրականացնել:
Ոչ ֆունկցիոնալ թեստերը կարող են քանակականորեն չափել այս ցուցանիշներից յուրաքանչյուրը, ընդ որում ավելի ցածր թվերը սովորաբար ենթադրում են օգտագործելիության ավելի բարձր մակարդակ:
4. Հուսալիություն
Ոչ ֆունկցիոնալ փորձարկման մեկ այլ կարևոր չափանիշ հուսալիությունն է: Հուսալիությունը արտացոլում է հավանականությունը, որ համակարգը ժամանակ առ ժամանակ վարվում է նույն կերպ կամ գործում է այնպես, ինչպես պետք է երկար ժամանակ:
Չափումների որոշ օրինակներ, որոնք օգտագործվում են հուսալիությունը չափելու համար, ներառում են ձախողման միջին ժամանակը, ձախողման մակարդակը, հասանելիությունը և խափանումների հավանականությունը:
Այս չափիչներից յուրաքանչյուրն օգնում է փորձարկողներին ստուգել, որ համակարգը կարող է երկար ժամանակ աշխատել՝ առանց ձախողումների կամ խափանումների:
5. Ամրություն
Կայունությունը այն չափումն է, որը ցույց է տալիս, թե որքան լավ է համակարգը վերաբերվում ձախողումներին և որքանով կարող է համակարգը վերականգնել ինքն իրեն ձախողման դեպքում:
Որոշ չափումների օրինակներ, որոնք չափում են կայունությունը, ներառում են համակարգի խափանումից հետո վերականգնման համար պահանջվող ժամանակը, միջադեպերի տոկոսը, որոնք հանգեցնում են աղետալի ձախողման և հավանականությունը, որ տվյալների ֆայլերը կոռումպացված են համակարգի ձախողումից հետո:
Սրանք կարևոր չափումներ են, քանի որ օգտվողներն ակնկալում են, որ համակարգերը երբեմն կարող են ձախողվել առանց բոլոր տվյալները կորցնելու կամ ֆայլերը փչացնելու:
6. Դյուրաշարժություն
Դյուրաշարժության չափիչները չափում են, թե որքան հեշտությամբ ծրագրաշարը կարող է փոխանցվել տարբեր համակարգեր կամ տեղափոխվել նոր վայր ցանցի ներսում:
Չափման որոշ օրինակներ, որոնք չափում են շարժականությունը, ներառում են ոչ շարժական կոդի տոկոսը և համակարգերի քանակը, որոնց վրա կարող է աշխատել ծրագրաշարը:
Իդեալում, ծրագրակազմը, որը կարող է աշխատել բազմաթիվ տարբեր համակարգերի վրա, ավելի շարժական է և, հետևաբար, ավելի հարմար է այն պարամետրերում օգտագործելու համար, որոնք կարող են պահանջել հաճախակի փոխանցումներ կամ տեղափոխություններ:
Ոչ ֆունկցիոնալ թեստերի անցկացման ռազմավարություններ
Երբ սկսում եք ոչ ֆունկցիոնալ թեստավորում, կարևոր է մոտենալ թեստավորման այս փուլին՝ հաշվի առնելով ռազմավարությունը: ՈԱ առաջատարները և ծրագրային ապահովման թեստավորման մենեջերները պետք է հաշվի առնեն թեստավորման ռիսկերը, իրենց հասանելիք ռեսուրսները և թեստավորման նպատակը նախքան ոչ ֆունկցիոնալ թեստավորումը սկսելը:
Ռազմավարության մշակումը կարող է օգնել ձեզ ի սկզբանե օպտիմալացնել ձեր ոչ ֆունկցիոնալ թեստերը:
1. Բաշխեք դերեր և պարտականություններ
Նախքան ոչ ֆունկցիոնալ թեստավորում սկսելը, դերեր և պարտականություններ հատկացրեք թեստավորման թիմի հիմնական անդամներին: Սա հեշտացնում է ոչ ֆունկցիոնալ թեստավորման ծանրաբեռնվածությունը կառավարելը և ապահովել, որ փորձառու փորձարկողները պատասխանատու են ձեր կողմից անցկացվող թեստերի որակի և արդյունավետության պահպանման համար:
Համոզվեք, որ մարդիկ, ում դուք ընտրում եք ստանձնելու այս դերերը, ունենան այն գիտելիքներն ու փորձը, որը նրանք պետք է կատարեն այն խնդիրները, որոնք դուք ակնկալում եք, հատկապես, եթե այդ խնդիրները պահանջում են տեխնիկական հմտություններ:
2. Հավաքեք համապատասխան փորձարկման գործիքներ
Հավաքեք բոլոր տեխնոլոգիաները և գործիքները, որոնք ցանկանում եք օգտագործել ոչ ֆունկցիոնալ փորձարկումներ իրականացնելու համար: Համոզվեք, որ ձեր ամբողջ թիմը գիտի, թե ինչպես դրանք արդյունավետ օգտագործել, և անհրաժեշտության դեպքում անցկացրեք ուսուցում հմտությունների բացերը լրացնելու համար:
Համոզվելը, որ բոլորը գիտեն թեստավորման որ գործիքներն օգտագործել և ինչպես օգտագործել դրանք, նախքան ոչ ֆունկցիոնալ թեստավորումը սկսելը, նվազեցնում է անբավարար գիտելիքների պատճառով թեստավորումը դադարեցնելու կամ նորից փորձարկումներ անելու վտանգը:
3. Առաջնահերթություն տալ թեստավորմանը
Նախքան ոչ ֆունկցիոնալ թեստավորում սկսելը, կազմեք համակարգի բոլոր ասպեկտների ցանկը, որոնք դուք պետք է փորձարկեք և առաջնահերթություն տվեք դրանք՝ ելնելով հրատապությունից և կարևորությունից:
Դուք կարող եք առաջնահերթություն տալ ոչ ֆունկցիոնալ փորձարկումներին՝ հիմնվելով ձեր փորձարկվող համակարգի յուրաքանչյուր ասպեկտի հետ կապված ռիսկի մակարդակի վրա:
Օրինակ, հիմնական անվտանգության փորձարկումը կարող է տեղի ունենալ, քանի որ համարժեք անվտանգությունը համարվում է չափազանց կարևոր ժամանակակից ծրագրային ապահովման մեջ: Որքան շուտ հայտնաբերեք բարձր ռիսկային թերությունները, այնքան ավելի ցածր կլինի այդ թերությունների պոտենցիալ ազդեցությունը համակարգի այլ ասպեկտների վրա:
7 լավագույն ոչ ֆունկցիոնալ փորձարկման գործիքներ
Թեստավորման ոչ ֆունկցիոնալ գործիքները կարող են պարզեցնել թեստավորման գործընթացը, ավելի հեշտ և ծախսարդյունավետ դարձնել թեստավորման ավտոմատացումը և օգնել QA առաջատարներին կառավարել թեստավորման և փաստաթղթավորման գործընթացը:
Կան բազմաթիվ անվճար ոչ ֆունկցիոնալ փորձարկման գործիքներ, որոնք հասանելի են առցանց, ինչպես նաև որոշ գործիքներ, որոնց թարմացման համար կարող եք վճարել ամսական վճար:
1. ZAPTEST ԱՆՎՃԱՐ հրատարակություն
ZAPTEST-ը ծրագրային ապահովման փորձարկման հանրաճանաչ գործիք է, որը թույլ է տալիս օգտատերերին արագ և հեշտությամբ իրականացնել ինչպես ֆունկցիոնալ, այնպես էլ ոչ ֆունկցիոնալ ծրագրային փորձարկումներ: Դուք կարող եք օգտագործել ZAPTEST-ը՝ ծրագրային ապահովման թեստերը ավտոմատացնելու և RPA տեխնոլոգիան օգտագործելու համար՝ ոչ ֆունկցիոնալ փորձարկումներում տարբեր գործառույթներ և պայմաններ ընդօրինակելու համար:
ZAPTEST ԱՆՎՃԱՐ հրատարակությունը ձեռնարկության հրատարակության պարզապես կրճատված տարբերակն է, որն առաջարկում է նույն գործառույթներից շատերը ավելի փոքր մասշտաբով: Դուք կարող եք աջակցություն փնտրել ZAPTEST ֆորումում և կատարողականության թեստեր իրականացնել անսահմանափակ վիրտուալ օգտվողների հետ:
2. Ափիում
Appium-ը ծրագրային ապահովման փորձարկման անվճար գործիք է, որն առավել հարմար է բջջային հավելվածների փորձարկման համար տարբեր հարթակներում, ներառյալ iOS և Android սարքերը: Appium-ն օգտատերերին առաջարկում է մեծ ճկունություն՝ մշակելու իրենց փորձարկման շրջանակները և ռազմավարությունները՝ միաժամանակ օգտվելով Appium-ի առաջարկած ավտոմատացման հնարավորություններից:
3. Լոադիում
Loadium-ը ոչ ֆունկցիոնալ փորձարկման գործիք է, որը լավագույնս օգտագործվում է կատարողականության թեստավորում և բեռնվածության փորձարկում իրականացնելու համար, երկու տեսակի ոչ ֆունկցիոնալ թեստավորում, որոնք շատ ավելի հեշտ է իրականացնել ավտոմատացման գործիքների միջոցով:
Loadium-ը թույլ է տալիս օգտվողներին իրականացնել լայնածավալ բեռնման թեստեր և առաջարկում է անհատական լուծումներ, որպեսզի կարողանաք ձեր թեստերը հարմարեցնել ձեր ծրագրային նպատակներին:
Կարող եք անվճար փորձել Loadium-ը կամ վճարել՝ հավելվածի ամբողջական տարբերակը ներբեռնելու համար:
4. Օբկիո
Obkio-ն ծրագրային ապահովման փորձարկման գործիք է, որն օգնում է QA առաջատարներին և թեստավորման մենեջերներին առաջնահերթություն տալ և դասակարգել խնդիրները՝ հիմնվելով դրանց լուրջության վրա: Obkio-ն կարող է հայտնաբերել խնդիրները նախքան օգտատերերը, օգտատերերին առաջարկում է խելացի ծանուցումներ և կարող է օգնել պարզել, թե որտեղ է խնդիրը:
Obkio-ն ոչ միայն ոչ ֆունկցիոնալ թեստավորման համար է, այլ դա շատ օգտակար անվճար փորձարկման գործիք է, որը կարող է օգտագործվել թեստավորման կյանքի ցիկլի բոլոր փուլերում:
5. SonarQube
SonarQube-ը բաց կոդով անվտանգության փորձարկման գործիք է, որը կարող է ավտոմատ կերպով վերլուծել կոդը՝ վրիպակներ և խոցելիություններ հայտնաբերելու համար: Java-ով գրված, դուք կարող եք օգտագործել SonarQube կոդը վերլուծելու ավելի քան քսան տարբեր ծրագրավորման լեզուներով, և համակարգի մաքուր ինտերֆեյսը հեշտացնում է այն խնդիրները, որոնք կարող են ապագայում անվտանգության խոցելիության պատճառ դառնալ:
6. Ցունգ
Tsung-ը ևս մեկ ոչ ֆունկցիոնալ փորձարկման գործիք է, որն իդեալական է, եթե ցանկանում եք ավտոմատացնել ծանրաբեռնվածության և սթրեսի թեստը, բայց չզբաղվել Loadium-ի անվճար տարբերակով:
Tsung-ը բաց կոդով գործիք է, որը թույլ է տալիս օգտատերերին մեծ ծավալի բեռնվածության թեստավորում իրականացնել բազմաթիվ արձանագրությունների և սերվերների միջոցով, ներառյալ HTTP և SOAP:
Tsung-ը լիովին անվճար է և կարող է օգնել փորձարկողներին համոզվել, որ ծրագրաշարը, որի վրա նրանք աշխատում են, առաջարկում է բարձր արդյունավետության մակարդակներ մի շարք դժվարին պայմաններում:
7. Սիկուլի
Sikuli-ն ևս մեկ ծրագիր է, որն օգտագործում է ռոբոտային գործընթացների ավտոմատացում ՝ թեստավորման գործընթացը ավտոմատացնելու համար: Հավելվածը կարող է ավտոմատացնել այն ամենը, ինչ կարելի է տեսնել էկրանին: Դուք կարող եք օգտագործել Sikuli-ն ոչ վեբ հավելվածները փորձարկելու և սխալները արագ վերարտադրելու համար:
Ոչ ֆունկցիոնալ թեստավորման ստուգաթերթ, խորհուրդներ և հնարքներ
Նախքան ոչ ֆունկցիոնալ փորձարկումներ սկսելը, ստուգեք, որ դուք ունեք այն ամենը, ինչ ձեզ անհրաժեշտ է նախապատրաստված միջավայրում մանրակրկիտ ոչ ֆունկցիոնալ թեստեր իրականացնելու համար:
Հետևեք ստորև բերված ստուգաթերթին՝ խորհուրդների և հնարքների համար, նախքան ոչ ֆունկցիոնալ թեստավորում սկսելը:
1. Աշխատեք ըստ ժամանակացույցի
Անկախ նրանից, թե դուք այն ներառում եք ձեր թեստային պլանում կամ ստեղծում եք դրա համար առանձին փաստաթուղթ, ձեր ծրագրային ապահովման թեստերը կառուցեք թեստային ժամանակացույցի շուրջ:
Եթե գտնում եք ավելի շատ սխալներ և թերություններ, քան սպասում եք, երբեմն կարող եք շեղվել ժամանակացույցից, սակայն սկսելու ժամանակացույց ունենալը կարող է օգնել փորձարկողներին առաջնորդել և դրդել նրանց արդյունավետ աշխատել, հատկապես, երբ ժամանակատար ձեռքով թեստեր են իրականացնում:
2. Բացահայտեք ձեր թեստային թիմը
Պատասխանատվություններ փոխանցելը և ձեր թեստային թիմի անդամներին պաշտոնական դերեր և կոչումներ շնորհելը կարող է օգնել համոզվել, որ թեստավորման գործընթացը հարթ է ընթանում:
Հստակորեն փոխանցեք դերերն ու պարտականությունները ձեր թիմի ներսում՝ նախքան թեստավորումը սկսելը, և նշանակեք տարբեր թեստավորողներ, ովքեր պատասխանատու են ոչ ֆունկցիոնալ թեստավորման տարբեր ասպեկտների համար, որպեսզի յուրաքանչյուրը պատասխանատվություն կրի իր առաջադրանքների համար:
3. Փորձարկումից առաջ ընտրեք գործիքներ և տեխնոլոգիաներ
Եթե դուք որոշեք աշխատել որոշակի գործիքների և տեխնոլոգիաների հետ միայն ոչ ֆունկցիոնալ փորձարկում սկսելուց հետո, դա կարող է խանգարել թեստավորման գործընթացը և շփոթություն առաջացնել փորձարկողների շրջանում:
Փոխարենը, նախօրոք կատարեք ձեր հետազոտությունը և որոշեք, թե արդյոք կան գործիքներ, որոնք ցանկանում եք օգտագործել նախքան փորձարկումը սկսելը: Սա հեշտացնում է այս գործիքները թեստային պլանի մեջ ներառելը և ձեր փորձարկողներին սովորեցնել դրանք օգտագործել նախքան փորձարկումը սկսելը:
4. Միշտ ձեռք բերեք թեստերի և փաստաթղթերի պաշտոնական գրանցում
Թեստավորումը որակի ապահովման գործընթաց է, և ձեր կողմից իրականացվող թեստերի արժեքը առավելագույնի հասցնելու լավագույն միջոցը ձեր պլանավորած և կատարած թեստերի հիմնական ՈԱ կատարելն է:
Ներդրեք պարզ արձանագրություններ, որոնք պահանջում են փորձարկողներից պահանջել QA առաջատարներին և մենեջերներին վերանայել և ստորագրել փորձարկման պլանները և թեստային հաշվետվությունները՝ նախքան հաջորդ փուլ անցնելը:
Սա մեծապես մեծացնում է փորձարկման սխալները վաղաժամ հայտնաբերելու և շտկելու հնարավորությունը:
7 սխալ և որոգայթ, որոնցից պետք է խուսափել ոչ ֆունկցիոնալ թեստեր իրականացնելիս
Եթե դուք նոր եք ոչ ֆունկցիոնալ թեստավորման մեջ, կարող է հեշտ լինել որոշ սովորական սխալներ թույլ տալ, որոնց մեջ հաճախ են ընկնում թեստավորողները և ՈԱ մասնագետները:
Ոչ ֆունկցիոնալ թեստավորումը բարդ աշխատանք է, որը ներառում է ծրագրային ապահովման ստեղծման դիտարկումը բոլոր տեսանկյուններից և տեսանկյուններից:
Ստորև բերված է մի քանի ամենատարածված թակարդների ցանկը, որոնք փորձարկողները թույլ են տալիս ոչ ֆունկցիոնալ թեստավորում կատարելիս:
1. Չպլանավորել
Եթե դուք նոր եք ոչ ֆունկցիոնալ թեստավորման մեջ, կարող եք մտածել, որ կարող եք ուղղակի սուզվել փորձարկման փուլ՝ առանց նախապես մանրակրկիտ թեստային պլան ստեղծելու:
Որոշ թեստավորման թիմեր կարող են հավաքել թերի փորձարկման փաստաթղթեր կամ թեստային պլանի մակերեսային ամփոփագրեր, որոնք համարժեքորեն չեն ուրվագծում այն գործողությունները, որոնք փորձարկողները պետք է կատարեն ոչ ֆունկցիոնալ թեստավորման ժամանակ:
2. Թեստավորում սխալ կառավարման
Խնդիրներ կարող են առաջանալ, եթե թեստերը սխալ կառավարվեն թեստավորման գործընթացի ցանկացած փուլում: Անբավարար կառավարումը կարող է նշանակել, որ փորձարկողները չունեն համապատասխան ռեսուրսներ՝ մանրակրկիտ փորձարկումն իրականացնելու համար, կամ որ թեստավորողներին չի տրվում բավարար ժամանակ՝ կառուցման յուրաքանչյուր կողմը փորձարկելու համար:
Թեստի մենեջերները պետք է կարողանան դասեր քաղել իրենց թույլ տված սխալներից և զարգացնել ավելի արդյունավետ փորձարկման պլաններ՝ առաջ գնալով:
3. Վատ հաղորդակցություն
Վատ հաղորդակցությունը կարող է բազմաթիվ խնդիրներ առաջացնել թեստավորման գործընթացում, մասնավորապես՝ ոչ ֆունկցիոնալ թեստավորման ընթացքում:
Սա կարող է նշանակել վատ հաղորդակցություն թեստավորման թիմի ներսում կամ վատ հաղորդակցություն փորձարկողների, մշակողների և շահագրգիռ կողմերի միջև:
Սա հաճախ տեղի է ունենում, երբ փորձարկողները պատշաճ կերպով չեն պահպանում թեստային փաստաթղթերը կամ կանոնավոր կերպով չեն շփվում այլ բաժինների հետ թեստավորման գործընթացի ընթացքում:
4. Անտեսելով մշակողներին
Փորձարկողներն ու մշակողները սովորաբար աշխատում են միմյանցից բավականին առանձին, բայց թեստավորման թիմերը, որոնք սերտորեն համագործակցում են ծրագրավորողների հետ, կարող են օգտվել լրացուցիչ գիտելիքներից, թե ինչպես է աշխատում ծրագրաշարը և ինչպես են տարբեր մոդուլները փոխազդում միմյանց հետ:
Թեստավորման գործընթացում ծրագրավորողներին ներգրավելը կամ հիմնական ժամանակներում ծրագրավորողներից հետադարձ կապ խնդրելը կարող է օգնել թեստավորման թիմերին ավելի արդյունավետ և մանրակրկիտ փորձարկման պլաններ կազմել:
5. Փորձարկման նպատակը
Շատ փորձարկողներ դեռ կարծում են, որ թեստավորման նպատակն է ստուգել, որ ծրագրաշարը աշխատում է կամ շահագրգիռ կողմերին և ներդրողներին ցույց տալ, որ ծրագրաշարն աշխատում է:
Փոխարենը, փորձարկողները պետք է մոտենան թեստավորմանը այն վերաբերմունքով, որ թեստավորման նպատակը թերություններ փնտրելն է:
Թերությունները չգտնող փորձարկողները կարող են ուրախ լինել, որ իրենց կողմից փորձարկվող ծրագրակազմը զերծ է սխալներից, միայն այն դեպքում, եթե նրանք գոհ լինեն, որ ամենուր փնտրել են, որ թերություններ կարող են հայտնաբերվել:
6. Ձեռնարկ ընդդեմ ավտոմատացման սխալներ
Կարևոր է ժամանակ հատկացնել՝ հաշվի առնելով, թե արդյոք ձեռքով թեստավորումն ավելի լավն է, թե ավտոմատացված թեստավորումը ձեր կողմից իրականացվող յուրաքանչյուր տեսակի փորձարկման համար:
Ավտոմատացված փորձարկման մեթոդները չափազանց հարմար են ոչ ֆունկցիոնալ թեստավորման գրեթե բոլոր ձևերին, և ֆունկցիոնալ թեստավորման համար օգտագործվող թեստավորման թիմերը կարող են սխալվել՝ ենթադրելով, որ նրանք կարող են նույնքան հեշտությամբ ձեռքով փորձարկել ոչ ֆունկցիոնալ առանձնահատկությունները:
7. Սխալ փորձարկման գործիքների օգտագործումը
Հեշտ է ընտրել սխալ փորձարկման գործիքներ և տեխնոլոգիաներ, նախքան ոչ ֆունկցիոնալ թեստավորում սկսելը, հատկապես, եթե փորձարկման թիմերը սովոր են ձեռքով թեստավորում իրականացնել և սովոր չեն թեստավորման գործիքներ օգտագործել:
Նախապես ուսումնասիրեք փորձարկման ոչ ֆունկցիոնալ մեթոդները, որոնք ցանկանում եք օգտագործել և ընտրեք ծրագրային գործիքներ և ավտոմատացման գործիքներ, որոնք համապատասխանում են ձեր նախագծի հատուկ պահանջներին:
Եզրակացություն
Ոչ ֆունկցիոնալ փորձարկումը փորձարկման գործընթացում կարևոր քայլ է, որը փորձարկողներին հնարավորություն է տալիս ստուգել, թե որքանով է համակարգը լավ աշխատում և որքանով է այն համապատասխանում ոչ գործառական պահանջներին, ինչպիսիք են բեռնման ժամանակը, հզորությունը և անվտանգության պահպանումը:
Ոչ ֆունկցիոնալ թեստավորում իրականացնելու բազմաթիվ տարբեր եղանակներ կան, սակայն ժամանակակից ավտոմատացման գործիքները հեշտացնում են թեստի ծածկույթն ու ճշգրտությունը առավելագույնի հասցնելը՝ առանց ձեր արդյունքների որակը խախտելու:
ՀՏՀ և ռեսուրսներ
Եթե ցանկանում եք ավելին իմանալ ոչ ֆունկցիոնալ թեստավորման մասին, կան բազմաթիվ ՀՏՀ և ռեսուրսներ, որոնք հասանելի են առցանց:
Զննեք մեր սիրած առցանց ոչ ֆունկցիոնալ թեստավորման ռեսուրսները ստորև կամ կարդացեք ոչ ֆունկցիոնալ թեստավորման վերաբերյալ ամենահաճախ տրվող հարցերի պատասխանները:
1. Լավագույն դասընթացներ ոչ ֆունկցիոնալ թեստավորման վերաբերյալ
Կան բազմաթիվ առցանց դասընթացներ, որոնք կարող են օգնել ձեզ ընդլայնել ձեր գիտելիքները ոչ ֆունկցիոնալ թեստավորման մեթոդների և մոտեցումների վերաբերյալ:
Այս դասընթացներից մի քանիսը հասանելի են անվճար, իսկ մյուսները կարող են վկայական կամ որակավորում առաջարկել վճարի դիմաց: Եթե ցանկանում եք հավատարմագրված դասընթաց անցնել, կարող եք հարցնել ձեր գործատուին, արդյոք նա կհովանավորի ձեզ և կհոգա ուսման վարձը:
Ոչ ֆունկցիոնալ թեստավորման լավագույն դասընթացներից մի քանիսը ներառում են.
- TSG. Ոչ ֆունկցիոնալ ուսուցման 2-օրյա դասընթաց
- Udemy: Ամբողջական 2023 ծրագրային ապահովման փորձարկման Bootcamp
- Edx: Ծրագրային ապահովման փորձարկման մասնագիտական վկայական
- Ուսումնական՝ Performance Test Automation 101
2. Որո՞նք են հարցազրույցի լավագույն 5 հարցերը ոչ ֆունկցիոնալ թեստավորման վերաբերյալ:
Եթե դուք պատրաստվում եք աշխատանքի հարցազրույցի՝ ծրագրային ապահովման թեստավորման մեջ աշխատելու համար, ձեր հարցազրուցավարը կարող է ձեզ հարցեր տալ ոչ ֆունկցիոնալ թեստավորման մասին՝ համոզվելու համար, որ հասկանում եք, թե ինչպես է աշխատում ծրագրային ապահովման փորձարկման այս կարևոր փուլը: Պատրաստվեք ձեր հարցազրույցին՝ նախօրոք պատրաստելով ընդհանուր հարցազրույցի հարցերի արդյունավետ պատասխանները:
● Ինչպե՞ս կարող են այն մոտեցումներն ու մեթոդները, որոնք դուք օգտագործում եք ոչ ֆունկցիոնալ թեստավորման ժամանակ, տարբերվել այն մոտեցումներից, որոնք դուք օգտագործում եք ֆունկցիոնալ թեստավորման ժամանակ:
● Ինչպե՞ս է ոչ ֆունկցիոնալ թեստավորումը տարբերվում ֆունկցիոնալ թեստավորումից:
● Ի՞նչ տարբեր տեսակի ոչ ֆունկցիոնալ փորձարկումներ կան:
● Ինչպե՞ս եք առաջնահերթություն տալիս ֆունկցիոնալ թեստերին և փորձարկման դեպքերին:
● Ծրագրային ապահովման թեստավորման ո՞ր փուլում է սովորաբար իրականացվում ֆունկցիոնալ թեստավորումը:
3. YouTube-ի լավագույն ձեռնարկները ոչ ֆունկցիոնալ թեստավորման վերաբերյալ
Եթե նախընտրում եք սովորել տեսանյութեր դիտելով, կարող եք գտնել ոչ ֆունկցիոնալ թեստավորման վերաբերյալ YouTube ձեռնարկները, որոնք օգտակար միջոց են այս տեսակի ծրագրաշարի փորձարկման մասին ավելին իմանալու համար:
Ստորև բերված են ծրագրային ապահովման փորձարկման YouTube-ի լավագույն ձեռնարկներից մի քանիսը, որոնք այսօր հասանելի են:
Ի՞նչ է ոչ ֆունկցիոնալ ծրագրաշարի փորձարկումը: Ծրագրային ապահովման փորձարկման ձեռնարկ
Ծրագրային ապահովման փորձարկման օգնություն. ոչ ֆունկցիոնալ փորձարկում
Ոչ ֆունկցիոնալ թեստավորում ծրագրային ապահովման փորձարկման մեջ
Այցելեք W3Schools
Ֆունկցիոնալ և ոչ ֆունկցիոնալ փորձարկում
4. Ինչպես պահպանել ոչ ֆունկցիոնալ թեստերը
Թեստի պատշաճ սպասարկումն ապահովում է, որ ծրագրային ապահովման թեստերը կարող են կրկնվել՝ առանց փորձարկման արդյունքների որակի վտանգի:
Պահպանելով ոչ ֆունկցիոնալ թեստերը, դուք կարող եք համոզվել, որ մշակման գործընթացի յուրաքանչյուր փուլում թեստավորումը համարժեք է, և որ ձեր թեստերը միշտ թարմացվում են անընդհատ փոփոխվող կոդի համաձայն:
Դուք կարող եք պահպանել ոչ ֆունկցիոնալ թեստեր՝ հետևելով ստորև ներկայացված մեր խորհուրդներին:
● Հստակ շփվեք թեստավորման թիմի հետ՝ թեստային դեպքեր ստեղծելիս և փաստաթղթեր գրելիս
● Միշտ հետևեք թեստային դիզայնի լավագույն փորձին
● Վերագնահատել թեստավորման արձանագրությունները թեստավորման գործընթացի տարբեր փուլերում
● Թարմացրեք փոփոխությունները ձեր թեստի ընթացքում
Ընթացիկ թեստերում փոփոխություններ կատարելիս հաշվի առեք ապագա նախագծերը
5. Ոչ ֆունկցիոնալ թեստավորումը սև արկղ է, թե՞ սպիտակ տուփ:
Ոչ ֆունկցիոնալ թեստավորումը սև արկղի փորձարկման տեսակ է, ինչը նշանակում է, որ փորձարկողները մտահոգված են ոչ թե համակարգի ներքին աշխատանքով, այլ միայն արտաքին ելքերով:
Սա հակադրվում է սպիտակ տուփի փորձարկմանը, որը ստուգում է համակարգի ներքին աշխատանքի եղանակը: Սպիտակ տուփի փորձարկման օրինակները ներառում են միավորի փորձարկում և ինտեգրման փորձարկում:
Ֆունկցիոնալ և ոչ ֆունկցիոնալ պահանջների թեստավորումը սև արկղի փորձարկման օրինակներ են: Սա նշանակում է, որ թեստավորողները չեն պահանջում առաջադեմ տեխնիկական հմտություններ կամ համակարգչային ծրագրավորման գիտելիքներ՝ սև տուփի թեստավորում իրականացնելու համար, ինչպես նաև պետք չէ սովորել, թե ինչպես կիրառել այն համակարգերը, որոնք իրենք են փորձարկում: