Testiranje programske opreme ali testiranje programske opreme je znano tudi kot testiranje aplikacij.
Testiranje programske opreme je predvsem velik proces, sestavljen iz več med seboj povezanih procesov. Glavni cilj testiranja programske opreme je izmeriti celovitost programske opreme skupaj z njeno popolnostjo glede na temeljne zahteve. Testiranje programske opreme vključuje pregledovanje in testiranje programske opreme z različnimi postopki testiranja. Cilji teh procesov lahko vključujejo:
Preverjanje popolnosti programske opreme glede na funkcionalne/poslovne zahteve
Prepoznavanje hroščev/tehničnih napak in zagotavljanje, da je programska oprema brez napak
Ocena uporabnosti, zmogljivosti, varnosti, lokalizacije, združljivosti in namestitve
Preizkušena programska oprema mora prestati vse preizkuse, da je popolna ali primerna za uporabo. Nekatere od različnih vrst metod testiranja programske opreme vključujejo testiranje bele škatle, testiranje črne škatle in testiranje sive škatle. Poleg tega je programsko opremo mogoče testirati kot celoto, v komponentah/enotah ali znotraj živega sistema.
Black Box Testing je tehnika testiranja programske opreme, ki se osredotoča na analizo funkcionalnosti programske opreme glede na notranje delovanje sistema. Black Box Testing je bil razvit kot metoda za analiziranje zahtev strank, specifikacij in strategij oblikovanja na visoki ravni.
Tester Black Box Testing izbere nabor veljavnih in neveljavnih pogojev za izvajanje in vnos kode ter preveri veljavne izhodne odzive.
Testiranje črne škatle je znano tudi kot funkcionalno testiranje ali testiranje zaprte škatle.
Iskalnik je preprost primer aplikacije, ki je predmet testiranja črne skrinjice. Uporabnik iskalnika vnese besedilo v iskalno vrstico spletnega brskalnika. Iskalnik nato poišče in pridobi rezultate uporabniških podatkov (izhod).
Prednosti testiranja črne škatle vključujejo:
Testiranje črne skrinjice ima tudi nekaj slabosti, in sicer:
Med testiranjem bele škatle se koda izvaja s predhodno izbranimi vhodnimi vrednostmi, da se potrdijo vnaprej izbrane izhodne vrednosti. Testiranje bele škatle pogosto vključuje pisanje kode škrbine (kos kode, ki se uporablja za zamenjavo določene funkcije. Škrbina lahko simulira vedenje obstoječe kode, kot je postopek na oddaljenem računalniku.) in tudi gonilnike.
Prednosti testiranja bele škatle vključujejo:
Slabosti vključujejo:
Preizkus enote je sestavni del življenjskega cikla razvoja programske opreme (SDLC), v katerem se obsežen preskusni postopek posamično uporabi za najmanjše dele programske opreme za želeno ustreznost ali obnašanje.
Preizkus enote je postopek merjenja in vrednotenja kakovosti, ki se uporablja pri večini dejavnosti razvoja programske opreme podjetja. Na splošno preskus enote oceni, kako dobro je programska koda v skladu s splošnim ciljem programske opreme/aplikacije/programa in kako njena primernost vpliva na druge manjše enote. Preizkuse enot lahko izvede ročno – en ali več razvijalcev – ali prek avtomatizirane programske rešitve.
Med testiranjem je vsaka enota izolirana od glavnega programa ali vmesnika. Testi enot se običajno izvajajo po razvoju in pred uvedbo, kar olajša integracijo in zgodnje odkrivanje težav. Velikost ali obseg enote se razlikuje glede na programski jezik, programsko aplikacijo in cilje testiranja.
Funkcionalno testiranje je postopek testiranja, ki se uporablja pri razvoju programske opreme, kjer se programska oprema testira, da se zagotovi skladnost z vsemi zahtevami. To je način preverjanja programske opreme, s katerim zagotovimo, da ima vse potrebne funkcije, določene v njenih funkcionalnih zahtevah.
Funkcionalno testiranje se v glavnem uporablja za preverjanje, ali del programske opreme zagotavlja enak rezultat, kot ga zahteva končni uporabnik ali podjetje. Običajno funkcionalno testiranje vključuje ocenjevanje in primerjavo vsake funkcije programske opreme s poslovnimi zahtevami. Programsko opremo testiramo tako, da ji damo nekaj povezanih vhodnih podatkov, tako da je mogoče rezultat ovrednotiti in ugotoviti, kako je v skladu z njenimi osnovnimi zahtevami, se nanaša nanje ali se od njih razlikuje. Poleg tega funkcionalni testi preverjajo tudi uporabnost programske opreme, na primer zagotavljajo, da navigacijske funkcije delujejo, kot je potrebno.
Regresijsko testiranje je vrsta testiranja programske opreme, ki se uporablja za ugotavljanje, ali so nove težave posledica sprememb programske opreme.
Pred uveljavitvijo spremembe se program testira. Ko je sprememba uveljavljena, se program ponovno preizkusi na izbranih področjih, da se odkrije, ali je sprememba povzročila nove hrošče ali težave ali ali je dejanska sprememba služila predvidenemu namenu.
Regresijsko testiranje je bistveno za velike programske aplikacije, saj je pogosto težko vedeti, ali je sprememba enega dela težave povzročila novo težavo za drug del aplikacije. Na primer, sprememba obrazca bančne vloge za posojilo lahko povzroči neuspeh v mesečnem poročilu o transakcijah. V večini primerov se težave morda zdijo nepovezane, vendar so lahko dejansko vzrok za frustracije med razvijalci aplikacij.
Druge situacije, ki zahtevajo regresijsko testiranje, vključujejo odkrivanje, ali določene spremembe dosegajo zastavljeni cilj, ali testiranje novih nevarnosti, povezanih s težavami, ki se ponovno pojavijo po obdobju brez težav.
Sodobno regresijsko testiranje se izvaja predvsem s specializiranimi komercialnimi orodji za testiranje, ki posnamejo posnetke obstoječe programske opreme, ki se nato primerjajo po uporabi določene spremembe. Skoraj nemogoče je, da bi človeški preizkuševalci opravljali iste naloge tako učinkovito kot avtomatizirani preizkuševalci programske opreme. To še posebej velja za velike in kompleksne programske aplikacije v velikih okoljih IT, kot so banke, bolnišnice, proizvodna podjetja in veliki trgovci na drobno.
Stresno testiranje se nanaša na preizkušanje programske ali strojne opreme, da se ugotovi, ali je njeno delovanje zadovoljivo v ekstremnih in neugodnih pogojih, ki se lahko pojavijo kot posledica velikega omrežnega prometa, obremenitve procesov, prenizkega, overclockinga in potreb po največji uporabi virov.
Večina sistemov je razvita ob predpostavki normalnih delovnih pogojev. Torej, tudi če je meja presežena, so napake zanemarljive, če je sistem med razvojem testiran ob stresu.
Stresno testiranje se uporablja v naslednjih kontekstih:
Avtomatizirano testiranje (avtomatizacija testiranja programske opreme) je pristop k testiranju kode, ki uporablja posebna programska orodja, ki samodejno izvajajo teste in nato primerjajo dejanske rezultate testov s pričakovanimi rezultati.
Avtomatizirano testiranje igra pomembno vlogo pri neprekinjeni dostavi (CD), stalni integraciji (CI), DevOps in DevSecOps. Glavne prednosti avtomatiziranega testiranja vključujejo:
Pri razvoju programske opreme je še posebej koristno izvajati samodejne teste med postopkom gradnje, da se zagotovi, da je aplikacija brez napak pri gradnji in da izvaja predvideno funkcijo.
Če si vzamemo čas za avtomatizacijo testiranja programske opreme, bomo razvijalcem na koncu prihranili čas z zmanjšanjem tveganja, da bo sprememba kode prekinila obstoječo funkcionalnost.
Testiranje je zelo pomembna faza v razvojnem procesu. Zagotavlja, da so vse napake odpravljene in da izdelek, programska ali strojna oprema deluje, kot je predvideno ali čim bližje ciljni zmogljivosti. Avtomatizirano testiranje je namesto ročnega testiranja bistveno za dosledno zagotavljanje stroškovno učinkovite programske opreme, ki pravočasno izpolnjuje potrebe uporabnikov z minimalnimi napakami.
Ročno testiranje se še vedno izvaja v različnih obdobjih med razvojem, vendar to večinoma izvajajo sami razvijalci ali inženirji strojne opreme, da hitro ugotovijo, ali so spremembe, ki so jih naredili, imele želeni učinek.
Ercole Palmeri
Prejšnji ponedeljek je Financial Times objavil dogovor z OpenAI. FT licencira svoje vrhunsko novinarstvo ...
Milijoni ljudi plačujejo storitve pretakanja in plačujejo mesečne naročnine. Splošno mnenje je, da si…
Coveware by Veeam bo še naprej zagotavljal storitve odzivanja na incidente kibernetskega izsiljevanja. Coveware bo nudil forenziko in zmogljivosti sanacije ...
Prediktivno vzdrževanje revolucionira sektor nafte in plina z inovativnim in proaktivnim pristopom k upravljanju obratov.…