Neigiamas testavimas
Neigiamas testavimas yra programinės įrangos testavimo tipas, naudojamas patikrinti, ar programinėje įrangoje nėra netikėtų įvesties duomenų ir sąlygų. Netikėti duomenys ar sąlygos gali būti įvairūs - nuo neteisingo duomenų tipo iki stiprios įsilaužimo atakos. Neigiamo testavimo tikslas yra užkirsti kelią programinės įrangos taikymui dėl neigiamų įvesties ir pagerinti kokybę bei stabilumą.
Tiesiog atlikdami teigiamą testavimą galime įsitikinti, kad sistema veikia normaliomis sąlygomis. Turime įsitikinti, kad mūsų sistema gali susidoroti su netikėtomis sąlygomis, kad užtikrintų 100% sistemą be gedimų.
Šioje pamokoje sužinosite
- Kas yra neigiamas testavimas?
- Neigiamo testavimo pavyzdys
- Kodėl atliekamas neigiamas testavimas?
- Kaip atlikti neigiamą testavimą
- Neigiamo testavimo privalumai
- Neigiamo testavimo trūkumai
Neigiamo testavimo pavyzdys
Apsvarstykite lifto atvejį, kuris dažniausiai laikomas neigiamų bandymų pavyzdžiu.
Visi žinome lifto funkcionalumą. Tai bus laikoma lifto reikalavimais, pvz., Paspaudus grindų numerį, liftas eina į tą aukštą.
Durys atsidaro automatiškai, kai liftas pasiekia nurodytą aukštą ir pan.
Dabar apsvarstykime keletą neigiamų scenarijų. Kai kurie iš jų yra,
Neigiamas testavimas | Teigiamas testavimas |
---|---|
|
|
|
|
|
|
Visi šie atvejai bus testuojami neigiamai. Svarbu tai, kad negalime įsitikinti, kad neįvyks visi aukščiau paminėti dalykai, todėl mums jų reikia turėti.
Apsvarstykite atvejį, kai antsvorio būklė yra patikrinta, o įgyvendinus, antsvoris būna pakeltas. Tai padarys galimą poveikį sistemos patikimumui ir netgi gali sukelti pavojų gyvybei. Tai paaiškina, kas yra neigiamas testavimas ir jo svarba.
Tas pats atvejis taikomas ir programinėje įrangoje. Jei bandymai buvo neigiami, nukrypome nuo įprastos darbo tvarkos. Peržvelkime keletą pavyzdžių.
Apsvarstykite, pavyzdžiui, registracijos formą.
Neigiamas testavimas | Teigiamas testavimas |
---|---|
|
|
|
|
|
|
|
|
Kaip minėjome anksčiau, turime įsitikinti, kad visais šiais neigiamais atvejais mūsų sistema veiks tinkamai. Apsvarstykite atvejį, jei kas nors bando įvesti simbolį numerio lauke, o sistema negali apdoroti netikėtų duomenų, nes laukia skaičiaus, ir galiausiai sistema sugenda. Arba kas, jei kas nors bandys atlikti SQL injekciją ir ištrinti visus mūsų duomenis iš duomenų bazės. Mes negalime pakelti tokių galimų nuostolių. Taigi neigiamas testavimas yra svarbus.
Kodėl atliekamas neigiamas testavimas?
Kadangi testavimas yra laiko ir sąnaudų reikalaujanti užduotis, tikrai svarbu nuspręsti, ką išbandyti, „kaip“ ir „kiek“. Turime išmintingai pasirinkti, ar turime atlikti neigiamą testavimą savo sistemoje, ar ne. Taigi pažvelkime į neigiamų testų svarbą.
Organizacijos perspektyva
Organizacija yra atsakinga už geros kokybės produkto tiekimą savo klientui. Norėdami tai pasiekti, turite atlikti neigiamą testavimą.
Kaip patvirtinimo dėl gedimo dalį organizacija turi atlikti neigiamą testavimą.
Gal mes negalime sukurti 100% be klaidų sistemos, tačiau turime įsitikinti, kad padarėme viską, kad išvengtume gedimo, kad pasiektume neigiamą testavimą.
Poveikis yra vienas veiksnys, į kurį turime atsižvelgti. Apsvarstykite, ar atlikome teigiamus testus el. Prekybos svetainėje, ir įsitikinkite, kad viskas gerai. Bet ką daryti, jei mūsų sistemoje yra spraga, kad kažkas gali atlikti SQL injekciją ir ištrinti visus mūsų duomenis. Tai bus didelis saugumo pažeidimas. Norint išvengti tokio tipo atvejų, taip pat reikia atlikti neigiamus testus.
Visuomenei atvirose programose, daugiausia svetainėse, visada turime nepamiršti, kad nelabai kontroliuojame programos naudojimo procedūrą, todėl turime atlikti neigiamus bandymus, kad įsitikintume, jog visi tokie atvejai yra aprėpti ir aprėpti.
Kitas dalykas, kuriuo turime pasirūpinti, yra tai, kad ten yra daugybė juodaodžių įsilaužėlių, kurie ieško galimybės sugriauti sistemą. Įsilaužimas yra svarbus atvejis, apėmęs neigiamą testavimą
Kliento perspektyva
Klientai visada tikisi, kad nėra pažeidžiamumo produktų, siekdami užtikrinti, kad neigiamas testavimas yra būtinas
Jei tai yra jautrus produktas, pvz., Elektroninė komercija, internetinės atsargos ir kt., Tada būtina saugumas ir neigiami testai.
Vienintelis kliento rūpestis dėl neigiamo testavimo yra tai, kad išlaidos. Išnagrinėjus poveikį, klientas turi nuspręsti, ar atlikti neigiamą testavimą.
Kaip atlikti neigiamą testavimą
Norėdami atlikti neigiamą testavimą, turime atsižvelgti į visus galimus atvejus. Tai yra, jei įmanoma, mes turime tai apsvarstyti bandomojoje byloje, nesvarbu, ar tai nėra teisingas būdas ją naudoti. Pvz., Jei matome el. Pašto lauką, pagalvokite apie visas įmanomas įvestis, kurias galime įdėti, išskyrus teisingą el. Pašto formatą. Tuo pačiu būdu, kai matome vaizdo įkėlimo parinktį, turime ją išbandyti su visais įmanomais failais.
Kurdami neigiamus bandymo atvejus, priešingu atveju turime pirmenybę teikti įvestims, bus daug galimų atvejų. Pvz., Vaizdo lauke, kuriame turėtų būti įvesti tik „.png.webp“ failai, galime įkelti daugybę galimybių, pvz., „Jpeg.webp“, „xml“, „xls“ ir kt. XML ir SQL gali turėti didesnį poveikį nei jpeg.webp ir xls, todėl pirmiausia turėtume pasirūpinti SQL ir XML atvejais. Taigi, norėdami sutaupyti laiko ir bandymų išlaidų, turime nustatyti prioritetus atvejams prieš vykdymą.
Neigiamų testų privalumai ir trūkumai
Kaip ir visi kiti bandymų metodai, neigiamų testų atveju yra privalumų ir trūkumų, daugiausia pagrįstų „kur“, „kada“ ir „kaip“ naudoti. Pažvelkime į tai.
Neigiamo testavimo privalumai
- Kadangi visi žinome, neigiamas testavimas yra labai svarbus norint užtikrinti produkto kokybę. Geros kokybės produktas yra visiškai pažeidžiamas produktas, siekiant užtikrinti, kad neigiamas testavimas yra labai svarbus.
- Atlikus neigiamą testą, įsitikinama, kad aptariami visi galimi atvejai. Tyčia ar netyčia yra neigiamų testų atvejų tikimybė. Taigi, norėdami įsitikinti, kad visi atvejai yra aprėpti, turime atlikti neigiamus ir teigiamus testus.
- Neigiamas testavimas padidins kliento pasitikėjimą prieš pradedant gyventi.
Neigiamo testavimo trūkumai
- Programinės įrangos inžinerijoje kai kuriais atvejais neigiamas testavimas tampa laiko ir energijos švaistymu. Daugeliu atvejų nereikia atlikti pernelyg neigiamų testų. Pvz., Jei programa yra sukurta naudoti vienam asmeniui, mes neturime atsižvelgti į atvejį, kai 100 vartotojų vienu metu naudojasi sistema. Taigi labai svarbu nuspręsti dėl sąlygų neigiamų bandymų atvejais. Bus atvejų, kai mums nereikės atlikti neigiamo testavimo konkrečioje sistemoje.
- Reikalauti iš kvalifikuotų ir patyrusių žmonių sukurti neigiamus testo atvejus.
- Klientui neigiamas testavimas yra dar vienas dalykas, sukeliantis nereikalingą vėlavimą išleisti ir padidinti kainą.
- Tikimybė, kad komanda praleis daugiau laiko ir energijos neigiamam testavimui. Yra tikimybė, kad testuotojai praleidžia daug laiko ir energijos atlikdami neigiamus testus, todėl teigiamų testų metu koncentracija yra mažesnė.