Mis on tarkvaras destruktiivne testimine?
โก Nutikas kokkuvรตte
Destruktiivne testimine surub tarkvararakendust tahtlikult seni, kuni see ebaรตnnestub, paljastades tรคpsed punktid, kus tรถรถkindlus ebaรตnnestub ebaรตige kasutamise, sobimatu sisendi ja ettearvamatu kรคitumise tรตttu, kuhu tavalised funktsionaalsed kontrollid kunagi ei jรตua.
Mis on hรคvitav testimine?
Destruktiivne katsetamine on tarkvara testimise meetod, mida kasutatakse tarkvaraprogrammi tรตrkekohtade leidmiseks. Selle tehnika puhul pannakse rakendus tahtlikult ebaรตnnestuma, et saaks kontrollida selle tรถรถkindlust ja tuvastada tรตrkekohti. Erinevalt testimismeetoditest, mis kontrollivad, mida rakendus peaks tegema, uurib destruktiivne testimine ettearvamatut kasutajakรคitumist rakenduses.
Algsete nรตuete tundmine ei ole purustava testimise jaoks vajalik. Mรตningane teadmine on aga arendusprotsessis abiks.ping hea testimisstrateegia.
Allolev illustratsioon tabab idee โ testija tรถรถtab toote vastu, mitte koos sellega.
Miks tehakse destruktiivset testimist?
- See aitab mรตista tarkvara ennustatavat kรคitumist olukordades, kus seda kasutatakse valesti.
- See aitab kontrollida tarkvaratoote tรถรถkindlust.
- See toob esile haruldased defektid, mida tavakasutajad kunagi ei pรตhjusta, kuid mis ilmnevad hiljem tootmises.
Hรคvitav testimine vs mittepurustav testimine
Need kaks lรคhenemisviisi tรคiendavad teineteist, mitte ei ole konkurendid. Mittepurustav katsetamine โ mida nimetatakse ka positiivseks vรตi รตnneliku tee testimiseks โ suhtleb tarkvaraga korrektselt ja jรคtab versiooni puutumata. Destruktiivne testimine toimib vastupidiselt: see toidab vigaseid andmeid ja valesid jรคrjestusi, kuni midagi katki lรคheb.
| Aspekt | Destruktiivne katsetamine | Mittepurustav katsetamine |
| Tahtlus | Rakenduse sundimine nurjuma | Veenduge, et rakendus tรถรถtab ettenรคhtud viisil |
| Kasutatud sisend | Kehtetu, vigane, vahemikust vรคljas, jรคrjestusest vรคljas | Kehtivad andmed eeldatavas vahemikus |
| Kรผsimusele vastati | Kus ja kuidas see katki lรคheb? | Kas see teeb seda, mida peaks? |
| Nรตuete tundmine | vabatahtlik | oluline |
| Tรผรผpiline maksumus | Kรตrgem โ uurimuslik ja avatud | Madalam โ skriptitud ja korratav |
| Tulemus | Rikkepunktid, ulatuse piirid, taastumiskรคitumine | Vastab spetsifikatsioonile vรตi ei vasta sellele |
Mida kontrollitakse destruktiivse testimise kรคigus?
Destruktiivne testimine vaatleb kรคitumispiiri mรตlemat poolt:
- Tarkvara รตige kรคitumine
- Tarkvara vale kรคitumine
- Ebaรตige kasutamine
- Valed sisendandmed
- รiged vรคljundandmed
Kogu harjutuse vรคltel peavad kehtima kaks tingimust:
- Tarkvara ei tohi kunagi tรถรถdelda ega aktsepteerida sobimatuid sisendandmeid.
- Olenemata sisendandmete kehtivusest vรตi รตigsusest peaks tarkvara alati tootma korrektseid vรคljundandmeid.
Kuidas teha hรคvitavat testimist?
Destruktiivne testimine hรตlmab paljusid tegevusi, nรคiteks testiskriptide komplekti kavandamist, nende kรคivitamist, vigade esiletรตstmist, vigade parandamist ning iteratsiooni lรตpus sidusrรผhmadele lรคbimise vรตi mittelรคbimise mรตรตdikute edastamist.
Selle kรคivitamiseks on palju vรตimalusi. Jรคrgnevalt on toodud mรตned nรคited.
- Rikkepunktide analรผรผsi meetod: sรผsteemi lรคbivaatus, mis hindab, mis vรตib eri punktides valesti minna. Abi a-lt รคrianalรผรผtik vรตib selle strateegia jaoks vรตtta.
- Testijate vastastikune hindamine: saada oma testjuhtumid analรผรผsitud vรตi รผle vaadatud kaastestija poolt, kes on sรผsteemi vรตi funktsiooniga vรคhem tuttav.
- Testjuhtumite รคriline รผlevaade: Lรตppkasutajad vรตi eksperdid mรตtlevad sageli vรคlja sobivaid stsenaariume, mis testijatel kahe silma vahele jรครคvad, kuna testija keskendub esitatud nรตuetele.
- Tehke uurimuslikke katseid, kasutades arvutustabeleid: uurimuslik testimine Testimise kรคigus kogutud andmed registreeritakse testide arvu, mis vรตimaldab teste korrata ja hoiab testide ulatuse kontrolli all.
- Kasutage teist allikat: paluge kellelgi teisel tarkvaratoode lahti vรตtta ja leitud stsenaariume analรผรผsida.
Destruktiivse testimise nรคide
Mรตelge pangarakenduse sisselogimis- ja profiiliekraanidele. Hรคvitav parool toimiks sellistel juhtudel:
- Kleepige 5,000 tรคhemรคrgi pikkune string 50 tรคhemรคrgiga vรคljale ja veenduge, et vรคli lรผkkab selle tagasi, selle asemel et seda vaikselt kรคrpida.
- Sisestage numbrilise summa vรคljale tรคhed, sรผmbolid ja negatiivsed vรครคrtused.
- Katkesta oodatud jรคrjestus โ ava makse kinnitusleht otse ilma eelnevat sammu lรตpetamata.
- Vajutage korduvalt ja kiiresti jรคrjest nuppu โEsitaโ, et nรคha, kas luuakse duplikaatkirjeid.
- Katkestage vรตrguรผhendus tehingu keskel ja kontrollige, kas rakendus taastub korrektselt vรตi jรคtab alles vaid osalise kirje.
Igal juhul on mรครคratletud ootus: selge valideerimissรตnum, andmete rikkumise puudumine ja kรคsitlemata erandite puudumine. Kรตik muu on rike, mida tasub defektina tรตstatada.
Destruktiivsed testimismeetodid
Tarkvaratehnikas kasutatakse destruktiivse testimise eesmรคrkide saavutamiseks jรคrgmisi meetodeid:
- Alfa-/beetatestimine
- Regressioonitestimine
- Liidese testimine
- Ekvivalentsuse jagamine
- Loop testimine
- Vastuvรตtutestid ja nii edasi
Destruktiivsed testimismeetodid
Allpool toodud tehnikaid saab kasutada muudatustega:
- Valge kasti testimine
- Turvakontroll
- Defektide testimine
- Suitsu testimine, ja nii edasi
Kui eesmรคrk on vastupidavus, tasub lisada kรตrvaltehnikaid, nรคiteks negatiivne test, stressitestimine, taastumise testimine ja hรคgustestimine.
Destruktiivse testimise eelised ja puudused
Enne tehnika vรคljalaskeks kavandamist tasub kompromiss selgelt vรคlja รถelda.
Eelised
- Revtuvastab tรตrkepunktid, milleni spetsifikatsioonipรตhine testimine kunagi ei jรตua.
- Mรครคrab kindlaks tegelikud ulatuse piirid, et toodet saaks nende sees enesekindlalt kasutada.
- Paljastab haruldased defektid, mis ilmnevad tootmises kaua pรคrast vรคljaandmist.
- Kontrollib vastupidavust, taastatavust ja veakรคsitlust vรครคrkasutuse korral.
Puudused
- Oma olemuselt avatud, seega ei ole katvust vรตimalik garanteerida ega kergesti mรตรตta.
- Aeganรตudev ja sรตltub testija kogemusest ja loovusest.
- Ilma kasutatud sammude hoolika logimiseta vรตib leidude taasesitamine olla keeruline.
- Halvasti kontrollitud testid vรตivad jagatud testandmeid rikkuda, seega on vaja isoleeritud keskkonda.

