ArvutidTarkvara

Testimise programmid - tarkvaratoote vigade avastamise protsess

Tarkvara arendamisel tugineb märkimisväärne osa tootmisprotsessist programmi testimist. See, mida see on ja kuidas seda tegevust viiakse läbi, käsitletakse käesolevas artiklis.

Mida nimetatakse testida?

Seda peetakse protsessi käigus, mille kestel tarkvara käivitatakse, et leida koodi ebatäpset toimimist. Parima tulemuse saamiseks on tahtlikult konstrueeritud keerulised sisendandmete kogumid. Audiitori peamine eesmärk on optimeerida tarkvaratoote rikete võimalusi . Kuigi mõnikord saab arenenud programmi testimist lihtsustada tavapärase jõudluse kontrollimise ja funktsioonide toimimisega. See säästab aega, kuid sageli kaasneb ebausaldusväärne tarkvara, kasutaja rahulolematus ja nii edasi.

Efektiivsus

Kui hästi ja kiiresti vigu mõjutab oluliselt vajaliku kvaliteedi tarkvara arendamise kulu ja kestus. Seega, hoolimata asjaolust, et testrid saavad palka mitu korda vähem kui programmeerijad, nende teenuste maksumus jõuab tavaliselt 30-40% kogu projekti maksumusest. See on tingitud personali arvust, sest vea otsimine on ebatavaline ja üsna keeruline protsess. Kuid isegi juhul, kui tarkvara läbis kindlasti mitmeid katseid, pole 100% garantiid selle üle, et vigu ei oleks. See ei ole teada, kui need ilmnevad. Selleks, et testrid saaksid valida tõrke tüüpe, mis tõenäolisemalt leiavad viga, kasutatakse erinevaid motivatsioonimeetodeid: nii moraalset kui ka materiaalset.

Lähenemisviis tööle

Optimaalne olukord on siis, kui rakendatakse erinevaid mehhanisme tagamaks, et tarkvara algusest peale pole vigu. Selleks on vaja hoolitseda nõuetekohase arhitektuuri kujundamise, täpse tehnilise loovutamise eest ning samuti on oluline mitte teha muudatusi projekti käivitamisel. Sellisel juhul seisab tester vastu ülesande leida väikse hulga vigade, mis jäävad lõpptulemusse. See säästab nii aega kui ka raha.

Mis on test?

See on inspektori tegevuse oluline aspekt, mis on vajalik programmikoodi puudujääkide edukaks avastamiseks. Need on vajalikud taotluse korrektsuse jälgimiseks. Mis on testimisse kaasatud? See koosneb nende esialgsetest andmetest ja väärtustest, mis tuleks saada saadud tulemusena (või vaheproduktina). Probleemide ja vastuolude edukaks tuvastamiseks tuleks pärast algoritmi väljatöötamist koostada testid, kuid programmeerimine ei alanud. Soovitud andmete arvutamisel on soovitav kasutada mitmeid lähenemisi. Sellisel juhul suureneb vea avastamise tõenäosus, kuna on võimalik koodi vaadata teisest vaatepunktist. Keerukad testid peavad tagama lõpptoote toote välise mõju ning selle tööalgoritmide kontrollimise. Erilist huvi pakuvad juhtumite piiramine ja nurjumine. Nii võib vigadega tegelemisel sageli avastada, et see tsükkel kestab korraga vähem või rohkem kui kavandati. Samuti on oluline testida arvutit, mille kaudu saate kontrollida soovitud tulemuse vastavust erinevatele masinatele. See on vajalik selleks, et tarkvara saaks töötada kõigil arvutitel. Lisaks sellele on multiplatvormilise arendamise arendamisel oluline arvuti testimine, millelt see arengut läbi viiakse.

Vea leidmise kunst

Programmid on sageli suunatud suure hulga andmetega töötamisele. Kas see on tõesti vajalik, et seda täielikult luua? Ei, see pole nii. Programmi "miniaturiseerimine" tava on laialt levinud. Sellisel juhul on andmete kogus mõistliku vähenemise võrreldes sellega, mida tuleks kasutada. Vaatame seda näidet: on olemas programm, milles luuakse 50x50 maatriks. Teisisõnu - peate käsitsi sisestama 2500000 väärtust. See on muidugi võimalik, kuid see võtab väga pikka aega. Kuid tulemuslikkuse testimiseks võtab tarkvara toode maatriksi, mille mõõtmed on 5x5. Selleks peate sisestama juba 25 väärtust. Kui sel juhul on normaalne, veadeta töö, tähendab see, et kõik on korras. Kuigi siin on ka lõkse, mis seisnevad asjaolus, et miniaturiseerimisel tekib olukord, mille tagajärjel muutusid muutused kaudselt ja ajutiselt kaovad. See on väga haruldane, kuid juhtub ka uusi vigu.

Püüatud eesmärgid

Tarkvara testimine ei ole lihtne ülesanne, kuna seda protsessi ei saa täielikult vormistada. Suured programmid peaaegu üldse ei vaja täpset standardit. Seepärast kasutatakse juhistena mitmeid kaudseid andmeid, mis aga ei suuda täielikult kajastada ebaturvaliselt tarkvaraarenduse omadusi ja funktsioone. Ja need tuleks valida nii, et õige tulemus arvutatakse isegi enne tarkvaratoote testimist. Kui seda ei tehta ette, siis on kiusatus kõike ligikaudselt kaaluda ja kui masina tulemus satub oodatud vahemikku, tehakse vale otsus, et kõik on õige.

Kontrollige erinevaid tingimusi

Tavaliselt toimub programmide testimine mahudena, mis on vajalikud piiratud ulatuses funktsionaalsuse minimaalseks kinnitamiseks. Tegevused viiakse läbi parameetrite muutustega, samuti nende töötingimustega. Katseprotsessi võib jagada kolmeks etapiks:

  • Kontrollige tavalistes tingimustes. Sellisel juhul testitakse arenenud tarkvara põhifunktsioone. Tulemus peaks olema nii ootuspärane.
  • Kontrollige avariiolukordi. Sellistel juhtudel on see mõeldud piiride andmete saamiseks, mis võib negatiivselt mõjutada loodud tarkvara efektiivsust. Näiteks võite töötada väga suurte või väikeste arvudega või üldiselt teabe täielikku puudumist.
  • Erandi kontroll. See hõlmab andmete kasutamist, mis on väljaspool töötlemist. Sellistes olukordades on see väga halb, kui tarkvara tajub neid arvutamiseks sobivaks ja annab usaldusväärse tulemuse. On vaja hoolitseda selle eest, et sellistel juhtudel lükatakse tagasi kõik andmed, mida ei saa korralikult töödelda. Samuti on vaja anda teavet selle kasutaja kohta

Tarkvara testimine: tüübid

Tarkvara ilma vigu loomine on väga raske. See võtab palju aega. Hea toote saamiseks kasutatakse sageli kahte tüüpi katsetusi: "Alpha" ja "Beta". Mis nad on? Kui nad ütlevad alfa-testimise kohta, tähendab see katsetamist, mille arendajad töötavad laboratoorsetes tingimustes. See on viimane katseetapp enne, kui programm edastatakse lõppkasutajatele. Seepärast üritavad arendajad maksimaalselt sisse lülitada. Lihtsuse huvides saab andmeid logida, et luua probleemide kronoloogia ja nende kõrvaldamine. Beeta testimine tähendab tarkvara tarnimist piiratud arvule kasutajatele, et nad saaksid programmi kasutada ja tuvastada vastamata vead. Sellisel juhul on funktsioon, et sageli ei kasutata tarkvarat otstarbekohaselt. Selle tulemusena avastatakse rikkeid, kus midagi pole varem näha. See on üsna tavaline ja seda ei pea muretsema.

Katse lõpetamine

Kui eelmised sammud on edukalt lõpule viidud, jääb see vastuvõtukatset läbi viia. Sellisel juhul muutub see lihtsalt formaalsuseks. Selle kontrolli käigus kinnitatakse, et täiendavaid probleeme pole leitud ja tarkvara saab turule lasta. Mida suurem on lõpptulemus, seda tihedamalt peaks auditi läbi viima. On vaja tagada, et kõik etapid on edukalt läbinud. Selline on üldiselt katsetamise protsess. Ja nüüd läheme tehnilistesse üksikasjadesse ja räägime sellistest kasulikest vahenditest nagu testiprogrammid. Mis nad on ja millistel juhtudel neid kasutatakse?

Automatiseeritud testimine

Varem eeldati, et arenenud tarkvara dünaamiline analüüs on liiga raske lähenemine, mis ei ole efektiivne defektide tuvastamiseks. Kuid programmide keerukuse ja mahu suurenemise tõttu tekkis vastupidine vaade. Automaatset katsetamist kasutatakse siis, kui kõige olulisemad prioriteedid on tõhusus ja ohutus. Ja need peaksid olema mis tahes sisendandmetega. Nende programmide näidetena, mille jaoks selline testimine on soovitav, võib viidata järgnevatele punktidele: võrguprotokollid, veebiserver, liivakastid. Järgmisena kaalume mitmeid näiteid, mida sellistes tegevustes saab kasutada. Kui olete huvitatud tasuta testimise programmidest, siis on üsna raske nende seas leida kvaliteetseid. Kuid on häkitud "piraat" versioonid hästi tõestatud projektidest, nii et saate pöörduda nende teenuste poole.

Laviin

See tööriist aitab avastada defekte, katsetades programme dünaamilise analüüsi režiimis. Ta kogub andmeid ja analüüsib arenenud objekti täitmistee. Testerile antakse sisendandmete komplekt, mis põhjustab viga või mööda olemasolevate piirangute komplekti. Hea kontrollimisalgoritmi olemasolu tõttu on välja töötatud suur hulk võimalikke olukordi. Programm saab mitmesuguseid sisendandmekogumeid, mis võimaldavad teil simuleerida märkimisväärset arvu olukordi ja luua tingimused, kus esineb kõige tõenäolisem ebaõnnestumine. Programmi oluline eelis on heuristilise meetri kasutamine. Kui probleem on olemas, siis on rakenduse tõrk tõenäoliselt väga tõenäoline. Kuid sellel programmil on piirangud, näiteks ainult ühe märgistatud sisendpesa või faili kontrollimine. Sellise toimingu nagu näiteks programmide katsetamise korral saab üksikasjalikku teavet null-suunamiste, lõputute silmuste, valede aadresside või talitlushäiretega seotud probleemide olemasolu kohta raamatukogude kasutamise tõttu. Loomulikult pole see täielik avastatud vigade nimekiri, vaid ainult nende tavalised näited. Parandada puudused, alasti, peavad arendajad - automaatsed tööriistad nendel eesmärkidel ei sobi.

KLEE

See on hea programm mälu testimiseks. See võib saada umbes 50 süsteemi kõnet ja suurt arvu virtuaalseid protsesse, mis toimub paralleelselt ja eraldi. Kuid üldiselt ei otsi programm üksikute kahtlaste asukohtade otsimist, vaid töötleb maksimaalselt võimalikku koodi ja analüüsib kasutatud andmeedastustooteid. Selle tõttu sõltub programmi testimise aeg objekti suurusest. Kontrollimisel tehakse panus sümboolsetesse protsessidesse. Need on üks võimalikest viisidest testitavas programmis tehtud ülesannete täitmiseks. Paralleelse toimingu tõttu on võimalik analüüsida suurel arvul uuritavate rakenduste toimivuse variante. Iga katse lõppedes iga tee pärast katse alustamiseks sisendandmete kogumit. Tuleb märkida, et KLEE-iga kasutatavad testimise programmid võimaldavad tuvastada suure hulga kõrvalekaldeid, mis ei tohiks olla. See võib leida probleeme isegi aastakümnete jooksul välja töötatud rakendustes.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 et.delachieve.com. Theme powered by WordPress.