fbpx

«Սա մեքենայական ուսուցման միակ ամենահետաքրքիր կիրառումն է, որ ես երբեւէ տեսել եմ»:

Մայք Քրիգերը՝ Instagram-ի համահիմնադիր:

 

Մայք Կրիգերի խոսքերը հիպերբոլական չեն: Թեեւ ML-ն ունակ է որոշ ուշագրավ բաներ կատարել տվյալների վերլուծության եւ ըմբռնումների տեսանկյունից, GitHub Copilot-ը ամբողջական խաղափոխ է, քանի որ այն պոտենցիալ օգտակարության շնորհիվ կարող է ապահովել արտադրանքի մշակողներին ամբողջ աշխարհում:

Coding copilots եւ Generative AI օգնում են թիմերին բացել հսկայական օգուտներ, ինչպես օրինակ, արագացնել ծրագրային ապահովման զարգացման lifecycycy to toherto աննկարագրելի արագություն: Սակայն, տեխնոլոգիայի ազդեցությունը RPA-ի եւ Ծրագրային ապահովման փորձարկման վրա այս զարմանահրաշ տեխնիկայի երկու ամենահետաքրքիր սահմաններն են:

Այս հոդվածում կանդրադառնանք, թե ինչպես են կոդավորման copilots եւ Generative AI-ն փոխել ծրագրային ապահովման փորձարկման եւ RPA-ի աշխարհները մեր օրերում, նախքան մենք կբացահայտենք դրանց հետագա ազդեցությունը տեխնիկայի վրա:

 

Table of Contents

Copilots եւ գեներացնող AI in

ծրագրային ապահովման մշակումը: A Primer

Copilots and Generative AI in software development- A Primer

Գեներացնող AI եւ կոդավորման կոպիլոտները ծրագրային ապահովման զարգացման լանդշաֆտի հարաբերական նորեկներ են: Նախքան կքննարկենք նրանց ազդեցությունը տարածության վրա, արժե ուշադրություն դարձնել նրանց ծագմանը եւ այն բանին, թե ինչպես են նրանք աշխատում:

 

1.AI-հզորությամբ ավտոկանգեր

 

Լեզվի խոշոր մոդելները (LLM) վերջին մի քանի տարիների ընթացքում զգալիորեն բարելավվել են: Քանի որ տվյալների հավաքածուների չափերը եւ հաշվարկման ուժը աճել են էքսպոնենցիալ կերպով, արտադրանքի որակը բարձրացել է։

Կան բազմաթիվ ուղղաձիգներ, որոնք կարող են օգտակար լինել ԼՂԻՄ-երից: Ամենաշատը գրվածներից են տեքստերի, պատկերների, տեսանյութերի եւ մեդիայի այլ ձեւերի գեներացումը։ Սակայն, թեեւ այս օգտագործման դեպքերը տպավորիչ են, սակայն կան հետեւանքներ զարգացնողների համար, որոնք թերեւս շատ ավելի հետաքրքիր են:

Շուկայում կան մի շարք LLM ավտոկոդերներ: Սակայն GitHub CoPilot-ը թերեւս լավագույնն է եւ ամենահմուտը։ Պատճառի մեծ մասն այն է, որ այն մարզվում է GitHub-ի ռեպոսիտրում: Այն ունի բաց աղբյուրների կոդի միլիոնավոր օրինակներ, լավագույն պրակտիկաներ, կիրառման ճարտարապետություն եւ ավելին սովորելու համար, ինչը թույլ է տալիս ապահովել բարձրորակ եւ բազմակողմանի ելքեր:

 

Ինչպե՞ս են աշխատում կոպիլոտները կոդավորման մեջ: 2.

 

Այն մասին, թե ինչպես է աշխատում copilots- ը, խոսելու ամենահեշտ տարբերակներից մեկն է’ նայելով խաղի առաջատար արտադրանքը’ GitHub CoPilot- ը: Դիմումը հիմնված է OpenAi-ի ChatGPT-3 մոդելի վրա:

Ինչպես ChatGPT-ը եւ նմանատիպ LLM-ները, այնպես էլ CoPilot-ը հիմնված է միլիարդավոր պարամետրերի վրա: ChatGPT-3-ի զարգացման ընթացքում OpenAI-ը սկսեց կառուցել «OpenAI codex» նվիրված կոդավորման ծրագիր։ Microsoft-ը գնեց արտադրանքի բացառիկ հասանելիությունը:

Սակայն այստեղ կարեւորն այն է, որ Microsoft-ն արդեն սեփականացրել է GitHub-ը: Եթե դուք կոդեր եք, դուք կիմանաք GitHub- ի մասին ամեն ինչ: Հիմնականում դա վեբ-based հարթակ է, որը օգտագործվում է ծրագրերի մշակման ծրագրերում տարբերակների վերահսկման եւ համագործակցության համար: Նրանք GitHub գրադարանի վրա վարժեցրին OpenAI codex-ը, որը պարունակում էր միլիոնավոր տողեր բաց աղբյուրների, հանրային կոդի:

CoPilot-ը օգտագործում է Machine Learning-ը՝ կոդի տողերի միջեւ օրինաչափություններ եւ հարաբերություններ գտնելու համար: Ինչպես ChatGPT-ը, այնպես էլ այն դիտարկում է որեւէ բառ կամ տող եւ հաշվարկում է հավանականությունը, թե ինչ պետք է հաջորդի՝ հիմնվելով պատմական տվյալների հսկայական ռեեստրի վրա։

AI կոպիլոտների հզորությունը կայանում է նրանում, որ նրանք կարող են առաջարկել կոդի snippets, երբ մշակողները խմբագրում են: Մտածիր, թե ինչպես է այն կոդավորման համար գերծանրաբեռնված աուտոկոմպլետ։ Երբ կոդերը մտնում են կոդի գիծ, LLM-ը այդ կոդի սկիզբը համեմատում է նախորդ նախագծերի իր հսկայական գրադարանի հետ: Այնտեղից այն ենթադրում է հավանական գծեր եւ կոդի նոր տողեր։

Այստեղ ակնհայտ օգուտներն այն են, որ զարգացնողները կարող են անհավատալի ժամանակ խնայել այս ավտոմատացման միջոցով: Այն բարձրացնում է արդյունավետությունը եւ շատ դեպքերում՝ կոդի ճշգրտությունը։

 

Իսկ ի՞նչ կարելի է ասել գեներացնող AI-ի մասին կոդավորման եւ զարգացման համար:

 

Ինչպես տեսնում ենք CoPilot-ի պատմությունից, Գեներատոր AI-ն եւ Copilots-ը ունեն նման արմատներ: Դրանք երկուսն էլ այն տեխնոլոգիաներն են, որոնք օգտագործում են վիճակագրական հավանականություն, որպեսզի կանխատեսումներ անեն այն մասին, թե ինչ է անհրաժեշտ օգտագործողներին՝ հիմնվելով փակված ինֆորմացիայի վրա։

Սակայն մեծ տարբերություն է copiloting ծրագրային ապահովման եւ գեներացնող AI- ի միջեւ այն է, որ վերջինս գտնվում է արագ հիմնված: Կարճ ասած՝ դա նշանակում է, որ օգտագործողները գրավոր հրահանգների հավաքածու են մուտքագրում մեքենային, եւ այն դուրս է բերում բովանդակությունը։ Ինչպես գիտի ցանկացած մարդ, ով օգտվել է ChatGPT-ից կամ նմանատիպ ծրագրերից, այս ելքը կարող է գալ տեքստի, պատկերի, տեսանյութի կամ կոդի տեսքով:

Այսպիսով, թեեւ այն մեթոդները, որոնք կոդերը օգտագործում են ավտոմատ կոդավորման հասնելու համար, տարբեր են, մենք կարող ենք դրանք տեղադրել AI-ի օժանդակ ավտոմատացված կամ գեներատորային կոդավորման նման անձրեւանոցի տակ:

 

Ծրագրային ապահովման փորձարկման էվոլյուցիան

ծրագրային փորձարկման էվոլյուցիան

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

 

1. Ձեռնարկության փորձաքննություն.

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

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

 

2. Սցենարային թեստավորում.

 

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

 

3. Թեստային ավտոմատացում.

 

Թեստի ավտոմատացումը թեստավորման հաջորդ էվոլյուցիան էր: ZaPTEST-ի նման գործիքները կարողացան կոդեր առաջարկել սցենարային ստուգման բոլոր օգուտները, բայց ոչ կոդային ինտերֆեյսով։ Կրկին, այստեղ նշանակալի օգուտները խնայում էին ժամանակը, վերականգնվող եւ հարմարվողական թեստերը, UI եւ API թեստերը, եւ խաչաձեւ եւ խաչաձեւ սարքերի փորձարկումը:

 

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

4. Տվյալների վրա հիմնված թեստավորում.

 

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

 

5. Գեներացնող AI թեստավորում.

 

Գեներացիոն AI թեստավորումը ծրագրային ապահովման փորձարկման նորագույն նորամուծությունն է: Օգտագործելով LLM-ները QA թիմերը կարող են ստեղծել փորձարկման դեպքեր եւ փորձարկման տվյալներ, որոնք օգնում են արագացնել փորձարկման գործընթացը: Այս փորձարկման դեպքերը շատ ճկուն են եւ խմբագրելի, ինչը օգնում է զարգացնողներին կրկին գործի դնել եւ վերագնել թեստերը եւ զգալիորեն մեծացնում է փորձարկման ծավալները:

 

Կոպիլոտների ներկա օգտագործման եւ

Ծրագրային ապահովման փորձարկման եւ RPA-ի գեներատորային AI

Կոպիլոտների եւ գեներացնող AI-ի ներկա օգտագործումը ծրագրային ապահովման փորձարկման եւ ՌՊԱ

Գեներացնող AI-ն եւ կոպիլոտները մեծ ազդեցություն են ունեցել ծրագրային ապահովման փորձարկման վրա: Սակայն այս գործիքները ոչ թե ուղղակիորեն փոխարինում են կոդերին, այլ օգնում են ավելի մեծացնել ստուգիչ սարքերը։ Կարճ ասած, նրանք օգնում են զարգացնողներին դառնալ ավելի արագ եւ ավելի արդյունավետ եւ շատ դեպքերում բարձրացնել փորձարկման որակը:


Stack Overflow Developer-ի հետազոտությունը 2023թ.-ից
առաջարկում է որոշ մտքեր ծրագրային ապահովման զարգացման համայնքի ներսում AI գործիքների ներկայիս օգտագործման վերաբերյալ: Հարցման ամենահետաքրքիր մասերից մեկը ցույց է տվել, որ թեեւ բոլոր մշակողների մի փոքր ավելի քան կեսը ենթադրում էր, որ իրենք հետաքրքրված են ծրագրային ապահովման ստուգման AI գործիքներով, 3 տոկոսից էլ քիչն ասել է, որ վստահում են այդ գործիքներին: Ավելին, 4-ից միայն 1-ը առաջարկեց, որ ներկայումս օգտագործում են AI գործիքները ծրագրային ապահովման փորձարկման համար:

Հետաքրքիրն այն է, որ այս վիճակագրական տվյալները ցույց են տալիս, որ AI գործիքների օգտագործումը դեռեւս լայն տարածում չունի եւ վաղ որդեգրողները դեռեւս կարող են առավելություն ստանալ:

 

1. Copilot եւ Generative AI օգտագործման դեպքեր ծրագրային ապահովման փորձարկման եւ RPA

 

Copilots եւ Generative AI ազդում են ծրագրային ապահովման զարգացման յուրաքանչյուր ոլորտի վրա: Ահա մի քանի եղանակներ, որոնք տեխնոլոգիան կարող է օգնել ծրագրային ապահովման փորձարկման եւ RPA- ի հարցում:

 

Պահանջարկի վերլուծություն

Պահանջարկի վերլուծությունը ծրագրային ապահովման զարգացման կյանքի ցիկլի առանցքային մասն է: Այս գործընթացը ներառում է հասկանալ մասնակիցների պահանջները եւ տարբեր առանձնահատկությունները, որոնք անհրաժեշտ են ծրագրի մի կտոր կառուցելու համար։ Գեներացնող AI-ն կարող է օգնել թիմերին գաղափարով՝ նոր գաղափարներ եւ հեռանկարներ առաջ բերելով:

 

Թեստերի պլանավորում

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

 

Test case-ի ստեղծում

QA թիմերը կարող են օգտագործել LLM-ները, որպեսզի վերլուծեն կոդը, օգտագործողի պահանջները եւ ծրագրային ապահովման սպեցիֆիկացիաները, որպեսզի հասկանան համակարգի հիմքում ընկած հարաբերությունները: Երբ AI-ն հասկանա ծրագրի մուտքը, ելքերը եւ ակնկալվող վարքագիծը, այն կսկսի կառուցել փորձարկման դեպքեր, որոնք կստուգեն ծրագիրը։

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

 

Գտեք եւ լուծեք խայթոցները

Մեքենայական ուսումնասիրությունը թույլ է տալիս QA մասնագետներին զգալիորեն կրճատել այն ժամանակը, որը անհրաժեշտ է միջատները գտնելու եւ լուծելու համար: Ծրագրային ապահովման փորձարկման ժամանակ շատ bugs հեշտ է գտնել. Սակայն շատ դրվագներում դա ծանր եւ ժամանակատար գործընթաց է: Գեներացնող AI-ն կարող է ստուգումներ կատարել ձեռքի աշխատողների ժամանակի մի փոքր մասում եւ օգնել ընդգծել նույնիսկ ամենախիստ խայթոցները։ Ավելին, այս AI գործիքները կարող են նաեւ լուծել իրենց բնորոշ խայթոցները՝ խնայել անվերջ ժամանակ QA թիմերի համար։

 

UI թեստավորում

Գեներացնող AI գործիքները կարող են նմանակել մի շարք օգտագործողների վարքագիծը եւ փոխազդեցությունը ծրագրային համակարգերի հետ: Այս մեթոդները կարող են զարգացման թիմերին վստահություն ներշնչել, որ իրենց ինտերֆեյսը կարող է լուծել մարդկային համակարգչի օգտագործման լայն շրջանակ։ Ավելին, Generative AI-ն կարող է նաեւ վերլուծել օգտագործողի ինտերֆեյսի տվյալները եւ heatmaps-ները եւ առաջարկություններ անել այն մասին, թե ինչպես բարելավել UI-ն եւ դարձնել այն ավելի հարմար օգտագործողի համար:

 

Կոպիլոտների եւ գեներացնող AI-ի ապագան

ծրագրային ապահովման փորձարկման եւ ՌՊԱ

Կոպիլոտների եւ գեներացնող AI-ի ապագան ծրագրային ապահովման փորձարկման եւ RPA-ում

Մինչ ծրագրային ավտոմատացման մեջ կոպիլոտների եւ Գեներացնող AI-ի ներկայիս օգտագործումն արդեն իսկ ոգեւորիչ է, ապագան ավելի շատ խոստում է տալիս:

Կոպիլոտի եւ Գեներացնող AI-ի ապագան կախված է այն բարելավումներից, որոնք կարելի է կատարել արտադրանքի համար: Պուրդուի համալսարանի վերջերս կատարված ուսումնասիրությունը, որի վերնագիրն է Ո՞վ է ավելի լավ պատասխանում ChatGPT-ի եւ Stack overflow-ի խորը վերլուծությունը ծրագրային ապահովման ինժեներական հարցերի պատասխանները ընդգծում է Գեներացնող AI մոդելների որոշ սահմանափակումներ:

Հետազոտողները ChatGPT-ին տվել են ավելի քան 500 հարց Stack Overflow-ից: AI գործիքը պատասխանել է կեսից ավելի անճշտորեն: Այժմ, կարեւոր է նշել, որ ամենանշանակալից հարցերից մեկը, որ հետազոտողները նշել են, այն էր, որ AI-ն ամենից հաճախ ձախողվում էր, քանի որ ճիշտ չէր հասկանում հարցերը: Այս մանրամասնությունը ընդգծում է գեներացնող AI-ի ներսում արագ ինժեներականության կարեւորությունը։

Բացի այդ, այս տարի եւ՛ Google-ը, եւ՛ Amazon-ը ինքնուրույն թեստեր են անցկացնում, որպեսզի հարցազրույցի ժամանակ դիտարկեն Generative AI գործիքների որակը։ Երկու դեպքում էլ գործիքը կարողացավ բավական լավ պատասխանել թեստային հարցերին, որպեսզի ստանա պաշտոնը, ինչպես հաղորդել է
CNBC
եւ
Business Inside
, համապատասխանաբար:

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

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

 

1. Հիպերաուտոմիա

 

Հիպերաուտոմիան նկարագրում է ձեռնարկության էվոլյուցիայի նպատակակետը, որտեղ ավտոմատացված կլինի յուրաքանչյուր գործընթաց, որը կարող է ավտոմատացվել: Դա արդյունավետության համընդհանուր մոտեցում է, որը խիստ փոխկապակցված է։

Ծրագրային ապահովման զարգացման տեսանկյունից դժվար չէ պատկերացնել կենտրոնացված համակարգ, որը ունի բիզնես գործընթացի պահանջների վերահսկողություն: Համակարգը կհասկանա եւ կբացահայտի կարիքներն ու արդյունավետությունը եւ մշտապես կբացահայտի այն ոլորտները, որոնք անհրաժեշտ է կատարելագործել տեխնոլոգիաների միջոցով:

Երբ բիզնեսները զարգանան, այս կենտրոնացված համակարգերը կօգտագործեն Generative AI-ն, որպեսզի կառուցեն այնպիսի ծրագրեր, որոնք մեխանիկորեն կլուծեն խոչընդոտներն ու անարդյունավետությունները կամ միգուցե որոշակի աշխատանքներ կհասցնեն ինժեներներին ավարտին հասցնել:

 

2. Ծրագրային ճարտարապետությունների նախագծում

 

Բավարար տվյալների շնորհիվ AI գործիքները կարող էին հասկանալ ծրագրային ճարտարապետության լավագույն պրակտիկաները եւ միջոցներ գտնել այդ դիզայնները առավելագույն արդյունավետության համար բարելավելու համար: Մեքենայական ուսումնասիրությունը մարդու մտքի սահմաններից դուրս օրինաչափություններ եւ փոխհարաբերություններ գտնելու մասին է։

Եթե AI գործիքները բավարար գիտելիքներ ունեն տարբեր կիրառությունների մասին, մենք կարող ենք հրահանգել նրանց ծռել նախորդ ճարտարապետությունները նոր պահանջների ուղղությամբ, ինչը հանգեցնում է ավելի արդյունավետ կերտումների կամ նույնիսկ գաղափարների, որոնք այլապես չէին դիտարկվի:

 

3. Ժառանգական համակարգերի արդիականացում

 

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

Ապագայում Generative AI գործիքները կկարողանան այս կոդը փոխակերպել language du jour- ի, ինչը թույլ կտա թիմերին պահել իրենց ժառանգական համակարգերը եւ շատ դեպքերում բարելավել դրանք:

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

 

4. Ցածր կոդի եւ ոչ կոդի զարգացման խթանում

 

Գեներացնող AI գործիքների միջոցով ավտոմատացման ծրագրային ապահովման փորձարկման խնդիրներից մեկը, որը մենք բացահայտեցինք վերեւում, մի իրավիճակ էր, երբ կոդերը չուներ գիտելիք եւ փորձ՝ ստուգելու արդյունքը:

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

 

Գեներացնող AI-ի առավելությունները ծրագրային փորձարկման ժամանակ

ծրագրային փորձարկման ավտոմատացման եւ rpa (ռոբոտաշինության պրոցեսորային ավտոմատացում) արագ ինժեներական

Ծրագրային ապահովման փորձարկման համար Գեներացնող AI-ի օգտագործումը ունի բազմաթիվ առավելություններ, որոնք այն դարձնում են գրավիչ տարբերակ զարգացման թիմերի համար, ովքեր ցանկանում են աշխատել ավելի արագ, բայց առանց որակի հարցում զիջումների գնալու:

 

1. Ծրագրային ապահովման զարգացման կյանքի ցիկլի արագացում

 

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

Գեներացնող AI գործիքները թույլ են տալիս փորձարկման թիմերին կատարել տարբեր SDLC փուլեր՝ սկսած գեներացնող նախատիպերից մինչեւ UI թեստավորում:

 

2. Միջատների ամբողջական հայտնաբերում

 

Ծրագրային ապահովման փորձարկման ժամանակ AI-ի ամենահզոր կիրառություններից մեկը գալիս է մեծ datasets համեմատելու տեխնոլոգիայի ունակությունից: ML գործիքները կարող են վերլուծել տվյալների հսկայական հավաքածուները (ներառյալ կոդը)՝ տեղեկատվության եւ սպասվող մոդելների ռեեստր կառուցելու համար:

Երբ devs commit code- ը, նրանք կարող են համեմատել այն այս մոդելների հետ, որոնք կարող են ընդգծել անսպասելի սցենարներ, կախվածություններ եւ խոցելիություններ, ինչը թույլ է տալիս ավելի լավ կոդ ստեղծել ամբողջ զարգացման ընթացքում:

 

3. Բարելավված թեստային ծածկույթը

 

Մեքենայական ուսուցման գործիքները կառուցվում են տվյալների հսկայական հավաքածուները վերլուծելու եւ հասկանալու համար: Երբ կիրառվում է ծրագրային ապահովման փորձարկման, այն թույլ է տալիս թիմերին մեծացնել իրենց ծրագրային ապահովման փորձարկման ծավալները: Օգուտները ավելին են, քան պարզապես մարդկային աշխատանքը հավասարումից հանելը՝ փող խնայելու համար; AI-ն նաեւ հանգեցնում է շատ ավելի համապարփակ ստուգման, որը թույլ է տալիս բարելավել խայթոցների հայտնաբերումը բարդ սցենարների շարքում։

 

4. Նվազեցվող ծախսեր

 

Համեմատելով QA-ի ինժեներների թիմի աշխատանքի հետ եւ դրանք օգտագործելով կրկնվող եւ ժամանակատար ծրագրային ապահովման փորձարկման առաջադրանքների համար, Generative AI եւ RPA-ն ավելի արագ են եւ ավելի ծախսատար:

Քանի որ ծրագրային ապահովման զարգացման աշխարհն ավելի մրցունակ է դառնում, բյուջեի մեծացման վրա որակյալ, դիմացկուն արտադրանքներ մատակարարելու ուղիներ գտնելով: Գեներացնող AI գործիքները եւ կոպիլոտները կարող են նվազեցնել ապավինությունը ինժեներների վրա եւ թույլ տալ նրանց կատարել արժեքային աշխատանք եւ հանգեցնել ավելի քիչ բլթված շինվածքների։

 

Գեներացնող AI գործիքները գրեք վերջը

human software engineers?

Արդյո՞ք գեներացնող AI գործիքները ցույց են տալիս, որ մարդկային ծրագրային ապահովման ինժեներները վերջ են դնում։

Չնայած իրենց ակնհայտ օգուտներին՝ ավտոմատացման ցանկացած միջոց կարող է անհանգստություն պատճառել աշխատողներին իրենց ապագայի համար։ Թեեւ սա նորմալ ռեակցիա է, Սակայն Generative AI-ի արագությունն ու ծավալն այն է, որ մտահոգություններն ավելի ծավալուն են, քան սովորականից։ Թեեւ այս գործիքները ունեն շատ աշխատատեղեր ավտոմատացնելու կարողություն, նրանք չեն կարող կատարել յուրաքանչյուր առաջադրանք, որ կատարում են ծրագրային ապահովման ինժեներները: Տեխնոլոգիայի կարողությունների, ինչպես նաեւ դրանց սահմանափակումների ըմբռնումը շատ կարեւոր է ինժեներների եւ ղեկավարների համար:

Առաջին բանը, որ մարդիկ պետք է հիշեն, այն է, որ փորձարկման ավտոմատացման գործիքները, որոնք գործում են AI-ի կողմից, արդեն բավականին ժամանակ գոյություն ունեն շուկայում: Սակայն Generative AI-ի օգտագործողին հարմարվողական բնույթը դարձնում է այն ունակ հետագա ճկունության։

Առաջին բաներից մեկը, որ մենք պետք է հաշվի առնենք, այն է, որ Generative AI-ն լավագույնս աշխատում է ելքերի համար, որոնք կարելի է ստուգել: Սա կարեւոր կետ է ։ Այն, թե ինչպես են ԼՀՄ-ները մարզվում, նշանակում է, որ նրանք ամեն ինչ կանեն, որ ձեզ պատասխան տան, նույնիսկ եթե դա ժամանակ առ ժամանակ նշանակում է «հալյուցինացիա» փաստեր, հղումներ եւ փաստարկներ:

Այժմ, եթե դուք ունենաք բավարար գիտելիքներ կոդավորման մասին, դուք կկարողանաք կարդալ եւ ստուգել ցանկացած տեքստ, որը Գեներացնող AI դուրս է բերում եւ որսում է պոտենցիալ սխալներ: Եթե դուք քաղաքացի կոդեր եք, ով օգտագործում է Generative AI-ն կոդավորման հնարավորությունների փոխարեն, դուք այնքան էլ ընդունակ չեք լինի բռնել այդ սխալները:

Այսպիսով, երբ դիտարկենք այս տեսանկյունից, հմուտ ինժեներները դեռ կլինեն ծրագրային ապահովման զարգացման էկոհամակարգի կարեւոր մասը: Դրանք դեռ պետք է ստուգվեն թե՛ վերահսկողական, թե՛ գործնական իմաստով։

Ծրագրային ապահովման փորձարկման համար Գեներացվող AI-ի եւս մեկ սահմանափակումը ներառում է բջջային թեստավորում: Օրինակ, ChatGPT- ը լավ տարբերակ է UIs կայքի փորձարկման համար: Այնուամենայնիվ, այն չունի տարբեր բջջային սարքերի հասանելիություն: Քանի որ շուկայում շատ տարբեր ձեռքբերումներ եւ մոդելներ կան, այն ընկնում է ZPTEST-ի նման ընթացիկ փորձարկման ավտոմատացման ծրագրի ետեւում։ Այս խնդիրը նույնպես փոքր խոչընդոտ չէ։ Ավելին, քան
համացանցի օգտագործման կեսը գալիս է բջջային հեռախոսից
, եւ այդ թիվը ամեն տարի ավելանում է:

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

 

Վերջնական մտքեր

 

Ծրագրային ապահովման փորձարկումը եւ RPA-ն գտնվում են բարելավման մշտական ճանապարհին: Երբ նոր տեխնոլոգիաներ եւ մեթոդներ են ի հայտ գալիս, երկու կարգապահներն էլ յուրացնում են լավագույն մեթոդները, որոնք կօգնեն QA թիմերին իրականացնել ավելի արագ եւ ավելի համապարփակ փորձարկումներ ձեռքի ստուգման գնի մի փոքր տոկոսով:

Թեեւ թեստերի ծավալների բարելավումը եւ մարդկային սխալների ու ծախսերի նվազեցումը AI-ով լիցքավորված փորձարկման ավելի ակնհայտ օգուտներից են, այն նաեւ օգնում է թիմերին կիրառել անընդհատ ինտեգրման եւ տեղաբաշխման խողովակաշարերի (CI/CD) մոտեցումը:

Քանի որ սպառողների ակնկալիքները եւ մրցակցությունը ավելի բարձր են, քան երբեւէ, Generative AI-ն առաջարկում է թիմերին արագ եւ արդյունավետ թեստեր ապահովելու միջոց՝ առանց որակի զիջումների գնալու։

Download post as PDF

Alex Zap Chernyak

Alex Zap Chernyak

Founder and CEO of ZAPTEST, with 20 years of experience in Software Automation for Testing + RPA processes, and application development. Read Alex Zap Chernyak's full executive profile on Forbes.

Get PDF-file of this post

Virtual Expert

ZAPTEST

ZAPTEST Logo