ՀամակարգիչներԾրագրային ապահովում

Փորձարկման ծրագրեր `ծրագրային արտադրանքի սխալների հայտնաբերման գործընթաց

Ծրագրային ապահովման մշակման ժամանակ արտադրության գործընթացի կարեւոր մասը հիմնված է ծրագրային փորձարկումների վրա: Ինչ է եւ ինչպես է այս գործունեությունը կատարվում, կքննարկվի այս հոդվածում:

Ինչ է կոչվում փորձարկում:

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

Արդյունավետություն

Որքանով է լավ եւ արագ սխալները զգալի ազդեցություն ունեն պահանջվող որակի ծրագրային ապահովման մշակման ծախսերի եւ տեւողության վրա: Այսպիսով, չնայած այն հանգամանքին, որ թեստավորողները մի քանի անգամ ավելի քիչ աշխատավարձ են ստանում ծրագրավորողներից, նրանց ծառայությունների արժեքը սովորաբար կազմում է ամբողջ ծրագրի արժեքի 30-40% -ը: Դա պայմանավորված է անձնակազմի քանակի պատճառով, քանի որ սխալ որոնումը անսովոր եւ բավականին բարդ գործընթաց է: Բայց նույնիսկ եթե ծրագրային ապահովումը անցավ փորձարկված թեստերի քանակից, ապա 100% երաշխիք չկա, որ սխալ չի լինի: Պարզապես հայտնի չէ, թե երբ կբացահայտվեն: Քաջալերել քննողներին, ստուգելու տեսակները, որոնք ավելի հավանական է սխալ գտնելու համար, օգտագործվում են մոտիվացիայի տարբեր միջոցներ `ինչպես բարոյական, այնպես էլ նյութական:

Մոտենում է աշխատանքի

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

Ինչ է թեստը:

Սա տեսուչի գործունեության կարեւոր բաղադրիչն է, որը անհրաժեշտ է ծրագրային կոդի թերությունների հաջող հայտնաբերման համար: Դրանք անհրաժեշտ են, որպեսզի կիրառվեն հայտի ճշգրտությունը: Ինչ է ընդգրկված թեստի մեջ: Այն բաղկացած է նախնական տվյալների եւ արժեքներից, որոնք պետք է ձեռք բերվեն որպես արդյունք (կամ միջանկյալ): Հաջողությունները եւ անհամապատասխանությունները բացահայտելու համար թեստերը պետք է կազմվեն ալգորիթմից հետո, բայց ծրագրավորում չի սկսվել: Անհրաժեշտ է հաշվի առնել անհրաժեշտ մոտեցումների որոշակի մոտեցումներ: Այս դեպքում սխալների հայտնաբերման հավանականությունը մեծանում է, քանի որ հնարավոր է, որ օրենսգրքի տարբեր տեսանկյունից ուսումնասիրվի: Կոմպլեքս թեստերը պետք է ապահովեն ավարտված ծրագրաշարի արտադրանքի արտաքին ազդեցությունները, ինչպես նաեւ դրա աշխատանքի ալգորիթմների ստուգումը: Հատկապես հետաքրքրություն է առաջանում սահմանափակող եւ նողկալի դեպքերով: Այսպիսով, սխալներով գործողությունների պրակտիկայում հաճախ կարելի է պարզել, որ ցիկլը մեկ անգամ ավելի քիչ է, քան նախատեսված է: Կարեւոր է նաեւ ստուգել համակարգիչը, որի միջոցով կարելի է ստուգել տարբեր մեքենաների ցանկալի արդյունքի համապատասխանությունը: Դա անհրաժեշտ է, որպեսզի համոզվեք, որ ծրագրակազմը կարող է աշխատել բոլոր համակարգիչների վրա: Բացի այդ, փորձարկումը համակարգիչը, որի վրա կատարվելիք զարգացումը կարեւոր է բազմաբնույթ պլատֆորմի զարգացման մեջ:

Խեղճերի հայտնաբերման արվեստը

Ծրագրերը հաճախ ուղղված են տվյալների հսկայական զանգվածի հետ աշխատելու: Արդյոք դա իսկապես անհրաժեշտ է այն ամբողջությամբ ստեղծել: Ոչ, դա ոչ: Ծրագրի «մինիացիացման» պրակտիկան լայն տարածում գտավ: Այս պարագայում տվյալների քանակի ողջամիտ նվազում կա, համեմատած այն բանի հետ, ինչ պետք է օգտագործվի: Եկեք նայենք այս օրինակին. Կա ծրագիր, որի վրա ստեղծվում է 50x50 մատրից: Այլ կերպ ասած `դուք պետք է ձեռքով մուտքագրեք 2500 հազար արժեք: Դա, իհարկե, հնարավոր է, բայց շատ երկար ժամանակ է պահանջվում: Սակայն կատարողականը ստուգելու համար ծրագրային արտադրանքը ստացվում է matrix, որի չափը 5x5 է: Դա անելու համար հարկավոր է մուտք գործել արդեն 25 արժեք: Եթե այս դեպքում կա նորմալ, սխալ աշխատանք, ապա դա նշանակում է, որ ամեն ինչ կարգին է: Թեեւ այստեղ կան խառնաշփոթներ, որոնք կազմված են այն բանից, որ մինիացիացման դեպքում տեղի է ունենում մի իրավիճակ, որի արդյունքում փոփոխությունները դառնում են անուղղակի եւ ժամանակավորապես անհետանում: Դա նաեւ շատ հազվադեպ է, բայց նաեւ տեղի է ունենում, որ նոր սխալներ են արվում:

Հետախուզվողները

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

Ստուգեք տարբեր պայմաններում

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

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

Ծրագրային ապահովման փորձարկում. Տեսակները

Չափազանց դժվար է ծրագրային ապահովման ստեղծումը առանց սխալների: Դա նշանակալի ժամանակ է պահանջում: Լավ արտադրանք ստանալու համար հաճախ օգտագործվում են երկու տեսակի թեստավորում `« Alpha »եւ« Beta »: Ինչ են նրանք: Երբ խոսում են ալֆա փորձարկման մասին, դա նշանակում է փորձարկում, որը կատարում է մշակողների աշխատակազմը «լաբորատոր» պայմաններում: Սա թեստի վերջին քայլն է, նախքան ծրագիրը փոխանցվում է վերջնական օգտագործողներին: Հետեւաբար, մշակողները փորձում են միացնել առավելագույնը: Օգտագործման հեշտության համար տվյալները կարող են մուտք գործել, խնդիրների ժամանակագրությունը եւ դրանց վերացումը: Բետա թեստավորումն ընկալվում է որպես ծրագրային ապահովման առաքում սահմանափակ թվով օգտվողների համար, որպեսզի նրանք կարողանան օգտվել ծրագրից եւ բացահայտել բաց թողնված սխալները: Այս դեպքում առանձնահատկությունն այն է, որ հաճախ ծրագրային ապահովումը չի օգտագործվում իր նպատակային նպատակների համար: Դրա շնորհիվ հայտնաբերվում են թերություններ, երբ նախկինում ոչինչ չի երեւում: Սա նորմալ է եւ դրա մասին անհանգստանալու կարիք չկա:

Թեստավորման ավարտը

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

Ավտոմատացված թեստավորում

Նախկինում ենթադրվում էր, որ զարգացած ծրագրերի դինամիկ վերլուծությունը չափազանց ծանր մոտեցում է, որն անարդյունավետ է օգտագործել թերությունները հայտնաբերելու համար: Սակայն ծրագրերի բարդության եւ ծավալների մեծացման պատճառով հակառակ կարծիք հայտնվեց: Ավտոմատ թեստավորումն օգտագործվում է, երբ առավել կարեւոր առաջնահերթությունները արդյունավետությունն են եւ անվտանգությունը: Եվ նրանք պետք է լինեն ցանկացած մուտքագրման տվյալներ: Որպես օրինակ այնպիսի ծրագրեր, որոնց համար այդպիսի թեստավորումն անհրաժեշտ է, կարելի է նշել, ցանցային արձանագրություններ, վեբ սերվեր, ավազակախումբ: Մենք կքննարկենք մի քանի նմուշներ, որոնք կարող են օգտագործվել նման գործողությունների համար: Եթե դուք հետաքրքրված եք անվճար փորձարկման ծրագրերով, ապա դրանց մեջ բավականին դժվար է գտնել որակյալ: Բայց կան լավ ապացուցված նախագծերի խարդախ «ծովահեն» տարբերակները, այնպես որ կարող եք դիմել նրանց ծառայություններից:

Ավալանշ

Այս գործիքը օգնում է ստուգել դինամիկ վերլուծության ռեժիմում ծրագրերը փորձարկելով թերությունները: Այն հավաքում է տվյալներ եւ վերլուծում է զարգացած օբյեկտի կատարման ուղին: Փորձագետին տրվում է տվյալների մուտքագրման մի շարք, որը առաջացնում է սխալ կամ շրջանցում է մատչելի խոչընդոտների շարք: Լավ ստուգման ալգորիթմի առկայության շնորհիվ զարգանում են բազմաթիվ հնարավոր իրավիճակներ: Ծրագիրը ստանում է մի շարք մուտքագրման տվյալների հավաքածուներ, որոնք թույլ են տալիս պատկերացնել իրավիճակների զգալի քանակություն եւ ստեղծել այնպիսի պայմաններ, որտեղ ամենայն հավանականությամբ տեղի է ունենում ձախողման: Ծրագրի կարեւոր առավելությունն էվիրիական չափանիշի կիրառումը: Եթե խնդիր կա, ապա կիրառման սխալի մեծ հավանականությունը: Սակայն այս ծրագիրը ունի սահմանափակումներ, ինչպիսիք են ստուգված միայն մեկ պիտակավորված մուտքի վարդակից կամ ֆայլը: Գործողությունը կատարելիս, ինչպիսին է ծրագրային փորձարկումը, կլինեն մանրամասն տեղեկատվություն զրոյական ցուցիչների, անվերջ հանգույցների, սխալ հասցեների կամ գրադարանների օգտագործման պատճառով անսարքությունների հետ կապված խնդիրների մասին: Իհարկե, դա հայտնաբերված սխալների ամբողջական ցանկ չէ, այլ միայն նրանց ընդհանուր օրինակները: Կատարեք թերությունները, ցավոք, ստիպված կլինի մշակողներին, այդ նպատակների համար ավտոմատ գործիքներ հարմար չեն:

ՔԼԵ

Սա հիշողություն փորձելու լավ ծրագիր է: Այն կարող է խափանել մոտավորապես 50 համակարգային զանգեր եւ բազմաթիվ վիրտուալ գործընթացներ, հետեւաբար կատարվում են զուգահեռաբար եւ առանձին: Ընդհանուր առմամբ, ծրագիրը չի որոնում անհատական կասկածելի տեղակայանքների համար, այլ մշակվում է հնարավոր առավելագույն քանակի կոդը եւ վերլուծում է օգտագործված տվյալների փոխանցման ուղիները: Դրա պատճառով ծրագրի փորձարկման ժամանակը կախված է օբյեկտի չափից: Ստուգելիս խաղադրույքը կատարվում է խորհրդանշական գործընթացների վրա: Նրանք փորձարկումներ կատարելու ծրագրերում կատարելու հնարավոր եղանակներից մեկն են: Զուգահեռ գործողության շնորհիվ հնարավոր է վերլուծել ուսումնասիրության մեջ կիրառվող հայտի մեծ թվով տարբերակները: Իր փորձարկման ավարտից հետո յուրաքանչյուր ճանապարհի համար մուտքագրման տվյալների հավաքածուները, որոնցից սկսվում է փորձությունը: Պետք է նշել, որ KLEE- ի օգտագործման փորձարկման ծրագրերը օգնում են բացահայտել մեծ թվով շեղումներ, որոնք չպետք է լինեն: Այն կարող է գտնել նույնիսկ այնպիսի ծրագրերում, որոնք տասնամյակներ առաջ մշակված են:

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 hy.delachieve.com. Theme powered by WordPress.