Ogromne programske družbe, kot je Google, uspevajo kljub nizkim prednostnim napakam v svoji programski opremi, vendar manjša podjetja in zagon podjetij nimajo tega razkošja.
Kupci pričakujejo, da bodo izdelki storili tisto, kar trdijo na prodajni strani ali v dokumentaciji. S tako veliko možnostmi tam ne bodo dvakrat premislili o skakanju ladje, če izdelek izgubi svoj čas in denar. Zato programska oprema pred izpustom opravi stroge teste, da bi:
poudariti razlike med prvotnim konceptom in končnim rezultatom
preverite, ali programska oprema deluje tako, kot načrtujejo načrtovalci
potrdite končni izdelek - izdelek mora izpolnjevati zahteve kupcev
oceniti značilnosti in kakovost
Preskušanje sledi strogemu načrtu. To optimizira uporabo dragocenih virov - spretnosti, časa in denarja, hkrati pa zainteresiranim stranem zagotavlja bistvene informacije, s katerimi lahko izdelek nadaljuje. Cilj je olajšati dobro izkušnjo končnega uporabnika s pomočjo močnega programa zagotavljanja kakovosti . Z vložki, ki so tako visoki, vodje QA so nekateri najboljši zaslužki v tech.Testing običajno sledi tem korakom:
Analiza zahtev, kadar upravljavci predstavijo načrt za vzpostavitev primerne testne strategije.
Začnejo se preskusi, rezultati pa se analizirajo.
Vse napake so popravljene, programska oprema pa gre skozi testiranje regresije - sistem za preverjanje, da program še deluje po spremembah.
Poročilo o zaprtju testa nato podrobno opisuje celoten proces in rezultate.
Metode preskušanja programske opreme
Tu so različne metode, ki se uporabljajo za ocenjevanje vedenja in uspešnosti izdelka.
Črna škatla in testiranje bele škatle sta dve temeljni metodi.
- Črna škatla testiranje - Tudi imenuje funkcionalno ali specifikacija temelji testiranje, ta metoda osredotoča na proizvodnjo. Preizkuševalci se ne ukvarjajo z notranjimi mehanizmi. Samo preverjajo, ali programska oprema naredi tisto, kar naj bi. Poznavanje kodiranja ni potrebno, testerji pa delujejo na nivoju uporabniškega vmesnika.
- Testiranje bele škatle - Ta metoda uporablja znanje kodiranja kot del preskusnega postopka. Ko izdelek ne uspe, testerji poiščejo globoko v kodo, kot je potrebno, da bi našli vzrok. Razvijalci programske opreme to počnejo sami, saj določajo, kako naj izdelek deluje. Za to metodo so druga imena za testiranje na podlagi strukture in stekleno polje.
- Statično preizkušanje - Preizkuševalci preučujejo programsko kodo in dokumentacijo, vendar ne izvajajo programa. Statični testi se začnejo zgodaj v razvoju izdelka med postopkom preverjanja.
- Dinamično testiranje - Programska oprema se izvaja z različnimi vhodi, testerji pa s to metodo primerjajo izhode s pričakovanim vedenjem.
- GUI testiranje - Ta preizkusi značilnosti GUI - oblikovanje besedila, besedilna polja, gumbi, seznami, postavitev, barve, pisave, velikosti pisave in tako naprej. Preizkušanje GUI je dolgotrajen, podjetja tretjih strank pa pogosto opravljajo nalogo namesto razvijalcev.
Testne stopnje
Ti so potrebni za določanje področij šibkosti in prekrivanja v vsaki fazi življenjskega cikla razvoja programske opreme.
- Preskušanje enot - Razvijalci testirajo najbolj osnovne dele kode, kot so razredi, vmesniki in funkcije / postopki. Vedo, kako se mora njihova koda odzvati in se lahko prilagodijo glede na proizvodnjo.
- Preskušanje komponent - Druga imena so testiranje modula ali programa. Podobno je testiranje enot, vendar vsebuje višjo stopnjo integracije. Moduli programske opreme so testirani na napake, da bi preverili njihovo posamezno funkcijo.
- Integracijsko testiranje - s tem so opredeljene napake, ko so moduli integrirani. Različni integracijski preskusi so od spodaj navzgor, od zgoraj navzdol in funkcionalni inkrementalni.
- Preskušanje sistema - Sestavni deli projekta se testirajo kot celota v različnih okoljih s to metodo. Spada pod črno polje in je eden izmed končnih testov v procesu. Določa, ali sistem deluje tako, kot ustreza poslovnim in uporabniškim potrebam.
- Testiranje alfa - notranje osebje testira programsko opremo na strani razvijalca v simuliranem ali dejanskem okolju. Po tem razvijalci odpravijo napake in druge težave.
- Beta testiranje - znano tudi kot testiranje na terenu, stranka v resničnih pogojih preizkuša izdelek na svojem spletnem mestu. Stranka lahko skupini končnih uporabnikov ponudi možnost, da programsko opremo preskusijo s pomočjo prelease ali beta verzije. Povratne informacije o možnih izboljšavah se nato pošljejo razvijalcu.
- Preizkusno sprejemanje - tudi v okviru testiranja črne škatle, stranka preizkuša programsko opremo, da ugotovi, ali je program razvijalec ustvaril želene specifikacije.
Vrste testov
Ti preskusi programske opreme se osredotočajo na posebne cilje.
- Preskušanje pri namestitvi - inženir testnega programa in konfiguracijski upravitelj izvede ta preizkus, da lahko končni uporabnik namesti in zažene program. Zajema področja, kot so namestitvene datoteke, lokacije namestitve in upravni privilegiji.
- Razvojno testiranje - s tem izvajamo vrsto sinhroniziranih strategij za odkrivanje in preprečevanje napak. Vključuje analizo statične kode, preglede vrstnikov, sledljivost in analizo meritev. Cilj je zmanjšati tveganja in prihraniti stroške.
- Testiranje uporabnosti - Uporabnik izkušnje spada v ospredje s tem testom. Izmeri, kako dobro je GUI zasnovan in njegova enostavnost uporabe. Preizkus preverja natančnost in učinkovitost delovanja ter čustveni odziv preizkušancev.
- Preverjanje kakovosti - to označuje, ali je programska oprema vredna časa in stroškov za nadaljevanje nadaljnjih testov. Preveč pomanjkljivosti in agresivnejših testov ne sledijo.
- Preskušanje dimljenja - Testiranje dima razkrije osnovne napake, ki so dovolj resne, da preprečijo sproščanje. Ko se to izvede na novem gradivu, se imenuje test za preverjanje zgradbe.
- Regresijsko testiranje - Ko se sistem spremeni, regresijsko testiranje spremlja nepričakovano vedenje. Opozarja na škodljive učinke na module ali komponente.
- Uničevalno testiranje - Preizkuševalci vnesejo nenormalne vnose in prepoznajo sposobnost programske opreme za upravljanje nepričakovanih vnosov. To kaže razvijalcem, kako robusten je program pri upravljanju napak.
- Testiranje obnovitve - ko strojna ali druge funkcije ne uspejo, ta preizkus prikazuje, kako dobro lahko programska oprema opomore in nadaljuje delovanje.
- Avtomatsko testiranje - izvaja funkcije, ki jih je težko izvajati ročno. Uporablja posebno programsko opremo za izvajanje testov in za zagotavljanje podatkov o dejanskih in pričakovanih rezultatih.
- Preskušanje združljivosti - programska oprema mora delovati v različnih računalniških okoljih, zato preveri združljivost z različnimi sistemi. Ali programska oprema na primer deluje z različnimi operacijskimi sistemi in spletnimi brskalniki?
- Testiranje zmogljivosti - to je poglobljen test, ki preučuje uspešnost programske opreme v različnih scenarijih. Zbirajo se informacije o odzivnosti, stabilnosti, dodeljevanju sredstev in hitrosti. Poleg tega v tem procesu sodelujejo tudi podtestine, kot so prostornina, zmogljivost in preskus s konico.
- Varnostno testiranje - To meri sposobnost programske opreme za zaščito varnosti uporabnikov. To pomeni pooblastitvene funkcije, preverjanje pristnosti, zaupnost, celovitost, razpoložljivost in neodtujitev.
- Preskušanje dostopnosti - to ni enako kot testiranje uporabnosti. To določa, v kolikšni meri so uporabniki različnih sposobnosti - učenje in fizične motnje vključeni, lahko uporabljajo programsko opremo.
- Testiranje internacionalizacije in lokalizacije - Rezultati kažejo, kako se lahko programska oprema prilagodi različnim jezikom in regionalnim zahtevam. To vključuje dodajanje komponent za določene lokacije in prevajanje besedila.
Preskušanje programske opreme je bistveni del trženja izdelka. Brez testerjev ne bi obstajala široka paleta razpoložljive programske opreme. Postanite certificirani preizkuševalec programske opreme prek organizacij, kot so BCS, Chartered Institute for IT, ISTQB® (International Qualification Testing Board Board) in ASQ (prej Ameriško združenje za kakovost).