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

Թեստային սահմանումներ խմբագրել

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

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

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

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

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

Դերեր խմբագրել

Ծրագրային ապահովման փորձարկումը կարող է իրականացվել մասնագիտացված ծրագրային ապահովման փորձարկողների կողմից[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-ին.

Գրականություն խմբագրել