Բացասական թեստավորումը ծրագրային ապահովման թեստավորման մեջ մի տեխնիկա է, որը ստուգում է, թե ինչպես է ձեր հավելվածն արձագանքում անսպասելի վարքագծին կամ անվավեր տվյալներին: Այս տեսակի թեստավորումը կարող է օգնել Որակի ապահովման թիմերին բարելավելու իրենց ծրագրաշարի կայունությունն ու կայունությունը՝ փնտրելով այն բացառությունները, որոնք առաջացնում են սառեցումներ, վթարներ կամ այլ անցանկալի արդյունքներ:
Այս հոդվածում մենք կուսումնասիրենք, թե ինչ է բացասական ծրագրաշարի փորձարկումը, ինչու է դա կարևոր, և որոշ տարբեր մոտեցումներ, տեխնիկա և գործիքներ, որոնք դուք կարող եք օգտագործել այս տեխնիկայի համար:
Ի՞նչ է բացասական ծրագրաշարի փորձարկումը:
Բացասական փորձարկումը ծրագրային ապահովման փորձարկման տեխնիկա է, որը միտումնավոր սնուցում է համակարգին անվավեր մուտքերով կամ անսպասելի տվյալներով՝ տեսնելու, թե ինչպես է այն վարվում այս սցենարների հետ: Նաև հայտնի է որպես ձախողման փորձարկում կամ սխալի ուղու փորձարկում՝ այս մոտեցումը նմանակում է իրական աշխարհի սցենարների բազմազան շրջանակը, որոնց կհանդիպի ձեր հավելվածը, օրինակ՝ օգտվողները մուտքագրում են անվավեր ամսաթվեր կամ նիշեր կամ օգտագործում են որոշակի գործառույթներ այնպես, ինչպես դուք երբեք չէիք նախատեսել:
Թեստավորման շատ տեսակներ օգտագործում են վավեր տվյալներ՝ հավելվածը փորձարկելու համար: Այնուամենայնիվ, բացասական թեստավորումն այլ մոտեցում է ցուցաբերում՝ փորձարկելով եզրերի շուրջ և սովորական մուտքերից դուրս և տեսնելով, թե ինչպես է հավելվածը կառավարում բացառությունները:
Կարևոր է ստուգել, որ ձեր հավելվածը կատարում է այնպես, ինչպես նախատեսված է: Բայց մյուս կողմից, հասկանալը, թե ինչ է տեղի ունենում, երբ օգտվողները դուրս են գալիս ամրագրումից, նույնպես կենսական նշանակություն ունի, հատկապես, եթե այս չնախատեսված օգտագործումը առաջացնում է վթարներ, սառեցումներ կամ այլ թերություններ:
Տարբերությունը դրական և բացասական թեստի միջև
թեստավորում ծրագրային ապահովման փորձարկման մեջ
Ինչպես վերը նկարագրեցինք, բացասական թեստավորումն օգտագործում է անսպասելի կամ անվավեր տվյալներ՝ ստուգելու համակարգի վարքագիծը: Ի հակադրություն, դրական թեստավորումը մղում է ակնկալվող կամ վավեր տվյալներ՝ ստուգելու, որ համակարգը աշխատում է այնպես, ինչպես սպասվում էր:
Այլ կերպ ասած:
- Դրական թեստավորումն օգնում է ձեզ հասկանալ՝ արդյոք ձեր դիմումն աշխատում է այնպես, ինչպես նախատեսված է
- Բացասական թեստավորումը որոշում է, թե արդյոք ձեր հավելվածը կարող է կարգավորել անսպասելի իրադարձությունները
Ե՛վ դրական թեստավորումը, և՛ բացասական թեստավորումը ծրագրային ապահովման թեստավորման ժամանակ պահանջվում են, եթե ցանկանում եք խստորեն ստուգել ձեր դիմումը:
Ինչու է բացասական ծրագրաշարի փորձարկումը կենսական:
Երբ մշակողները ծրագրային ապահովում են ստեղծում, նրանք հստակ պատկերացում ունեն, թե ինչպես են ակնկալում օգտվողից օգտվել ծրագրաշարից: Այնուամենայնիվ, օգտվողները միշտ չէ, որ հետևում են կանոններին: Շատ հաճախ նրանք կփորձեն սեղմել գոյություն չունեցող կոճակների վրա, տառեր մուտքագրել թվային դաշտերում կամ փորձել մուտքագրումներ, որոնք դուք պարզապես չեք ակնկալում:
Բացասական փորձարկումը նպատակ ունի հաշվի առնել այս եզրային դեպքերը, որոնք չեն կարող բացահայտվել դրական թեստավորման մեթոդներով, ինչպիսիք են միավորը , համակարգը կամ ինտեգրացիոն թեստը:. Համակարգին նետելու համար «կորի գնդակներ» ստեղծելու համար անհրաժեշտ է որոշակի ոչ սովորական մտածողություն: Այնուամենայնիվ, զուտ արդյունքը ավելի կայուն և ամուր կիրառություն է:
Ո՞րն է բացասական թեստավորման նպատակը
ծրագրային ապահովման փորձարկման մեջ?
Բացասական թեստավորումն ունի նմանատիպ նպատակներ, ինչ այլ տեսակի ծրագրային ապահովման թեստավորման նպատակները: Մասնավորապես, հավելվածի սխալները, թերությունները և խոցելիությունները բացահայտելու համար: Այնուամենայնիվ, այն առանձնահատուկ դեր է խաղում թերությունների հայտնաբերման գործում, որոնք հնարավոր չէ բացահայտել վավեր տվյալների օգտագործման միջոցով: Ահա թեստավորման բացասական մոտեցում ընդունելու պատճառներից մի քանիսը:
1. Արատների բացահայտում
Ծրագրային ապահովման թեստավորման ժամանակ բացասական թեստավորման կենտրոնական նպատակը սխալ տվյալների կամ անսպասելի մուտքերի հետևանքով առաջացած թերությունների բացահայտումն է: Այն թույլ է տալիս փորձարկողներին ավելի ակտիվ մոտեցում ցուցաբերել վրիպակների հայտնաբերման հարցում և ապահովել, որ ծրագրակազմը համապատասխանում է սպասելիքներին:
2. Անվտանգություն
Անսպասելի մուտքերը կամ անվավեր տվյալները կարող են բացահայտել անվտանգության խոցելիությունը: Այս եզրային դեպքերի փորձարկումն ու լուծումը հանգեցնում է ավելի ապահով և ամուր կիրառման՝ նվազեցնելով վնասակար հարձակումների, ներարկման թերությունների կամ չարտոնված մուտքի փորձերի հնարավորությունը:
3. Սխալների մշակում
Բացասական թեստավորումն օգտակար է սխալների կառավարումը վավերացնելու համար: Խոսքը ոչ միայն այն մասին է, որ համակարգը կայուն մնա անսպասելի մուտքերի կամ տվյալների հետ հանդիպելուց հետո, այլ նաև այն մասին, թե ինչպես է այն արձագանքում այս իրադարձություններին, օրինակ՝ սխալի հաղորդագրություններ արտադրելու համար, որպեսզի վերջնական օգտագործողը իմանա, որ տվյալները անվավեր են:
4. Թեստային ծածկույթի բարելավում
Ծրագրային ապահովման թեստավորման մեջ դրական և բացասական թեստավորումները մեծապես փոխլրացնող են: Նրանք երկուսն էլ ներառում են տվյալների մուտքագրման տարբեր տարրեր, ինչը նշանակում է, որ ձեր թեստավորումն ավելի ընդգրկուն է:
5. Ավելի լավ օգտվողի փորձ
Բացասական թեստավորումն օգնում է բացահայտել սխալ հաղորդագրությունների, խափանումների և այլ անսպասելի վարքագծի աղբյուրը, որոնք կարող են բացասաբար ազդել օգտատիրոջ փորձի վրա:
Տարբերությունը դրականի և բացասականի միջև
փորձարկում ծրագրային ապահովման ճարտարագիտության մեջ
Ինչպես վերը նշեցինք, բացասական թեստավորումն ուղարկում է անսպասելի կամ անվավեր տվյալներ՝ ստուգելու համակարգի վարքագիծը: Դրական թեստավորումը, մյուս կողմից, ուղարկում է ակնկալվող կամ վավեր տվյալներ՝ ստուգելու, որ համակարգը աշխատում է այնպես, ինչպես սպասվում էր:
Դրական և բացասական թեստի միջև տարբերությունը ներառում է.
1. Նպատակները.
Դրական թեստավորումը ստուգում է, թե արդյոք ծրագրաշարն աշխատում է այնպես, ինչպես նախատեսված է. բացասական թեստավորումը փորձում է հասկանալ, թե ինչ է տեղի ունենում չնախատեսված սցենարներում:
2. Տվյալներ:
Դրական թեստավորումն օգտագործում է վավեր տվյալներ, իսկ բացասական թեստավորումն օգտագործում է անվավեր մուտքեր, ծայրահեղ արժեքներ և անսպասելի ձևաչափեր:
3. Կենտրոնանալ.
Դրական թեստավորումը կենտրոնանում է հաջողության սցենարների վրա, մինչդեռ բացասական թեստավորումն ավելի շատ վերաբերում է անհաջող սցենարներին:
Բացասական թեստավորման տարբեր տեսակներ
Բացասական թեստավորումը հայեցակարգ է, որն ընդգրկում է հավելվածի որակի և ամբողջականության վավերացման մի քանի տարբեր մոտեցումներ: Ահա բացասական թեստավորման յոթ տեսակ, որոնք դուք պետք է իմանաք:
#1. Սահմանային արժեքի փորձարկում
Սահմանային արժեքի փորձարկումը փորձում է փորձարկել ծրագրակազմը մուտքային մուտքերով, որոնք գտնվում են մուտքային տիրույթի սահմաններում կամ եզրերում: Այն ստուգում է ինչպես առավելագույն, այնպես էլ նվազագույն ակնկալվող արժեքները, բայց նաև փորձարկում է այս մուտքերից դուրս:
Օրինակ: Մուտքային դաշտը ընդունում է 1-9 թվերը: Սահմանային արժեքի թեստը մուտքագրելու է և՛ 1-ը, և՛ 9-ը, ինչպես նաև 0-ը և 10-ը:
#2. Մուտքային արժեքի փորձարկում
Մուտքային արժեքի փորձարկումը որոշում է, թե ինչպես է համակարգը արձագանքելու անսպասելի կամ անվավեր մուտքերին: Որոշ մուտքեր, որոնք այն կփորձարկի, ներառում են.
- Տվյալների սխալ տեսակներ
- Շրջանակից դուրս արժեքներ
- Հատուկ կերպարներ
- Դատարկ դաշտեր.
Օրինակ. Մուտքային տուփը պահանջում է միայն թիվ, այնպես որ թեստը կմտցնի տառ և կտեսնի, թե ինչպես է համակարգը արձագանքում:
#3. Բեռի փորձարկում
Բեռնվածության թեստավորումն օգնում է փորձարկողներին գնահատել, թե ինչպես է համակարգը արձագանքելու մեծ սթրեսի կամ բեռների դեպքում, ինչպիսիք են տվյալների մեծ հավաքածուները կամ երթևեկության մեծ ծավալները: Փորձարկման ավտոմատացման գործիքները կարող են նմանակել այս ծայրահեղ պայմանները՝ հասկանալու համար, թե ինչպես է համակարգը արձագանքում ճնշման տակ:
Օրինակ. Փորձարկիչը կսիմուլյացիա կանի հազարավոր միաժամանակյա օգտատերերի, որոնք մուտք են գործում կայք:
#4. Բացառության փորձարկում
Այս տեսակի թեստավորումն ուսումնասիրում է, թե ինչպես է համակարգը արձագանքելու բացառիկ իրադարձություններին կամ սխալներին: Որոշ թեստեր ներառում են
- Համակարգի խափանումների մոդելավորում
- Ցանցի ձախողումներ
- Տվյալների բազայի սխալներ
- Սկավառակի տարածքի հետ կապված խնդիրներ
- Բացակայող ֆայլեր:
Օրինակ. թեստը կարող է բացահայտել, թե ինչ է տեղի ունենում, երբ օգտատերը ֆայլ է ներբեռնում հավելվածից, և ինտերնետն անջատվում է:
#5. Անվտանգության փորձարկում
Անվտանգության թեստավորումն օգտագործում է բացասական թեստավորման մոտեցում՝ ընդգծելու և հասկանալու ծրագրաշարի խոցելիությունները, որոնք կարող են բացահայտվել անվավեր կամ անսպասելի մուտքերով: Այս մոտեցումը փորձարկում է սովորական հարձակումների համար, ինչպիսիք են.
- SQL ներարկում
- Cross-site scripting (XSS)
- Բուֆերային արտահոսք:
Օրինակ. Անվտանգության թեստը կարող է փորձել ներարկել վնասակար կոդ օգտվողի մուտքագրման դաշտում:
#6. Օգտագործողի միջերեսի փորձարկում
Այս տեսակի թեստավորումը կենտրոնանում է սխալների վրա, որոնք տեղի են ունենում, երբ օգտագործողը շփվում է ծրագրաշարի հետ: Որոշ բաներ, որոնք այն կփորձի որոշել, ներառում են.
- Օգտատերերի փոխազդեցություններին անսպասելի պատասխաններ
- Սխալ սխալ հաղորդագրություններ
- Նավիգացիոն խնդիրներ
Օրինակ. Թեստը կբացահայտի, թե ինչ է տեղի ունենում, երբ որոշակի գործողություններ կատարվում են ոչ հերթականությամբ:
#7. Տվյալների ամբողջականության փորձարկում
Տվյալների ամբողջականության թեստավորումն ապահովում է, որ տվյալները մնան ճշգրիտ և համահունչ հավելվածի մի շարք գործողությունների ընթացքում: Փորձարկվող որոշ բաներ ներառում են.
- Տվյալների հնարավոր կոռուպցիան
- Տվյալների կորստի սցենարներ
- Տվյալների պատահական փոփոխություններ
Օրինակ. թեստը կհաստատի, որ տվյալները փոխանցումից հետո մնում են նույնը:
Ինչպես տեսնում եք, կան բազմաթիվ տարբեր բացասական թեստավորման մոտեցումներ: Նրանց բոլորի ընդհանուրը անսպասելի մուտքերի կամ անվավեր տվյալների օգտագործումն է՝ տեսնելու, թե ինչպես է հավելվածն աշխատում անտիպ պայմաններում:
Բացասական թեստավորման առավելությունները
Բացասական թեստավորումն այն է, որ հասկանաք, թե ինչպես է աշխատում ձեր հավելվածը, երբ առաջանում են անսպասելի իրավիճակներ: Ահա այս մոտեցման օգտագործման հիմնական առավելություններից մի քանիսը:
- Այն օգնում է ձեզ հասկանալ, թե ինչ ազդեցություն կունենան ձեր հավելվածի վրա անսպասելի մուտքերը կամ անվավեր տվյալները: Կվթարվի՞: Թքե՞լ սխալի սխալ հաղորդագրություն:
- Բացասական թեստավորումը որակի ապահովման պատասխանատու մոտեցման մի մասն է, քանի որ այն փորձում է բացահայտել համակարգի թույլ կողմերը
- Բացասական թեստավորումը ծրագրային ապահովումն անցնում է իր արագությամբ՝ ստուգելով դրա արձագանքը անկանխատեսելի կամ չնախատեսված սցենարներին, որոնց նա կհանդիպի վայրի բնության մեջ:
- Կրկին բացասական թեստավորումը անվտանգությանն ուղղված մանրակրկիտ մոտեցման կարևոր բաղադրիչն է, քանի որ այն ընդգծում է հարձակման հնարավոր վեկտորները, որոնցից կարող են օգտվել կիբեր հարձակվողները:
Բացասական թեստավորման թերությունները
Բացասական թեստավորումն առաջարկում է բազմաթիվ առավելություններ, բայց այն ունի որոշ բացասական կողմեր, որոնք նույնպես պետք է հաղթահարվեն:
- Բացասական մանրակրկիտ փորձարկումը կարող է պահանջել լրացուցիչ սարքավորում և ծրագրակազմ, ինչը կարող է մեծացնել թեստավորման ծախսերը: Սուղ բյուջեով աշխատող թիմերի համար դա կարող է անբարենպաստ լինել:
- Բացասական փորձարկումը կարող է բավականին ժամանակատար լինել, քանի որ այն պահանջում է բազմաթիվ թեստային դեպքերի ստեղծում՝ ծածկելու մուտքերի տարբեր փոխարկումները, որոնց ծրագրաշարը կհանդիպի արտադրության մեջ:
- Կան անկանխատեսելի իրավիճակների քանակի սահմանափակումներ, որոնք դուք կարող եք ծածկել բացասական թեստով: Իրոք, որոշ իրավիճակներ կարող են այնքան անսպասելի լինել, որ փորձարկողները չեն կարող հաշվի առնել դրանք:
- Բացասական թեստի դեպքերի ավտոմատացումը դժվար է: Այնուամենայնիվ, ճիշտ ծրագրային ապահովման դեպքում, ինչպիսին է ZAPTEST-ը, գործընթացը շատ ավելի կառավարելի է:
Բացասական թեստավորման մարտահրավերները
Բացասական փորձարկումը շատ կարևոր է, եթե ցանկանում եք ստեղծել ամուր և հուսալի ծրագրակազմ, որը կարող է դիմակայել օգտատերերի փոխազդեցության սթրեսներին և լարվածությանը: Այնուամենայնիվ, կան որոշ մարտահրավերներ մոտեցումների իրականացման համար, որոնց մասին դուք պետք է տեղյակ լինեք:
Եկեք քանդենք մի քանի ավելի համառ մարտահրավերներ:
1. Բացասական սցենարների բացահայտում ծրագրային ապահովման փորձարկման ժամանակ
Բավարար ծածկույթ.
Բացասական թեստավորման ամենամեծ մարտահրավերներից մեկն այն է, որ դուք բավականաչափ անսպասելի սցենարներ եք ծածկում: Կան բազմաթիվ բացասական սցենարներ և փոխարկումներ, ուստի դրանք բոլորը հաշվի առնելը պահանջում է ստեղծագործ մոտեցում պատկերացնել, թե ինչպես են ձեր օգտվողները փոխազդում ծրագրաշարի հետ:
Առաջնահերթություն.
Մանրադիտակի տակ դնելու բազմաթիվ պոտենցիալ բացասական սցենարներով փորձարկողները միշտ չէ, որ վստահ են, թե որտեղից պետք է սկսել: Առաջնահերթությունը գնահատելու որոշ ամուր չափանիշներ ներառում են կանխատեսումը.
- Իրավիճակներ, որոնք ունեն թերությունների մեծ հավանականություն
- Արատների արդյունքի ծանրությունը.
2. Համարժեք բացասական թեստային դեպքերի նախագծում
Մուտքի վավերացում.
Բացասական փորձարկման կոշտ դեպքերի նախագծումը պահանջում է ձեր համակարգի վարքագծի, ճարտարապետության և սահմանափակումների բավականին համապարփակ պատկերացում: Ծրագրային ապահովման փորձարկումը պահանջում է մանրակրկիտ դիտարկված մուտքերի և տվյալների օգտագործում: Թեև պատահական մոտեցումը կարող է օգնել ձեզ բացահայտել որոշ թերություններ, այն գունատ է բացասական թեստավորման ավելի ճշգրիտ և համակարգված մոտեցման համեմատ:
Տվյալների բազմազանություն.
Կախված ձեր համակարգի առանձնահատկություններից, ձեզ կարող է անհրաժեշտ լինել փորձարկել բավականին բազմազան տվյալների վրա: Իրոք, կան բազմաթիվ տարբեր տվյալների ձևաչափեր, ինչպիսիք են թվերը, տեքստը, ամսաթվերը և այլն, որոնցից յուրաքանչյուրը կարող է ընդունել ձեր դիմումը: Այստեղ մարտահրավերը ներառում է փորձարկման դեպքերի նախագծում, որոնք կարող են հաշվի առնել յուրաքանչյուր ձևաչափ և, մասնավորապես, անվավեր տվյալների յուրաքանչյուր փոփոխություն: Այս իրավիճակը կարող է բավականին ժամանակատար լինել թեստավորման թիմերի համար:
3. Արդյունավետություն և փորձարկման ավտոմատացում
Ժամանակատար:
Դրական թեստավորումը նպատակ ունի վավերացնել ծրագրաշարը ակնկալվող արդյունքների դեմ: Մյուս կողմից, բացասական թեստավորումը պետք է խորանա անսպասելիության մեջ և ուսումնասիրի հնարավոր սցենարները: Չբացահայտված տարածք անցնելն ավելի շատ ժամանակ է պահանջում: Արդյունքում, եթե ցանկանում եք համապարփակ արդյունքներ, որոնք գալիս են բացասական թեստավորման հետ, դուք պետք է պատրաստ լինեք լրացուցիչ ժամեր ներդնել:
Ավտոմատացման բարդությունը.
Բացասական թեստավորումը կարող է ժամանակ և ռեսուրսներ պահանջող լինել: Որպես այդպիսին, դա կատարյալ աշխատանք է ծրագրային ապահովման փորձարկման ավտոմատացման համար: Այնուամենայնիվ, կան որոշ բարդություններ, որոնք պետք է հաղթահարել: Օրինակ, փորձարկման դեպքերի նախագծումը, որոնք սահմանում են ակնկալվող արդյունքները անսպասելի մուտքերի համար, պահանջում է որոշակի փորձ և գիտելիքներ: Բացի այդ, ավտոմատացման թեստերի ձեր գոյություն ունեցող շրջանակը կարող է չաջակցել անվավեր տվյալները, որոնք ցանկանում եք ներմուծել ձեր հավելված՝ ավելացնելով բարդության հետագա շերտ:
4. Արդյունքների գնահատում
Կեղծ դրական արդյունքներ.
Ճշգրտության և համապարփակության միջև բավարար հավասարակշռություն ապահովելու համար ձեր թեստավորման աստիճանավորումը ծանոթ խնդիր է բացասական փորձարկողների համար: Որոշ իրավիճակներում սխալների չափազանց զգայուն կառավարումը սխալ մուտքագրումները կշփոթի բացասական տվյալների հետ՝ հանգեցնելով անտեղի խնդիրների վրա ժամանակի վատնմանը:
Ոչ միանշանակ արդյունքներ.
Երբ համակարգը ստանում է անվավեր մուտքագրում, դա կարող է հանգեցնել խափանումների, սխալների կամ սառեցման: Շատ դեպքերում սա սխալի հաստատ նշան է: Այնուամենայնիվ, մյուսներում դա վկայում է չմշակված եզրային դեպքի մասին, որը մշակողները հաշվի չեն առել: Այս դիսկրետ իրավիճակների միջև տարբերակումը կարևոր է, սակայն իրական պատճառի ուսումնասիրությունը ժամանակատար է:
Տվյալների կառավարում.
Բացասական թեստավորումը պահանջում է զգալի քանակությամբ տվյալներ: Այս փորձարկման տեղեկատվությունը պետք է և՛ ստեղծվի, և՛ պահպանվի: Սուղ ժամկետներով զարգացման սցենարներում սա լրացուցիչ աշխատանք է, որը պետք է դիտարկել:
5. Կազմակերպչական հարցեր
Բացասական թեստավորման փորձաքննության բացակայություն.
Թեև բացասական թեստավորումը հանրաճանաչ է, շատ փորձարկողներ չունեն հմտություններ և փորձ՝ այս տեսակի թեստավորումը համապարփակ կերպով իրականացնելու համար: Որոշակի բացասական թեստի դեպքերի նախագծումը ավելի քիչ ինտուիտիվ է, քան դրանց դրական փորձարկման դեպքի համարժեքը: Ավելին, թեստային ավտոմատացման իրականացումը նույնպես կարող է դժվար լինել առանց համապատասխան փորձաքննության:
Բիզնեսի ճնշում.
Շահագրգիռ կողմերը, փորձարկողները և ղեկավարությունը պետք է հասկանան այն կարևոր դերը, որը խաղում է բացասական թեստավորումը ամուր հավելվածների մշակման գործում: Դրա կարևորությունը չգնահատելը կարող է հանգեցնել ճնշման՝ կենտրոնանալու դրական թեստավորման վրա՝ բացասական թեստավորման գնով:
Հասկանալի է, որ կան մի քանի մարտահրավերներ, որոնք բախվում են թիմերին, ովքեր ցանկանում են բացել բացասական թեստավորման առավելությունները: Այնուամենայնիվ, ճիշտ մոտեցմամբ և ծրագրային ապահովման փորձարկման ճիշտ գործիքներով դուք կարող եք հաղթահարել այս խնդիրները և ստեղծել ծրագրակազմ, որը գերազանցում է օգտատերերի ակնկալիքները:
Ինչպես գրել ծրագրային ապահովման փորձարկման բացասական թեստի դեպքեր
Բացասական թեստի դեպքերը փորձարկող ծրագրային ապահովում գրելը որոշակի փորձ և ստեղծագործական մտածողություն է պահանջում: Ահա քայլ առ քայլ ուղեցույց, որը կօգնի ձեզ կառուցել այս կարևոր թեստային դեպքերը:
#1. Հիմնավորեք ձեր նպատակները
Նախքան գրեք ձեր ծրագրային ապահովման փորձարկման բացասական թեստի դեպքերը, դուք պետք է հասկանաք, թե ինչու եք ուզում բացասական թեստավորում կատարել: Ոչ բոլոր հավելվածներն են օգտվում բացասական թեստավորումից:
Այսպիսով, հասկացեք, թե ինչի եք ուզում հասնել: Բացասական փորձարկումը նախատեսված է սխալներ և խափանումներ հայտնաբերելու համար, որոնք առաջանում են օգտատերերի անսպասելի փոխազդեցության սցենարներից կամ պայմաններից:
#2. Ուրվագծեք հնարավոր բացասական սցենարները
Հաջորդը, դուք պետք է հաշիվ կազմեք բացասական սցենարների մասին, որոնք կարող են առաջանալ, երբ օգտվողները փոխազդում են ձեր ծրագրաշարի հետ: Այս քայլի ընթացքում հետազոտությունը շատ կարևոր է: Որոշ ոլորտներ, որոնք դուք պետք է ուսումնասիրեք, հետևյալն են.
- Համակարգի պահանջները
- Տիպիկ օգտագործման դեպքեր
- Դիմումի առանձնահատկությունները և գործառույթները
Իմացեք այս իրավիճակները և կազմեք այն սցենարների ցանկը, որտեղ հավելվածը կարող է չգործել այնպես, ինչպես նախատեսել եք:
Այնուհետև դիտարկեք մուտքագրման վավերացման կարևոր սցենարները: Սովորաբար դա ներառում է տվյալների մուտքագրման ձևեր, մուտքի դաշտեր և այլն:
Վերջապես, հաշվի առեք բազմաթիվ անսովոր եղանակներ, որոնց միջոցով օգտատերերը կարող են փոխազդել ձեր ծրագրաշարի հետ և անսպասելի իրադարձություններ, որոնք կարող են հանգեցնել անբարենպաստ արդյունքների, ինչպիսիք են ցանցի անջատումները, համակարգի կտրուկ անջատումները, տվյալների զանգվածային փոխանցումները և այլն:
Հենց որ հնարավորինս շատ սցենարներ փաստաթղթավորեք, ժամանակն է որոշել այս անսպասելի սցենարների ակնկալվող արդյունքները:
#3. Ուրվագծեք ակնկալվող արդյունքները
Յուրաքանչյուր փորձարկման դեպք պետք է ունենա ակնկալվող արդյունք, և բացասական փորձարկման դեպքը չի տարբերվում: Լավագույն պրակտիկան այստեղ յուրաքանչյուր բացասական սցենար գրելն է և որոշել, թե ինչպիսին պետք է լինի արդյունքը:
Հնարավոր արդյունքներից մի քանիսը կարող են ներառել.
- Ճշգրիտ և տեղեկատվական սխալի հաղորդագրություններ
- Համապատասխան վերահղումներ
- Համակարգի նրբագեղ կառավարում, օրինակ՝ կանխելով համակարգի սառեցումը կամ խափանումը:
#4. Ընտրեք մուտքերը փորձարկման համար
Այժմ ժամանակն է տեսնելու, թե որ մուտքերը պետք է փորձարկեք: Այս մուտքերը պետք է լինեն նրանք, որոնք, ամենայն հավանականությամբ, կարող են առաջացնել սխալ կամ այլ բացասական վարքագիծ:
Որոշ մուտքեր, որոնք դուք պետք է ներառեք, հետևյալն են.
- Շրջանակից դուրս արժեքներ (բացասական արժեքներ տարիքային դաշտում և այլն)
- Անվավեր տվյալներ (տառեր թվային դաշտում և այլն)
- Անսպասելի նիշեր կամ նշաններ
- Հատուկ կերպարներ
- Տվյալներ բացակայում են
#5. Գրեք ձեր թեստի դեպքերը
Երբ հավաքեք ձեր բոլոր սցենարները, ժամանակն է գրել ձեր փորձարկման դեպքերը: Այժմ, բացասական թեստավորման դեպքում, կա գրեթե անսահմանափակ թվով թեստային դեպքեր, որոնք դուք կարող եք գրել: Ի վերջո, այս տեսակի թեստավորումը վերաբերում է գտնելու, թե ինչ է տեղի ունենում, երբ մարդիկ օգտագործում են ծրագրաշարը այնպես, որ դուք չեք մտադրվել: Այնուամենայնիվ, վերջնաժամկետները թելադրում են, որ հնարավոր դեպքերի ցանկը կտրեք այնպիսի իրավիճակների, որոնք, ամենայն հավանականությամբ, խնդիրներ կառաջացնեն:
Ինչպես միշտ, գրեք ձեր թեստի դեպքերը պարզ, հակիրճ և օբյեկտիվ լեզվով: Այստեղ երկիմաստության տեղ չկա։
Ահա ձեր բացասական թեստի դեպքերի լավ ձևաչափը:
- Օգտագործեք Test Case ID-ն
- Հստակ նկարագրեք, թե ինչն է փորձարկվում
- Նշեք ձեր բացասական թեստի ցանկացած նախապայման
- Ուրվագծեք ներգրավված քայլերի շարքը
- Ստեղծեք հստակ և օբյեկտիվ արդյունքներ
- Նշեք ձեր թեստի իրական արդյունքը
#6. Պլանավորեք թեստը
Այժմ դուք պետք է պլանավորեք ձեր թեստերը: Կրկին, կարևոր է առաջնահերթություն տալ այն սցենարներին, որոնք ունեն ամենածանր անբարենպաստ հետևանքները, ինչպիսիք են վթարները, կամ որտեղ խնդիրներն ամենայն հավանականությամբ բացահայտվելու են:
Բացասական փորձարկման դեպքի օրինակ
Ահա բացասական փորձարկման դեպքի օրինակ.
Փորձարկման դեպքի ID՝ TC001
Նկարագրություն. Ստուգեք, որ սխալի հաղորդագրությունը ցույց է տալիս, եթե օգտվողը մուտքագրում է անվավեր էլփոստի հասցե
Նախապայմաններ. օգտատերը պետք է լինի հավելվածի մուտքի էջում
Քայլեր: 1. Մուտքագրեք անվավեր էլփոստի հասցե: 2. Սեղմեք «Մուտք»
Ակնկալվող արդյունք. Երբ օգտատերը սեղմում է «Մուտք» կոճակը, սխալ հաղորդագրություն է հայտնվում՝ ասելով «սխալ էլփոստի հասցե մուտքագրված է»:
Արդյունք. Գրանցեք, թե ինչ տեղի ունեցավ, երբ ընտրվեց «Մուտք»:
Ծրագրային ապահովման փորձարկման բացասական սցենարների օրինակներ
Ահա մի քանի բնորոշ սցենարներ, որոնք կարող եք ստուգել՝ օգտագործելով բացասական փորձարկման մեթոդներ:
1. Տվյալների և դաշտերի տեսակները
Եթե առցանց ձևաթուղթ եք լրացրել, կիմանաք, որ այս տուփերը նախատեսված են որոշակի տեսակի տվյալների ընդունման համար: Որոշները միայն թվեր են, մինչդեռ մյուսներն ընդունում են ամսաթվերը, տեքստը կամ այլ տեսակի տվյալներ:
Այս տուփերի բացասական փորձարկումը ներառում է անվավեր տվյալներ ուղարկելը, օրինակ՝ թվային դաշտում տառեր մուտքագրելը:
2. Պարտադիր դաշտեր
Կրկին, պահանջվող դաշտերը ձևերի և հավելվածների ընդհանուր հատկանիշներն են: Դրանք հարմար գործիք են՝ ապահովելու համար, որ բոլոր կարևոր տեղեկությունները հավաքվեն նախքան օգտագործողը հաջորդ փուլ անցնելը:
Այս սցենարների լավ փորձնական դեպքը ներառում է տեսնել, թե ինչ է տեղի ունենում, երբ այս դաշտերը դատարկ են մնում: Իդեալական սցենարի դեպքում պետք է գործարկվի սխալի հաղորդագրություն, որը կոչ է անում օգտվողին լրացնել անհրաժեշտ դաշտը:
3. Նիշերի համապատասխան քանակ
Եթե դուք ունեք փորձարկման ենթակա վեբ էջերի հավելված, կարող եք ունենալ տվյալների դաշտ, որը պահանջում է սահմանափակ թվով նիշեր: Սա կարող է լինել օգտվողների անունների, հեռախոսահամարների, գրանցման համարների և այլնի համար:
Դուք կարող եք բացասական փորձարկման դեպքեր ստեղծել այս դաշտերի համար՝ գրելով թեստեր, որոնք մուտքագրում են առավելագույն թույլատրելի նիշերը՝ տեսնելու, թե ինչպես է հավելվածը արձագանքում:
4. Տվյալների սահմանները և սահմանները
Որոշ ձևեր կունենան ֆիքսված սահմաններով դաշտեր: Օրինակ, եթե ցանկանում եք, որ ինչ-որ մեկը գնահատի ինչ-որ բան 100-ից, տվյալների սահմանները կլինեն 1-100:
Ստեղծեք բացասական թեստային դեպք, երբ փորձեք մուտքագրել 0, 101 կամ այլ բացասական կամ դրական արժեքներ 1-100-ից:
Լավագույն պրակտիկա բացասական թեստավորման համար
Կան մի քանի լավագույն փորձեր, որոնք ներգրավված են բարձրորակ բացասական թեստավորում ապահովելու համար: Ահա մի քանի խորհուրդներ, որոնք կօգնեն ձեզ հասնել այնտեղ:
1. Սահմանեք ձեր անվավեր մուտքերը.
Լցնել մշակման փաստաթղթերը, օգտագործման դեպքերը և UI/UX՝ հնարավոր անվավեր մուտքերը հասկանալու և հայտնաբերելու համար: Ուշադրություն դարձրեք տվյալների անվավեր տիպերին, ծայրահեղ արժեքներին, բացակայող տվյալներին, դատարկ դաշտերին, անսպասելի ձևաչափերին և այլն:
2. Օգտագործեք սահմանային արժեքի վերլուծություն.
Ինչպես նշվեց վերևում, ուրվագծեք ձեր սահմանային արժեքները՝ գտնելու եզրային դեպքեր, որոնք կարող են առաջացնել անսպասելի ռեակցիաներ:
3. Աշխատակիցների համարժեք բաժանում.
Նայեք ձեր մուտքային տիրույթներին և բաժանեք դրանք վավեր և անվավեր արժեքների համարժեք բաժանումների: Այս գործընթացը օգնում է նվազեցնել փորձարկման դեպքերի թիվը, որոնք դուք պետք է գրեք, քանի որ եթե անվավեր տվյալների համարժեք հատվածը խնդիրներ է առաջացնում մեկ մուտքագրման համար, այն հավանաբար կներկայացվի ամբողջ դասում:
4. Ընդօրինակեք վատ օգտվողներին.
Դրական թեստավորումը հաստատում է օգտագործողի ակնկալվող վարքագիծը: Բացասական թեստավորումն ուսումնասիրում է, թե ինչ է տեղի ունենում, երբ մարդիկ չարաշահում են ձեր հավելվածը: Այսպիսով, մտածեք տարբեր սցենարների մասին, որտեղ դա կարող է տեղի ունենալ, և կրկնեք դրանք ձեր փորձարկման դեպքերում:
5. Թող ռիսկը և ազդեցությունը առաջնորդեն ձեր թեստավորումը.
Ոչ մի փորձարկող չունի անսահմանափակ ժամանակ: Ինչ-որ պահի, դուք պետք է դժվար ընտրություն կատարեք, քանի որ չեք կարող ստուգել (կամ նույնիսկ իմանալ) յուրաքանչյուր անսպասելի արդյունքի համար: Երբ դուք պետք է որոշեք, թե որ տեսակի բացասական թեստերը պետք է անցկացնեք, առաջնահերթություն տվեք այն ոլորտներին, որոնք առավելագույն ռիսկ կամ բացասական ազդեցություն կունենան ձեր արտադրանքի վրա:
6. Սխալների հետ կապված ստուգում.
Համոզվեք, որ սխալ եք թույլ տվել ձեր թեստավորման մի մասի հետ աշխատելիս՝ ստուգելով, որ սխալի հաղորդագրությունները օգտակար են և ճշգրիտ:
7. Ավտոմատացնել որքան հնարավոր է.
Ավտոմատացումը հմուտ է առօրյա և կրկնվող առաջադրանքների կատարման մեջ: Այնուամենայնիվ, բացասական փորձարկումը դեռ պահանջում է ձեռքով մոտեցում՝ հետախուզական փորձարկման և եզրային դեպքեր գտնելու համար:
Լավագույն բացասական փորձարկման գործիքները 2024 թ
Թեև ծրագրային ապահովման բացասական փորձարկումը տարածված է արդյունաբերության մեջ, աշխատանքի համար հստակ գործիքների պակաս կա: Դրա մեծ պատճառը բացասական թեստավորման բազմակողմանի բնույթն է: Ավելին, նույն գործիքներից շատերը, որոնք օգտագործվում են դրական թեստավորման համար, աշխատում են բացասական թեստավորման համար, երբ դուք կարգավորում եք մուտքային տվյալները:
ZAPTEST բացասական թեստավորման լավագույն գործիքն է իր բազմակողմանի և մոդուլային բնույթի պատճառով: Այն հեշտ է օգտագործել և հարմարեցնել, և շնորհիվ միջպլատֆորմային և խաչաձեւ հավելվածների հնարավորությունների, այն առաջարկում է ճկունություն, որը դժվար է հաղթել:
Տվյալների վրա հիմնված փորձարկում և մուտացիաների թեստավորում ֆունկցիոնալությունը դարձնում է ZAPTEST-ը կատարյալ բացասական թեստավորման համար: Ավելին, դրա շնորհիվ ՀՀԿ հնարավորություններ, դուք կարող եք նմանակել իրական աշխարհի օգտատերերին, վերօգտագործել թեստերը և հեշտությամբ պատրաստել հաշվետվություններ և փաստաթղթեր: Մի խոսքով, ZAPTEST-ի` ժամանակակից ծրագրային ապահովման ավտոմատացման և ռոբոտային գործընթացների ավտոմատացման ծրագրակազմը գործարկելու ունակությունը դարձնում է այն մեկ պատուհանի ցանկացած ավտոմատացման առաջադրանքի համար, ներառյալ բացասական թեստավորումը:
Վերջնական մտքեր
Բացասական թեստավորումը ծրագրային ապահովման թեստավորման ժամանակ օգնում է թիմերին հասկանալ, թե ինչպես է իրենց հավելվածը կարգավորելու անսպասելի մուտքերը և անվավեր տվյալները: Մինչև դրական թեստավորումը ստուգվում է, թե արդյոք ձեր ծրագրաշարը գործում է այնպես, ինչպես նախատեսված է, բացասական ծրագրաշարի փորձարկումն օգնում է ձեզ պարզել, թե ինչ է տեղի ունենում, երբ օգտվողները սխալ են ընտրում մուտքերն ու տվյալները: Երկու մոտեցումներն էլ կարևոր են, եթե ցանկանում եք ամուր և ամուր ծրագիր, որը կարող է դիմակայել օգտվողների տարբեր փոխազդեցության սթրեսներին և լարվածությանը: