Ծրագրակազմի փորձարկում

Վիքիպեդիայից՝ ազատ հանրագիտարանից

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

Թեստային սահմանումներ[խմբագրել | խմբագրել կոդը]

Տարբեր ժամանակներում և տարբեր աղբյուրներում փորձարկմանը տրվել են տարբեր սահմանումներ, ներառյալ.

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

Թեստավորման մակարդակները[խմբագրել | խմբագրել կոդը]

  • Բաղադրիչների փորձարկում - փորձարկվում է փորձարկման համար հնարավոր ամենափոքր բաղադրիչը, օրինակ `առանձին դաս կամ ֆունկցիա։ Բաղադրիչների փորձարկումները հաճախ իրականացվում են ծրագրային ապահովման մշակողների կողմից։
  • Ինտեգրման փորձարկում - փորձարկվում են բաղադրիչների, ենթահամակարգերի կամ համակարգերի միջերեսները։ Եթե այս փուլում ժամանակի պահուստ կա, փորձարկումն իրականացվում է կրկնվող կերպով ՝ հետագա ենթահամակարգերի աստիճանական միացումով։
  • Համակարգի փորձարկում - ինտեգրված համակարգը փորձարկվում է պահանջներին համապատասխանելու համար։
  • Ալֆա փորձարկումը համակարգի հետ իրական աշխատանքի իմիտացիա է ներքին մշակողների կողմից, կամ համակարգի հետ իրական աշխատանք պոտենցիալ օգտվողների / հաճախորդների կողմից։
  • Բետայի փորձարկում. Որոշ դեպքերում նախնական թողարկումը բաշխվում է (գույքային ծրագրակազմի դեպքում, երբեմն սահմանափակ գործառույթով կամ գործառույթով) ավելի մեծ խմբի մարդկանց ՝ ապահովելու համար, որ ապրանքը ավելի քիչ սխալներ պարունակի։

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

Դերեր[խմբագրել | խմբագրել կոդը]

Ծրագրային ապահովման փորձարկումը կարող է իրականացվել մասնագիտացված ծրագրային ապահովման փորձարկողների կողմից[1][2]։ Մինչեւ 1980-ական թվականները սովորաբար օգտագործվում էր "ծրագրային ապահովման փորձարկող" տերմինը, սակայն հետագայում այն համարվում էր նաեւ առանձին մասնագիտություն.[3][4] Մինչեւ 1970-ական թվականները ծրագրավորողներն իրենք էին փորձարկում տեսախաղերը.[5] Ինչ վերաբերում է ծրագրային ապահովման փորձարկման ժամանակաշրջաններին եւ տարբեր նպատակներին[6], սահմանվել են տարբեր դերեր, ինչպիսիք են թեստավորման մենեջերը, թեստավորման մենեջերը, թեստավորման վերլուծաբանը, թեստի մշակողը, փորձարկողը, ավտոմատացման մշակողը եւ թեստավորման ադմինիստրատորը. Ծրագրային ապահովման փորձարկումը կարող է իրականացվել նաեւ երրորդ կողմի ծրագրային ապահովման փորձարկողների կողմից[7]։

Հակասություններ[խմբագրել | խմբագրել կոդը]

Ծրագրային ապահովման փորձարկման որոշ հիմնական տարբերություններ ներառում են։

Ճկուն փորձարկում ընդդեմ ավանդականի[խմբագրել | խմբագրել կոդը]

Արդյո՞ք փորձարկողները պետք է սովորեն աշխատել անորոշության եւ մշտական փոփոխությունների պայմաններում, թե՞ նրանք պետք է ձգտեն գործընթացի "հասունությանը? Ճկուն թեստավորման շարժումը մեծ ժողովրդականություն է ձեռք բերել 2000-ականների սկզբից, հիմնականում առեւտրային շրջանակներում[8][9][10], մինչդեռ պետական եւ ռազմական ծրագրային ապահովման մատակարարները օգտագործում են այս մեթոդաբանությունը, ինչպես նաեւ ավանդական փորձարկման մոդելները (օրինակ՝ ջրվեժի մոդելում).

Ձեռքով փորձարկում ընդդեմ ավտոմատ[խմբագրել | խմբագրել կոդը]

Որոշ հեղինակներ կարծում են, որ թեստավորման ավտոմատացումը այնքան թանկ է, որքան դրա արժեքը, որ այն պետք է օգտագործվի տնտեսապես.[11][12] Այս դեպքում փորձարկման ավտոմատացումը կարող է դիտվել որպես պահանջների սահմանման եւ իրականացման միջոց.

Ծանոթագրություններ[խմբագրել | խմբագրել կոդը]

  1. «What is software testing?». www.techtarget.com. Վերցված է 2024 թ․ մարտի 28-ին.
  2. «What is a Software Tester?». www.tealhq.com. Վերցված է 2024 թ․ մարտի 28-ին.
  3. «What is Software Testing? How to Perform and Best Practices». testsigma.com. Վերցված է 2024 թ․ մարտի 28-ին.
  4. «Types of Software Testing You Should Know». www.testingxperts.com. Վերցված է 2024 թ․ մարտի 28-ին.
  5. «When Did Game Testers Became a Thing? How Can I Become One?». wordfoxes.com. Վերցված է 2024 թ․ մարտի 28-ին.
  6. «More Agile Testing: Learning Journeys for the Whole Team». books.google.com. Վերցված է 2024 թ․ մարտի 28-ին.
  7. «The Art of Software Testing». books.google.com. Վերցված է 2024 թ․ մարտի 28-ին.
  8. «Teaching agile project management to the PMI». ieeexplore.ieee.org. Վերցված է 2024 թ․ մարտի 28-ին.
  9. «What is Agile testing?». miro.com. Վերցված է 2024 թ․ մարտի 28-ին.
  10. «Why no one talks about agile testing». usersnap.com. Վերցված է 2024 թ․ մարտի 28-ին.
  11. «Software Test Automation: Effective Use of Test Execution Tools». books.google.com. Վերցված է 2024 թ․ մարտի 28-ին.
  12. «5 Reasons Why Test Automation Used to Be So Expensive». www.testim.io. Վերցված է 2024 թ․ մարտի 28-ին.

Գրականություն[խմբագրել | խմբագրել կոդը]