Հոդվածներ

Ի՞նչ է Software Testing-ը, ի՞նչ է նշանակում փորձարկել ծրագրակազմը

Ծրագրային ապահովման փորձարկումը գործընթացների մի շարք է` համակարգիչների համար գրված ծրագրաշարի ամբողջականությունն ու որակը ուսումնասիրելու, գնահատելու և պարզելու համար: Ապահովում է ծրագրային ապահովման արտադրանքի համապատասխանությունը կարգավորող, բիզնես, տեխնիկական, ֆունկցիոնալ և օգտագործողի պահանջներին:

Ծրագրային ապահովման փորձարկումը կամ ծրագրային ապահովման փորձարկումը հայտնի է նաև որպես կիրառական փորձարկում:

Ծրագրային ապահովման փորձարկումը հիմնականում մեծ գործընթաց է, որը բաղկացած է մի քանի փոխկապակցված գործընթացներից: Ծրագրային ապահովման փորձարկման հիմնական նպատակն է չափել ծրագրաշարի ամբողջականությունը և դրա ամբողջականությունը՝ հիմնարար պահանջների տեսանկյունից: Ծրագրային ապահովման փորձարկումը ներառում է ծրագրակազմի ուսումնասիրություն և փորձարկում տարբեր փորձարկման գործընթացների միջոցով: Այս գործընթացների նպատակները կարող են ներառել.

Ծրագրային ապահովման ամբողջականության ստուգում ֆունկցիոնալ/բիզնեսի պահանջներին համապատասխան
Սխալների/տեխնիկական սխալների հայտնաբերում և ծրագրաշարի անսխալ լինելու ապահովում
Օգտագործելիության, կատարողականի, անվտանգության, տեղայնացման, համատեղելիության և տեղադրման գնահատում
Փորձարկված ծրագրակազմը պետք է անցնի բոլոր թեստերը, որպեսզի լինի ամբողջական կամ պիտանի օգտագործման համար: Ծրագրային ապահովման փորձարկման մեթոդների որոշ տեսակներ ներառում են սպիտակ տուփի փորձարկում, սև տուփի փորձարկում և մոխրագույն տուփի փորձարկում: Ավելին, ծրագրաշարը կարող է փորձարկվել որպես ամբողջություն՝ բաղադրիչներով/միավորներով կամ կենդանի համակարգում:

Սև տուփի փորձարկում

Black Box Testing-ը ծրագրային ապահովման փորձարկման տեխնիկա է, որը կենտրոնանում է ծրագրաշարի ֆունկցիոնալության վերլուծության վրա՝ կապված համակարգի ներքին աշխատանքի հետ: Black Box Testing-ը մշակվել է որպես հաճախորդի պահանջների, բնութագրերի և բարձր մակարդակի նախագծման ռազմավարությունների վերլուծության մեթոդ:

Black Box Testing Tester-ը ընտրում է վավեր և անվավեր կոդերի կատարման և մուտքագրման պայմաններ և ստուգում է վավեր ելքային պատասխանների առկայությունը:

Black Box Testing-ը հայտնի է նաև որպես ֆունկցիոնալ թեստավորում կամ փակ տուփի թեստավորում:

Որոնման համակարգը սև տուփի փորձարկման ենթակա հավելվածի պարզ օրինակ է: Որոնման համակարգի օգտատերը տեքստ է մուտքագրում վեբ բրաուզերի որոնման տողում: Որոնողական համակարգը այնուհետև գտնում և առբերում է օգտվողի տվյալների արդյունքները (ելք):

Black Box Testing-ի առավելությունները ներառում են.

  • Պարզություն. Հեշտացնում է բարձր մակարդակի նախագծերի և բարդ հավելվածների փորձարկումը
  • Պահպանեք ռեսուրսները. փորձարկողները կենտրոնանում են ծրագրաշարի ֆունկցիոնալության վրա:
  • Փորձարկման դեպքեր. Կենտրոնացեք ծրագրային ապահովման ֆունկցիոնալության վրա՝ հեշտացնելու փորձարկման դեպքերի արագ զարգացումը:
  • Ապահովում է ճկունություն. ծրագրավորման հատուկ գիտելիքներ չեն պահանջվում:

Black Box Testing-ն ունի նաև որոշ թերություններ, ինչպիսիք են.

  • Փորձնական դեպքի/սկրիպտի ձևավորումը և սպասարկումը կարող են դժվար լինել, քանի որ Black Box Testing գործիքները կախված են հայտնի մուտքերից:
  • Գրաֆիկական ինտերֆեյսի (GUI) հետ փոխգործակցությունը կարող է փչացնել թեստային սցենարները:
  • Թեստերը վերաբերում են միայն հավելվածի գործառույթներին։

Սպիտակ տուփի փորձարկում

Սպիտակ տուփի փորձարկման ժամանակ կոդը գործարկվում է նախապես ընտրված մուտքային արժեքներով՝ նախապես ընտրված ելքային արժեքները վավերացնելու համար: White-box-ի փորձարկումը հաճախ ներառում է կոճակի կոդ գրելը (կոդի մի հատված, որն օգտագործվում է որոշակի հատկանիշը փոխարինելու համար: Անավարտը կարող է նմանակել գոյություն ունեցող կոդի վարքագիծը, օրինակ՝ հեռավոր մեքենայի վրա կատարվող ընթացակարգը:) և նաև դրայվերներ:

Սպիտակ տուփի փորձարկման առավելությունները ներառում են.

  • Հնարավորություն է տալիս փորձարկման դեպքերի կրկնակի օգտագործումը և ապահովում ավելի մեծ կայունություն
  • Հեշտացնում է կոդի օպտիմալացումը
  • Հեշտացնում է զարգացման վաղ փուլերում թաքնված սխալների վայրերի հայտնաբերումը
  • Հեշտացնում է կիրառման արդյունավետ փորձարկումը
  • Հեռացրեք կոդերի ավելորդ տողերը


Թերությունները ներառում են.

  • Պահանջվում է փորձառու փորձարկող՝ ներքին կառուցվածքի իմացությամբ
  • Ժամանակ է պահանջում
  • Բարձր ծախսեր
  • Բիթ-կոդի վավերացումը դժվար է:
  • Սպիտակ տուփի թեստավորումը ներառում է միավորի թեստավորում, ինտեգրման թեստավորում և ռեգրեսիոն փորձարկում:

Միավորի փորձարկում

Միավոր փորձարկումը Ծրագրային ապահովման մշակման կյանքի ցիկլի (SDLC) բաղադրիչն է, որտեղ համապարփակ փորձարկման ընթացակարգը անհատապես կիրառվում է ծրագրային ապահովման ծրագրի ամենափոքր մասերում՝ ցանկալի համապատասխանության կամ վարքագծի համար:


Միավոր թեստը որակի չափման և գնահատման ընթացակարգ է, որը կիրառվում է ձեռնարկության ծրագրային ապահովման մշակման գործունեության մեծ մասում: Ընդհանուր առմամբ, միավորի թեստը գնահատում է, թե որքանով է ծրագրաշարի կոդը համապատասխանում ծրագրաշարի/հավելվածի/ծրագրի ընդհանուր նպատակին և ինչպես է դրա համապատասխանությունն ազդում այլ փոքր միավորների վրա: Միավորի թեստերը կարող են կատարվել ձեռքով` մեկ կամ մի քանի մշակողների կողմից կամ ավտոմատացված ծրագրային լուծման միջոցով:

Փորձարկման ընթացքում յուրաքանչյուր միավոր մեկուսացված է հիմնական ծրագրից կամ միջերեսից: Միավորի թեստերը սովորաբար կատարվում են մշակումից հետո և նախքան տեղակայումը, այդպիսով հեշտացնելով ինտեգրումը և խնդիրների վաղ հայտնաբերումը: Միավորի չափը կամ շրջանակը տատանվում է կախված ծրագրավորման լեզվից, ծրագրային ապահովման կիրառությունից և թեստի նպատակներից:

Ֆունկցիոնալ թեստ

Ֆունկցիոնալ թեստավորումը փորձարկման գործընթաց է, որն օգտագործվում է ծրագրային ապահովման մշակման շրջանակներում, որտեղ ծրագրային ապահովումը փորձարկվում է՝ համոզվելու համար, որ այն համապատասխանում է բոլոր պահանջներին: Սա ծրագրաշարը ստուգելու միջոց է՝ համոզվելու համար, որ այն ունի բոլոր պահանջվող ֆունկցիոնալությունը, որը նշված է իր ֆունկցիոնալ պահանջներում:


Ֆունկցիոնալ թեստավորումը հիմնականում օգտագործվում է ստուգելու համար, որ ծրագրաշարը ապահովում է նույն արդյունքը, ինչ պահանջվում է վերջնական օգտագործողի կամ բիզնեսի կողմից: Սովորաբար, ֆունկցիոնալ փորձարկումը ներառում է ծրագրային ապահովման յուրաքանչյուր գործառույթի գնահատում և համեմատություն բիզնեսի պահանջների հետ: Ծրագրային ապահովումը փորձարկվում է՝ տալով նրան որոշակի հարակից մուտքեր, որպեսզի ելքը հնարավոր լինի գնահատել՝ տեսնելու, թե ինչպես է այն համապատասխանում, առնչվում կամ տարբերվում է իր հիմնական պահանջներից: Ավելին, ֆունկցիոնալ թեստերը նաև ստուգում են ծրագրաշարի օգտագործելիությունը, օրինակ՝ համոզվելով, որ նավիգացիոն գործառույթներն աշխատում են ըստ պահանջի:

Նորարարության տեղեկագիր
Բաց մի թողեք նորարարության մասին ամենակարևոր նորությունները: Գրանցվեք դրանք էլփոստով ստանալու համար:

Ռեգրեսիայի փորձարկում

Ռեգրեսիոն փորձարկումը ծրագրային ապահովման փորձարկման տեսակ է, որն օգտագործվում է որոշելու համար, թե արդյոք նոր խնդիրները ծրագրային ապահովման փոփոխությունների արդյունք են:

Նախքան փոփոխություն կիրառելը, ծրագիրը փորձարկվում է: Փոփոխությունը կիրառելուց հետո ծրագիրը վերստուգվում է ընտրված տարածքներում՝ պարզելու, թե արդյոք փոփոխությունը ստեղծել է նոր վրիպակներ կամ խնդիրներ, թե իրական փոփոխությունը ծառայել է իր նպատակին:


Ռեգրեսիոն փորձարկումն էական նշանակություն ունի խոշոր ծրագրային հավելվածների համար, քանի որ հաճախ դժվար է իմանալ, թե խնդրի մի մասի փոփոխությունը նոր խնդիր է ստեղծել հավելվածի այլ մասի համար: Օրինակ, բանկային վարկի դիմումի ձևի փոփոխությունը կարող է հանգեցնել ամսական գործարքի հաշվետվության ձախողմանը: Շատ դեպքերում խնդիրները կարող են թվալ կապ չունեն, բայց դրանք իրականում կարող են լինել հավելված մշակողների հիասթափության պատճառ:

Այլ իրավիճակներ, որոնք պահանջում են ռեգրեսիոն փորձարկում, ներառում են պարզել, թե արդյոք որոշակի փոփոխությունները հասնում են սահմանված նպատակին, կամ թեստավորում նոր վտանգների համար, որոնք կապված են խնդիրների հետ, որոնք նորից ի հայտ են գալիս առանց խնդիրների ժամանակաշրջանից հետո:

Ժամանակակից ռեգրեսիոն թեստավորումը հիմնականում իրականացվում է մասնագիտացված առևտրային փորձարկման գործիքների միջոցով, որոնք վերցնում են առկա ծրագրաշարի լուսանկարները, որոնք այնուհետև համեմատվում են որոշակի փոփոխություն կիրառելուց հետո: Մարդկային փորձարկողների համար գրեթե անհնար է կատարել նույն առաջադրանքները նույնքան արդյունավետ, որքան ավտոմատացված ծրագրային ապահովման փորձարկողները: Սա հատկապես ճիշտ է խոշոր և բարդ ծրագրային հավելվածների դեպքում խոշոր ՏՏ միջավայրերում, ինչպիսիք են բանկերը, հիվանդանոցները, արտադրական ընկերությունները և խոշոր մանրածախ առևտուրը:

Սթրեսի փորձարկում

Սթրես թեստավորումը վերաբերում է ծրագրային ապահովման կամ սարքաշարի փորձարկմանը՝ որոշելու, թե արդյոք դրա կատարումը բավարար է ծայրահեղ և անբարենպաստ պայմաններում, ինչը կարող է առաջանալ ցանցի ծանր տրաֆիկի, գործընթացների բեռնման, թերկլոկինգի, գերկլոկավորման և ռեսուրսների օգտագործման առավելագույն պահանջների արդյունքում:

Համակարգերի մեծ մասը մշակվում է նորմալ աշխատանքային պայմաններով: Հետևաբար, նույնիսկ եթե սահմանը գերազանցվի, սխալները աննշան են, եթե համակարգը մշակման ընթացքում ենթարկվի սթրես-թեստավորման:


Սթրեսի թեստն օգտագործվում է հետևյալ համատեքստերում.

  • Ծրագրային ապահովում. Սթրես-թեստավորումն ընդգծում է հասանելիությունը և սխալները չափազանց ծանր բեռների դեպքում՝ ապահովելու համար, որ ծրագրաշարը չի խափանում անբավարար ռեսուրսների պատճառով: Ծրագրային սթրես-թեստավորումը կենտրոնանում է բացահայտված գործարքների վրա՝ գործարքները դադարեցնելու համար, որոնք մեծապես լարվում են թեստավորման ընթացքում, նույնիսկ երբ տվյալների բազան բեռնված չէ: Սթրես-թեստավորման գործընթացը բեռնում է միաժամանակ օգտագործողներին համակարգի նորմալ մակարդակներից դուրս՝ գտնելու համակարգի ամենաթույլ օղակը:
  • Սարքավորում. Սթրես-թեստերը ապահովում են կայունություն նորմալ հաշվողական միջավայրում:
  • Կայքեր. Սթրես թեստերը որոշում են ցանկացած կայքի ֆունկցիոնալության սահմանները:
  • Պրոցեսոր. Փոփոխությունները, ինչպիսիք են գերլարումը, թերլարումը, թերկողպումը և գերբլոկավորումը, ստուգվում են՝ պարզելու համար, թե արդյոք նրանք կարող են ծանր բեռներ վարել՝ գործարկելով պրոցեսորային ինտենսիվ ծրագիր՝ համակարգի խափանումների կամ սառեցման համար ստուգելու համար: CPU սթրես թեստը հայտնի է նաև որպես խոշտանգումների թեստ:

Ավտոմատ թեստեր

Ավտոմատացված թեստավորումը (ծրագրային ապահովման փորձարկման ավտոմատացում) կոդի փորձարկման մոտեցում է, որն օգտագործում է հատուկ ծրագրային գործիքներ, որոնք ավտոմատ կերպով կատարում են թեստերը և այնուհետև համեմատում իրական թեստի արդյունքները ակնկալվող արդյունքների հետ:

Ավտոմատացված թեստավորումը կարևոր դեր է խաղում շարունակական առաքման (CD), շարունակական ինտեգրման (CI), DevOps-ի և DevSecOps-ում: Ավտոմատացված թեստավորման հիմնական առավելությունները ներառում են.

  • Ավտոմատացված թեստավորումը խնայում է ծրագրավորողների ժամանակն ու գումարը՝ թեստավորման գործընթացն ավելի արդյունավետ դարձնելով:
  • Ավտոմատացված թեստերն ավելի արդյունավետ կերպով հայտնաբերում են սխալները, քան ձեռքով:
  • Երբ թեստերը ավտոմատացված են, մի քանի փորձարկման գործիքներ կարող են իրականացվել զուգահեռ:


Ծրագրային ապահովման մշակման ժամանակ հատկապես օգտակար է կառուցման գործընթացի ընթացքում ավտոմատացված թեստեր կատարելը` համոզվելու համար, որ հավելվածը զերծ է կառուցման սխալներից և կատարում է իր նախատեսված գործառույթը:

Ծրագրային ապահովման փորձարկումն ավտոմատացնելու համար ժամանակ հատկացնելը, ի վերջո, կխնայի ծրագրավորողների ժամանակը՝ նվազեցնելով այն ռիսկը, որ ծածկագրի փոփոխությունը կխախտի առկա ֆունկցիոնալությունը:


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

Ծրագրային ապահովման մշակման մեջ օգտագործվող ավտոմատացված թեստերի տեսակները
  • Միավորի թեստ. Ստուգեք մեկ ցածր մակարդակի ծրագիր մեկուսացված միջավայրում, նախքան ստուգեք դրա ինտեգրումը այլ միավորների հետ:
  • Ինտեգրման փորձարկում. միավորի թեստերը և կիրառական այլ բաղադրիչները փորձարկվում են որպես համակցված միավոր:
  • Ֆունկցիոնալ թեստեր. Ստուգեք, արդյոք ծրագրային ապահովման համակարգը իրեն պահում է այնպես, ինչպես պետք է:
  • Կատարման փորձարկում. Գնահատեք կիրառման ամրությունը սպասվածից բարձր բեռների դեպքում: Կատարողական թեստերը հաճախ բացահայտում են խցանումները:
  • Smoke Test. Որոշում է, թե արդյոք կառուցվածքը բավականաչափ կայուն է հետագա փորձարկումը շարունակելու համար:
  • Բրաուզերի փորձարկում. Ստուգեք, որ ծրագրաշարի բաղադրիչները համատեղելի են տարբեր բրաուզերների հետ:

Ձեռքով փորձարկումը դեռևս կատարվում է մշակման ընթացքում տարբեր ժամանակներում, բայց դա հիմնականում արվում է մշակողների կամ ապարատային ինժեներների կողմից՝ արագ տեսնելու համար, թե արդյոք իրենց կատարած փոփոխությունները ունեցել են ցանկալի ազդեցություն:

Ercole Palmeri

Նորարարության տեղեկագիր
Բաց մի թողեք նորարարության մասին ամենակարևոր նորությունները: Գրանցվեք դրանք էլփոստով ստանալու համար:

Վերջին հոդվածները

Մեծ Բրիտանիայի հակամենաշնորհային կարգավորիչը բարձրացնում է BigTech-ի ահազանգը GenAI-ի վերաբերյալ

Մեծ Բրիտանիայի CMA-ն նախազգուշացում է տարածել արհեստական ​​ինտելեկտի շուկայում Big Tech-ի վարքագծի վերաբերյալ: Այնտեղ…

18 Ապրիլ 2024

Casa Green. էներգետիկ հեղափոխություն կայուն ապագայի համար Իտալիայում

Շենքերի էներգաարդյունավետության բարձրացման նպատակով Եվրոպական միության կողմից ձևակերպված «Քեյս Գրին» հրամանագիրը իր օրենսդրական գործընթացն ավարտել է…

18 Ապրիլ 2024

Իտալիայում էլեկտրոնային առևտուրը +27% է՝ համաձայն Casaleggio Associati-ի նոր զեկույցի

Ներկայացվել է Casaleggio Associati-ի տարեկան զեկույցը Իտալիայում էլեկտրոնային առևտրի վերաբերյալ: «AI-Commerce. էլեկտրոնային առևտրի սահմանները արհեստական ​​ինտելեկտի հետ» վերնագրով զեկույց…

17 Ապրիլ 2024

Փայլուն գաղափար. Bandalux-ը ներկայացնում է Airpure® վարագույրը, որը մաքրում է օդը

Մշտական ​​տեխնոլոգիական նորարարության և շրջակա միջավայրի և մարդկանց բարեկեցության նկատմամբ նվիրվածության արդյունք: Bandalux-ը ներկայացնում է Airpure® վրանը…

12 Ապրիլ 2024

Կարդացեք նորարարությունը ձեր լեզվով

Նորարարության տեղեկագիր
Բաց մի թողեք նորարարության մասին ամենակարևոր նորությունները: Գրանցվեք դրանք էլփոստով ստանալու համար:

Հետեւեք մեզ