Tarkvara testimise metoodikad: kvaliteedikontrolli mudelid
โก Nutikas kokkuvรตte
Tarkvara testimise metoodika mรครคratleb strateegiad ja testimistรผรผbid, mida kasutatakse rakenduse vastavuse kliendi ootustele kinnitamiseks. Jugaprogrammeerimine, iteratiivne programmeerimine, agiilne programmeerimine ja ekstreemprogrammeerimine kujundavad iga programmeerimise algust ja tagasiside tagastamise viisi.

Mis on tarkvara testimise metoodika?
Tarkvara testimise metoodika on mรครคratletud kui strateegiad ja testimistรผรผbid, mida kasutatakse testitava rakenduse vastavuse kliendi ootustele tรตendamiseks. Testimismeetodid hรตlmavad funktsionaalset ja mittefunktsionaalset testimist AUT kinnitamiseks. Testimismetoodikate nรคited on รksuse testimine, Integratsiooni testimine, Sรผsteemi testimine, Jรตudluse testimine jne. Igal testimismetoodikal on mรครคratletud testieesmรคrk, testimisstrateegia ja tulemused.
mรคrkused: Kuna tarkvara testimine on iga arendusmetoodika lahutamatu osa, kasutavad paljud ettevรตtted kรตnekeeles mรตistet arendusmetoodikad ja testimismetoodikad. Seega vรตivad testimismetoodikad viidata ka Waterfall-, Agile- ja muudele kvaliteedikontrolli mudelitele, vastupidiselt รผlaltoodud testimismetoodikate mรครคratlusele. Arutelu erinevate testimistรผรผpide รผle ei anna lugejatele lisavรครคrtust. Seetรตttu kรคsitleme erinevaid arendusmudeleid.
Testimismetoodika vs testimistรผรผp vs testimisstrateegia
รlaltoodud mรคrkus vihjab valdkonna tรตelisele ebaselgusele. Vestluses kasutatakse kolme terminit vaheldumisi, kuid projektidokumendis tรคhendavad need erinevaid asju ja nende segi ajamine loob testimisplaanid, mis vastavad valele kรผsimusele.
| Termin | Kรผsimus, millele see vastab | Otsustas | Nรคited |
|---|---|---|---|
| Testimismetoodika | Millal ja kuidas testimine arendustsรผklisse sobitub? | Kasutusel olev arendusmudel | Juga, iteratiivne, agiilne, ekstreemne programmeerimine |
| Testimise tรผรผp | Millist toote aspekti kontrollitakse? | Riskide ja nรตuete katmine | รksus, integratsioon, sรผsteem, jรตudlus, turvalisus |
| Testimise tase | Kui pรตhjalikult tarkvara uuritakse? | Positsioon ehitushierarhias | Komponent, integratsioon, sรผsteem, aktsepteerimine |
| Testistrateegia | Milline on meie organisatsiooni lรคhenemine kvaliteedile? | Kvaliteedi tagamise juhtimine kehtib kรตigis projektides | Riskipรตhine, automatiseerimine esikohal, nihe vasakule |
| Katseplaan | Mida tรคpselt selle projektiga testitakse, millal ja kelle poolt? | Testijuht, projektispetsiifiline | Ulatus, ajakava, ressursid, sisenemis- ja vรคljumiskriteeriumid |
Kasulik rusikareegel: metoodika mรครคrab rรผtmi, tรผรผp seab eesmรคrgi ja testimisplaan dokumenteerib kohustuse. Allpool kรคsitletakse metoodikaid.
Juga mudel
Mis siis tรคpsemalt Megabonder on?
aasta juga mudel, tarkvaraarenduse edenemine lรคbi erinevate etappide, nagu nรตuete analรผรผs, disain jne โ jรคrjestikku.
Selles mudelis algab jรคrgmine faas alles siis, kui varasem faas on lรตppenud.
Mis on testimisviis?
Kose mudeli esimene etapp on nรตuete faas, kus kรตik projekti nรตuded on enne testimise alustamist tรคielikult mรครคratletud. Selles etapis mรตtleb testimisrรผhm ajurรผnnakuid testimise ulatusele, testimisstrateegiale ja koostab รผksikasjaliku testimisplaani.
Alles siis, kui tarkvara projekteerimine on lรตpetatud, jรคtkab meeskond testjuhtumite teostamist, et tagada arendatud tarkvara kรคitumine ootuspรคraselt.
Selle metoodika kohaselt liigub testimisrรผhm jรคrgmisse faasi alles siis, kui eelmine etapp on lรตppenud.
| Eelised | Puudused |
|---|---|
| Seda tarkvaratehnoloogia mudelit on vรคga lihtne planeerida ja hallata. Seega saab projekte, kus nรตuded on selgelt mรครคratletud ja eelnevalt vรคlja toodud, hรตlpsasti testida kosemudeli abil. | Kose mudelis saate jรคrgmise etapiga alustada alles siis, kui eelmine etapp on lรตppenud. Seetรตttu ei suuda see mudel vรตtta arvesse ettenรคgematuid sรผndmusi ja ebakindlust. |
| See metoodika ei sobi projektidele, kus nรตuded muutuvad sageli. |
Iteratiivne areng
Mis siis tรคpsemalt Megabonder on?
Selles mudelis jagatakse suur projekt vรคikesteks osadeks ja iga osa allutatakse juga mudeli mitmele iteratsioonile. Iteratsiooni lรตpus arendatakse uus moodul vรตi tรคiustatakse olemasolevat moodulit. See moodul integreeritakse tarkvaraarhitektuuri ja kogu sรผsteemi testitakse tervikuna.
Mis on testimisviis?
Niipea kui iteratsioon on lรตppenud, testitakse kogu sรผsteemi. Testimise tagasiside on kohe saadaval ja lisatakse jรคrgmisesse tsรผklisse. Jรคrjestikuste iteratsioonide testimisaega saab varasematest iteratsioonidest saadud kogemuste pรตhjal vรคhendada.
| Eelised | Puudused |
|---|---|
| Iteratiivse arenduse peamine eelis on see, et testi tagasiside on kohe saadaval iga tsรผkli lรตpus. | See mudel suurendab mรคrkimisvรครคrselt side รผldkulusid, kuna iga tsรผkli lรตpus tuleb anda tagasisidet tulemuste, jรตupingutuste jms kohta. |
Agiilne metoodika
Mis siis tรคpsemalt Megabonder on?
Traditsioonilised tarkvaraarenduse metoodikad tรถรถtavad eeldusel, et tarkvaranรตuded jรครคvad kogu projekti vรคltel samaks. Kuid keerukuse suurenedes muutuvad nรตuded palju ja need arenevad pidevalt. Kohati pole klient ise kindel, mida ta tahab. Kuigi iteratiivne mudel kรคsitleb seda probleemi, pรตhineb see ikkagi juga mudelil.
Agile metoodikas arendatakse tarkvara jรคrk-jรคrgult kiirete tsรผklitena. Rรตhutatakse pigem klientide, arendajate ja klientide vahelisi suhtlusi kui protsesse ja tรถรถriistu. Agiilne metoodika keskendub pigem muutustele reageerimisele kui ulatuslikule planeerimisele.
Mis on testimisviis?
Agiilsetes arendusmeetodites kasutatakse jรคrkjรคrgulist testimist ja seetรตttu testitakse iga projekti vรคljalaset pรตhjalikult. See tagab, et kรตik sรผsteemivead parandatakse enne jรคrgmist vรคljalaset.
| Eelised | Puudused |
|---|---|
| Projektis on igal ajal vรตimalik nรตuete tรคitmiseks teha muudatusi. | Pidev kliendisuhtlus tรคhendab lisaajalist survet kรตigile sidusrรผhmadele, sealhulgas kliendile endale, tarkvaraarendusele ja testimismeeskondadele. |
| See jรคrkjรคrguline testimine vรคhendab riske. |
Ekstreemne programmeerimine
Mis siis tรคpsemalt Megabonder on?
รรคrmuslik programmeerimine on teatud tรผรผpi agiilne metoodika, mis usub lรผhikestesse arendustsรผklitesse. Projekt jaguneb lihtsateks inseneriรผlesanneteks. Programmeerijad kodeerivad lihtsa tarkvara ja pรถรถrduvad tagasiside saamiseks tagasi kliendi poole. Revkliendilt saadud punktid lisatakse ja arendajad jรคtkavad jรคrgmise รผlesandega.
รรคrmusliku programmeerimise puhul tรถรถtavad arendajad tavaliselt paaris.
รรคrmuslik programmeerimine kasutatakse kohtades, kus klientide nรตudmised muutuvad pidevalt.
Mis on testimisviis?
รรคrmuslik programmeerimine jรคrgib testipรตhist arendust, mida kirjeldatakse jรคrgmiselt -
- Lisa Testjuhtum testimiskomplekti, et kontrollida uut funktsionaalsust, mida pole veel vรคlja tรถรถtatud
- Kรคivitage kรตik testid ja ilmselt peab uus lisatud testjuhtum ebaรตnnestuma, kuna funktsioon pole veel kodeeritud
- Kirjutage funktsiooni/funktsiooni rakendamiseks kood
- Kรคivitage testkomplekt uuesti. Seekord peaks uus testjuhtum lรคbi saama, kuna funktsionaalne on kodeeritud
| Eelised | Puudused |
|---|---|
| Kliendid, kellel on ebamรครคrane tarkvaradisain silme ees, vรตiksid kasutada ekstreemset programmeerimist | Tarkvaraarenduse meeskonna ja klientide kohtumised suurendavad ajavajadust. |
| Pidev testimine ja vรคikeste vรคljaannete pidev integreerimine tagavad, et tarkvarakood on kรตrge kvaliteediga |
V-mudel ja spiraalmudel
Enamikus projektides esineb veel kaks mudelit, mis tรคiendavad pilti, sest igaรผks neist vastab juga-lรคhenemise nรตrkusele omal moel.
V-mudel. V-mudelit, mida sageli nimetatakse verifitseerimiseks ja valideerimiseks, seob iga arendusfaasi vastava testimisfaasiga, mis on joonistatud V-mudeli kahe haruna. Nรตuded on seotud vastuvรตtutestimisega, kรตrgetasemeline disain sรผsteemitestimisega, madalatasemeline disain integratsioonitestimisega ja kodeerimine รผhiktestimisega. Selle vรครคrtus seisneb selles, et testide kujundamine algab iga arendusfaasi kรตrval, mitte pรคrast kodeerimist, seega leiab vastuvรตtutestide kirjutaja ebamรครคrased nรตuded juba kuid enne defekti tekkimist. Selle nรตrkus on pรคritud juga mudelilt: mudel eeldab endiselt, et nรตuded on stabiilsed.
Spiraalmudel. Spiraal mรคhib iteratsiooni selgesรตnalise riskianalรผรผsi รผmber. Iga tsรผkkel sisaldab nelja tegevust: eesmรคrkide mรครคramine, riskide tuvastamine ja lahendamine, arendamine ja testimine ning seejรคrel jรคrgmise iteratsiooni planeerimine. Seega keskendub testimine pigem seal, kus risk on suurim, mitte ei jaotu รผhtlaselt. See sobib suurtele, kallitele ja pikaajalistele programmidele, nagu lennundus- vรตi pangandussรผsteemid, kus hilinenud avastamise hind on tรตsine. Vรคikese veebiprojekti puhul on iga tsรผkli ametliku riskianalรผรผsi lisakulud harva รตigustatud.
Mรตlemad mudelid paiknevad juga-distsipliini ja agiilse reageerimisvรตime vahel, kus vรคljalaskesagedus on olulisem kui kumbki neist, a DevOps torujuhe suunab testimise pideva integratsiooni valdkonda, nii et iga commit kontrollitakse automaatselt.
Millist tarkvarametoodikat valida?
Tarkvara arendamiseks ja selle testimiseks on saadaval palju metoodikaid. Iga testimistehnika ja -metoodika on loodud konkreetseks otstarbeks ning sellel on oma suhtelised eelised ja puudused.
Konkreetse metoodika valik sรตltub paljudest teguritest, nagu projekti olemus, kliendi nรตuded, projekti ajakava jne.
Testimise seisukohast nรตuavad mรตned metoodikad sisendi testimist arendustegevuse elutsรผkli alguses, samas kui teised ootavad, kuni sรผsteemi tรถรถtav mudel on valmis.
Kuidas seadistada tarkvara testimise metoodikat?
Tarkvara testimise metoodikaid ei tohiks luua ainult tarkvarakoodi testimise pรคrast. Kaaluda tuleks suurt pilti ja testimismetoodikaga rahulduda projekti peamise eesmรคrgiga. Vaadake seda mainekate loendit tarkvara testimise teenusepakkujad kes aitab teil luua tรตhusaid testimisstrateegiaid, mis on kohandatud teie projekti eesmรคrkidele.
Plaanimine
Realistlik ajakava on eduka testimismetoodika rakendamise vรตti ja ajakava peaks vastama iga meeskonnaliikme vajadustele.
Mรครคratletud tulemused
Kรตikide meeskonnaliikmete samal lehel hoidmiseks tuleks esitada tรคpselt mรครคratletud tulemused. Saadetised peaksid sisaldama otsest sisu ilma รผhegi mรตisteta.
Testimisviis
Kui ajakava on lรตpule viidud ja mรครคratletud tulemused on kรคttesaadavaks tehtud, peaks testimismeeskond suutma sรตnastada รตige testimisviisi. Mรครคratlusdokumendid ja arendajakoosolekud peaksid nรคitama meeskonnale parimat testimisviisi, mida projekti jaoks kasutada saab.
Aruandlus
Lรคbipaistvat aruandlust on vรคga raske saavutada, kuid see samm mรครคrab รคra projektis kasutatava testimismeetodi tรตhususe.




