Dobrodošli v svetu testiranje programske opreme , ki zagotavlja kakovost in zanesljivost programske aplikacije . Razumevanje različnih vrst testiranja programske opreme je bistvenega pomena za razvijalce in strokovnjake za zagotavljanje kakovosti.
V tem priročniku bomo raziskali temeljne kategorije testiranja programske opreme, od testiranja enot do varnostnega testiranja, kar vam bo pomagalo pri navigaciji in zagotovilo, da bo vaša programska oprema izpolnjevala najvišje standarde zmogljivosti in funkcionalnosti.
Kazalo
- Načela testiranja programske opreme
- Različne vrste testiranja programske opreme
- Vrste ročnega testiranja
- Vrste testiranja črne skrinjice
- Vrste funkcionalnega testiranja
- Vrste integracijskega testiranja
- Vrste nefunkcionalnega testiranja
- Druge vrste testiranja
- Prednosti testiranja programske opreme
- Slabosti testiranja programske opreme
- Vprašanja za vajo
- Pogosta vprašanja o vrstah testiranja programske opreme
Načela testiranja programske opreme
- Vsi testi morajo ustrezati zahtevam kupca.
- Da bi našo programsko opremo testirali, mora opraviti tretja oseba.
- Izčrpno testiranje ni mogoče. Ker potrebujemo optimalno količino testiranja na podlagi ocene tveganja aplikacije.
- Vse teste, ki jih je treba izvesti, je treba načrtovati pred izvedbo
- Sledi Paretovemu pravilu (pravilo 80/20), ki pravi, da 80 % napak izvira iz 20 % komponent programa.
- Začnite testiranje z majhnimi deli in ga razširite na velike dele.
- Vrste testiranja

Vrste testiranja programske opreme
Različne vrste testiranja programske opreme
- Ročno testiranje
- Avtomatsko testiranje
1. Ročno testiranje
Ročno testiranje je tehnika za testiranje programske opreme, ki se izvaja z uporabo funkcij in funkcij aplikacije. Pri ročnem testiranju programske opreme preizkuševalec izvaja preizkuse programske opreme tako, da sledi naboru vnaprej določenih testnih primerov. Pri tem testiranju preizkuševalci naredijo testne primere za kode, preizkusijo programsko opremo in podajo končno poročilo o tej programski opremi. Ročno testiranje je zamudno, ker ga izvajajo ljudje in obstaja možnost človeških napak.
Prednosti ročnega testiranja
- Hitra in natančna vizualna povratna informacija: Zazna skoraj vsako napako v programski aplikaciji in se uporablja za preizkušanje dinamično spreminjajočih se oblik GUI, kot so postavitev, besedilo itd.
- Cenejši: Cenejši je, saj ne zahteva posebnega znanja ali posebnega orodja.
- Kodiranje ni potrebno: Za uporabo metode testiranja črne skrinjice ni potrebno znanje programiranja. Za nove preizkuševalce se je enostavno naučiti.
- Učinkovito pri nenačrtovanih spremembah: Ročno testiranje je primerno v primeru nenačrtovanih sprememb aplikacije, saj ga je mogoče enostavno prevzeti.
2. Avtomatsko testiranje
Avtomatizirano testiranje je tehnika, pri kateri preizkuševalec sam piše skripte in uporablja ustrezno programsko opremo ali orodje za avtomatizacijo za testiranje programske opreme. To je avtomatizirani proces ročnega procesa. Omogoča izvajanje ponavljajočih se nalog brez posredovanja ročnega testerja.
Prednosti avtomatiziranega testiranja:
- Poenostavi izvedbo testnega primera: Avtomatsko testiranje je mogoče pustiti praktično brez nadzora in tako omogoča spremljanje rezultatov na koncu procesa. Tako poenostavi celotno izvedbo testa in poveča učinkovitost aplikacije.
- Izboljša zanesljivost testov: Avtomatizirano testiranje zagotavlja enako osredotočenost na vsa področja testiranja in tako zagotavlja najboljšo kakovost končnega izdelka.
- Poveča obseg pokritosti testa: Z uporabo avtomatiziranega testiranja je mogoče ustvariti in izvesti več testnih primerov za preizkušano aplikacijo. Posledica tega je večja pokritost testa in odkrivanje več hroščev. To omogoča testiranje kompleksnejših aplikacij in preizkusiti je mogoče več funkcij.
- Zmanjšanje človeške interakcije: Pri avtomatiziranem testiranju je vse avtomatizirano od ustvarjanja testnega primera do izvajanja, zato ni nobenih sprememb zaradi človeške napake zaradi zanemarjanja. To zmanjša potrebo po odpravljanju napak v fazi po izdaji.
Vrste ročnega testiranja
- Testiranje bele škatle
- Testiranje črne skrinjice
- Testiranje sive škatle
1. Testiranje bele škatle
Testiranje bele škatle tehnike analizirajo notranje strukture, uporabljene podatkovne strukture, notranjo zasnovo, strukturo kode in delovanje programske opreme, ne pa le funkcionalnosti kot pri testiranju črne skrinjice. Imenuje se tudi testiranje steklene škatle, testiranje prozorne škatle ali strukturno testiranje. Testiranje bele škatle je znano tudi kot transparentno testiranje ali testiranje odprte škatle.
Testiranje bele škatle je tehnika testiranja programske opreme, ki vključuje testiranje notranje strukture in delovanja programske aplikacije. Preizkuševalec ima dostop do izvorne kode in to znanje uporablja za oblikovanje testnih primerov, ki lahko preverijo pravilnost programske opreme na ravni kode.
Prednosti testiranja bele škatle:
- Temeljito testiranje : Testiranje bele škatle je temeljito, saj se testirajo celotna koda in strukture.
- Optimizacija kode: Rezultat je optimizacija kode pri odstranjevanju napak in pomaga pri odstranjevanju dodatnih vrstic kode.
- Zgodnje odkrivanje napak: Začne se lahko na zgodnejši stopnji, saj ne potrebuje vmesnika kot v primeru testiranja črne skrinjice.
- Integracija s SDLC: Testiranje bele škatle je mogoče preprosto začeti v življenjskem ciklu razvoja programske opreme.
- Odkrivanje kompleksnih napak: Preizkuševalci lahko prepoznajo napake, ki jih ni mogoče odkriti z drugimi tehnikami testiranja.
2. Testiranje črne skrinjice
Preizkušanje črne skrinjice je vrsta testiranja programske opreme, pri kateri se preizkuševalec ne ukvarja z notranjim znanjem ali podrobnostmi o implementaciji programske opreme, temveč se osredotoča na potrjevanje funkcionalnosti na podlagi podanih specifikacij ali zahtev.
Prednosti testiranja črne škatle:
- Testerju ni treba imeti več funkcionalnega znanja ali veščin programiranja za izvedbo testiranja črne skrinjice.
- Učinkovit je za izvajanje testov v večjem sistemu.
- Preizkusi se izvajajo z vidika uporabnika ali naročnika.
- Testni primeri so enostavno ponovljivi.
- Uporablja se za iskanje dvoumnosti in protislovij v funkcionalnih specifikacijah.
3. Testiranje sive škatle
Testiranje sive škatle je tehnika testiranja programske opreme, ki je kombinacija Testiranje črne skrinjice tehnika in Testiranje bele škatle tehnika.
- Pri tehniki testiranja črne škatle preizkuševalec ne pozna notranje strukture predmeta, ki se testira, pri testiranju bele škatle pa je notranja struktura preizkuševalcu znana.
- Notranja struktura je delno znana pri testiranju sive škatle.
- To vključuje dostop do notranjih podatkovnih struktur in algoritmov za načrtovanje testnih primerov.
Prednosti testiranja Grey Box:
- Jasnost ciljev: Uporabniki in razvijalci imajo pri testiranju jasne cilje.
- Izvedeno z vidika uporabnika: Testiranje sive škatle se večinoma izvaja z vidika uporabnika.
- Visoko znanje programiranja ni potrebno: Za to testiranje od preizkuševalcev ni zahtevano visoko znanje programiranja.
- Nevsiljivo: Testiranje v sivi škatli je nevsiljivo.
- Izboljšana kakovost izdelka: Splošna kakovost izdelka je izboljšana.
Vrste testiranja črne skrinjice
- Funkcionalno testiranje
- Nefunkcionalno testiranje
1. Funkcionalno testiranje
Funkcionalno testiranje je vrsta testiranja programske opreme, pri katerem se sistem testira glede na funkcionalne zahteve in specifikacije. Funkcionalno testiranje zagotavlja, da aplikacija ustrezno izpolnjuje zahteve ali specifikacije. Ta vrsta testiranja je še posebej pomembna za rezultat obdelave. Osredotoča se na simulacijo dejanske uporabe sistema, vendar ne razvija predpostavk o strukturi sistema. Članek se osredotoča na razpravo o testiranju funkcij.
Prednosti funkcionalnega testiranja
- Izdelek brez napak: Funkcionalno testiranje zagotavlja dostavo visokokakovostnega izdelka brez napak.
- Zadovoljstvo kupcev: Zagotavlja izpolnjevanje vseh zahtev in zagotavlja zadovoljstvo stranke.
- Testiranje osredotočeno na specifikacije: Funkcionalno testiranje je osredotočeno na specifikacije glede na uporabo stranke.
- Pravilno delovanje aplikacije: To zagotavlja, da aplikacija deluje po pričakovanjih in zagotavlja pravilno delovanje vseh funkcionalnosti aplikacije.
- Izboljša kakovost izdelka: Funkcionalno testiranje zagotavlja varnost in varnost izdelka ter izboljšuje kakovost izdelka.
2. Nefunkcionalno testiranje
Nefunkcionalno testiranje je vrsta Testiranje programske opreme ki se izvede za preverjanje nefunkcionalnih zahtev aplikacije. Preveri, ali je vedenje sistema v skladu z zahtevami ali ne. Preizkuša vse vidike, ki niso testirani pri funkcionalnem testiranju. Nefunkcionalno testiranje je tehnika testiranja programske opreme, ki preverja nefunkcionalne lastnosti sistema. Nefunkcionalno testiranje je opredeljeno kot vrsta testiranja programske opreme za preverjanje nefunkcionalnih vidikov programske aplikacije. Zasnovan je za testiranje pripravljenosti sistema glede na nefunkcionalne parametre, ki jih funkcionalno testiranje nikoli ne obravnava. Nefunkcionalno testiranje je enako pomembno kot funkcionalno testiranje.
Prednosti nefunkcionalnega testiranja
- Izboljšana zmogljivost: Nefunkcionalno testiranje preveri delovanje sistema in določi ozka grla v delovanju, ki lahko vplivajo na delovanje.
- Manj zamudno: Nefunkcionalno testiranje je na splošno manj zamudno kot drugi postopki testiranja.
- Izboljša uporabniško izkušnjo: Nefunkcionalno testiranje, kot je testiranje uporabnosti, preverja, kako lahko uporabna in uporabniku prijazna je programska oprema za uporabnike. Zato se osredotočite na izboljšanje splošne uporabniške izkušnje za aplikacijo.
- Varnejši izdelek: Ker nefunkcionalno testiranje posebej vključuje varnostno testiranje, ki preverja varnostna ozka grla aplikacije in kako varna je aplikacija pred napadi iz notranjih in zunanjih virov.
Vrste funkcionalnega testiranja
- Testiranje enot
- Integracijsko testiranje
- Sistemsko testiranje
1. Testiranje enote
Testiranje enot je metoda testiranja posameznih enot ali komponent programske aplikacije. Običajno ga izvajajo razvijalci in se uporablja za zagotovitev, da posamezne enote programske opreme delujejo, kot je predvideno. Preizkusi enot so običajno avtomatizirani in so zasnovani za preizkušanje določenih delov kode, kot je določena funkcija ali metoda. Testiranje enot se izvaja na najnižji ravni proces razvoja programske opreme , kjer se posamezne enote kode testirajo ločeno.
Prednosti testiranja enot:
Spodaj so navedene nekatere prednosti testiranja enot.
- Pomaga prepoznati hrošče zgodaj v razvojnem procesu, preden jih postane težje in dražje popraviti.
- Pomaga zagotoviti, da spremembe kode ne povzročijo novih napak.
- Zaradi tega je koda bolj modularna ter lažja za razumevanje in vzdrževanje.
- Pomaga izboljšati splošno kakovost in zanesljivost programske opreme.
Opomba: Nekateri priljubljeni okviri in orodja, ki se uporabljajo za testiranje enot, vključujejo JUnit , NUnit, in xEnota.
- Pomembno je vedeti, da je testiranje enot le en vidik testiranja programske opreme in ga je treba uporabljati v kombinaciji z drugimi vrstami testiranja, kot so integracijsko testiranje, funkcionalno testiranje in sprejemljivo testiranje, da se zagotovi, da programska oprema ustreza potrebam uporabnikov. .
- Osredotoča se na najmanjšo enoto oblikovanja programske opreme. Pri tem testiramo posamezno enoto ali skupino medsebojno povezanih enot. To pogosto naredi programer z uporabo vzorčnega vnosa in opazovanjem njegovih ustreznih izhodov.
primer:
- V programu preverjamo, ali zanka, metoda ali funkcija deluje dobro.
- Napačno razumljeno ali nepravilno, aritmetična prednost.
- Nepravilna inicializacija.
2. Integracijsko testiranje
Integracijsko testiranje je metoda testiranja, kako različne enote ali komponente programske aplikacije medsebojno delujejo. Uporablja se za prepoznavanje in reševanje kakršnih koli težav, ki se lahko pojavijo, ko se združijo različne enote programske opreme. Integracijsko testiranje se običajno izvede po testiranju enote in pred funkcionalnim testiranjem ter se uporablja za preverjanje, ali različne enote programske opreme delujejo skupaj, kot je predvideno.
negacijska diskretna matematika
Različni načini izvajanja integracijskega testiranja:
Spodaj so obravnavani različni načini integracijskega testiranja.
- Testiranje integracije od zgoraj navzdol: Začne se z moduli najvišje ravni in jih razlikuje od modulov nižje ravni.
- Testiranje integracije od spodaj navzgor: Začne se z moduli najnižje ravni in jih integrira z moduli višje ravni.
- Integracijsko testiranje Big-Bang: združuje vse module in jih integrira vse naenkrat.
- Inkrementalno testiranje integracije: integrira module v majhne skupine, pri čemer testira vsako skupino, ko je dodana.
Prednosti integracije testiranja
- Pomaga prepoznati in razrešiti težave, ki se lahko pojavijo, ko se združijo različne enote programske opreme.
- Pomaga zagotoviti, da različne enote programske opreme delujejo skupaj, kot je predvideno.
- Pomaga izboljšati splošno zanesljivost in stabilnost programske opreme.
- Pomembno je upoštevati, da je integracijsko testiranje bistveno za kompleksne sisteme, kjer so integrirane različne komponente.
- Tako kot pri testiranju enot je tudi integracijsko testiranje le en vidik testiranja programske opreme in ga je treba uporabljati v kombinaciji z drugimi vrstami testiranja, kot so testiranje enot, funkcionalno testiranje in sprejemljivo testiranje, da zagotovimo, da programska oprema ustreza potrebam svojih uporabnikov.
The objektivni je vzeti enotno preizkušene komponente in zgraditi programsko strukturo, ki jo je narekovala zasnova. Integracijsko testiranje je testiranje, pri katerem se skupina komponent združi za ustvarjanje izhoda.
Testiranje integracije je štirih vrst: (i) od zgoraj navzdol (ii) od spodaj navzgor (iii) sendvič (iv) Big-Bang
primer:
- Testiranje črne skrinjice: Uporablja se za validacijo. Pri tem ignoriramo notranje delovne mehanizme in se osredotočamo na to, kaj je rezultat?
- Testiranje bele škatle: Uporablja se za preverjanje. Pri tem se osredotočamo na notranje mehanizme, tj. na to, kako je rezultat dosežen.
3. Sistemsko testiranje
Sistemsko testiranje je vrsta testiranja programske opreme, ki ocenjuje celotno funkcionalnost in zmogljivost popolne in popolnoma integrirane programske rešitve. Preizkuša, ali sistem izpolnjuje določene zahteve in ali je primeren za dostavo končnim uporabnikom. Ta vrsta testiranja se izvaja po integracijskem testiranju in pred prevzemnim testiranjem.
java print
Sistemsko testiranje je vrsta testiranje programske opreme ki se izvede na popolnoma integriranem sistemu, da se oceni skladnost sistema z ustreznimi zahtevami. Pri sistemskem testiranju se kot vhod vzamejo opravljene komponente integracijskega testiranja. Cilj integracijskega testiranja je odkriti morebitne nepravilnosti med enotami, ki so integrirane.
Prednosti testiranja sistema:
- Testerji ne potrebujejo več znanja programiranja za izvedbo tega testiranja.
- Testiral bo celoten izdelek ali programsko opremo, tako da bomo zlahka odkrili napake ali okvare, ki jih med enotnim testiranjem in integracijskim testiranjem ne moremo ugotoviti.
- Testno okolje je podobno produkcijskemu ali poslovnemu okolju v realnem času.
- Z različnimi testnimi skripti preveri celotno funkcionalnost sistema ter pokriva tehnične in poslovne zahteve naročnikov.
- Po tem testiranju bo izdelek skoraj pokril vse možne hrošče ali napake, zato bo razvojna ekipa samozavestno nadaljevala s sprejemljivim testiranjem.
Vrste integracijskega testiranja
- Postopno testiranje
- Neinkrementalno testiranje
1. Postopno testiranje
Tako kot razvoj je tudi testiranje faza SDLC (življenjski cikel razvoja programske opreme) . Na različnih stopnjah razvojnega cikla se izvajajo različni testi. Inkrementalno testiranje je eden izmed pristopov testiranja, ki se pogosto uporablja na področju programske opreme med fazo testiranja integracijsko testiranje ki se izvaja po testiranje enote . Več škrbin in gonilnikov se uporablja za testiranje modulov enega za drugim, kar pomaga pri odkrivanju napak in napak v določenih modulih.
Prednosti postopnega testiranja
- Vsak modul ima svoj specifičen pomen. Vsak od njih dobi svojo vlogo med testiranjem, saj se posamično povečujejo.
- Napake se odkrijejo v manjših modulih, namesto da bi označili napake ter nato urejali in ponovno popravljali velike datoteke.
- Je bolj prilagodljiv in stroškovno učinkovit glede na zahteve in obsege.
- Stranka dobi možnost, da se odzove na vsako stavbo.
Obstajata 2 vrsti Postopno testiranje
- Integracijsko testiranje od zgoraj navzdol
- Integracijsko testiranje od spodaj navzgor
1. Integracijsko testiranje od zgoraj navzdol
Testiranje od zgoraj navzdol je vrsta inkrementalnega integracijsko testiranje pristop, pri katerem se testiranje izvaja z integracijo ali združevanjem dveh ali več modulov s premikanjem navzdol od zgoraj navzdol skozi nadzorni tok arhitekturne strukture. Pri teh se najprej testirajo moduli na visoki ravni, nato pa moduli na nizki ravni. Nato se končno izvede integracija, da se zagotovi pravilno delovanje sistema. Za izvedbo tega projekta se uporabljajo škrbine in gonilniki. Ta tehnika se uporablja za povečanje ali spodbujanje obnašanja modulov, ki niso integrirani v nižjo raven.
Prednosti Integracijsko testiranje od zgoraj navzdol
- Gonilnikov ni treba pisati.
- Napake vmesnika so prepoznane v zgodnji fazi, lokalizacija napake pa je lažja.
- Pripomočki na nizki ravni, ki niso pomembni, niso dobro preizkušeni, preizkuševalci na visoki ravni pa so dobro preizkušeni na ustrezen način.
- Predstavitev testnih primerov je lažja in enostavnejša, ko so dodane vhodno-izhodne funkcije.
2. Integracijsko testiranje od spodaj navzgor
Testiranje od spodaj navzgor je vrsta inkrementalnega integracijsko testiranje pristop, pri katerem se testiranje izvaja z integracijo ali združevanjem dveh ali več modulov s premikanjem navzgor od spodaj navzgor skozi kontrolni tok arhitekturne strukture. Pri teh se najprej testirajo moduli na nizki ravni, nato pa moduli na visoki ravni. Ta vrsta testiranja ali pristopa je znana tudi kot induktivno sklepanje in se v mnogih primerih uporablja kot sinonim za sintezo. Testiranje od spodaj navzgor je uporabniku prijazno testiranje in ima za posledico povečanje celotnega razvoja programske opreme. Rezultat tega testiranja je visoka stopnja uspešnosti z dolgotrajnimi rezultati.
Prednosti integracijskega testiranja od spodaj navzgor
- Ustvariti in razviti testne pogoje je enostavno in preprosto.
- Prav tako je enostavno opazovati rezultate testov.
- Ni potrebno poznati podrobnosti konstrukcijske zasnove.
- Nizkonivojski pripomočki so prav tako dobro preizkušeni in so tudi združljivi z objektno usmerjeno strukturo.
Vrste nefunkcionalnega testiranja
- Testiranje delovanja
- Testiranje uporabnosti
- Testiranje združljivosti
1. Testiranje delovanja
Testiranje delovanja je vrsta testiranja programske opreme, ki zagotavlja pravilno delovanje programskih aplikacij pod pričakovano delovno obremenitvijo. To je tehnika testiranja, ki se izvaja za določitev delovanja sistema v smislu občutljivosti, reaktivnosti in stabilnosti pod določeno delovno obremenitvijo.
Testiranje zmogljivosti je vrsta testiranja programske opreme, ki se osredotoča na ocenjevanje zmogljivosti in razširljivosti sistema ali aplikacije. Cilj testiranja zmogljivosti je odkriti ozka grla, izmeriti zmogljivost sistema pod različnimi obremenitvami in pogoji ter zagotoviti, da sistem prenese pričakovano število uporabnikov ali transakcij.
Prednosti testiranja zmogljivosti
- Testiranje zmogljivosti zagotavlja hitrost, obremenitveno zmogljivost, natančnost in druge zmogljivosti sistema.
- Prepozna, spremlja in rešuje težave, če se karkoli zgodi.
- Zagotavlja odlično optimizacijo programske opreme in omogoča več uporabnikom, da jo uporabljajo hkrati.
- Zagotavlja tako zadovoljstvo naročnika kot tudi končnega kupca. Testiranje zmogljivosti ima več prednosti, zaradi katerih je pomemben vidik testiranja programske opreme:
- Prepoznavanje ozkih grl : Testiranje zmogljivosti pomaga prepoznati ozka grla v sistemu, kot so počasne poizvedbe po bazi podatkov, premalo pomnilnika ali prezasedenost omrežja. To pomaga razvijalcem optimizirati sistem in zagotoviti, da lahko obravnava pričakovano število uporabnikov ali transakcij.
2. Testiranje uporabnosti
Oblikujete izdelek (recimo hladilnik) in ko je popolnoma pripravljen, potrebujete potencialno stranko, da ga preizkusi, da preveri, ali deluje. Da bi ugotovili, ali je stroj pripravljen za prihod na trg, potencialni kupci stroje preizkusijo. Prav tako je najboljši primer testiranja uporabnosti, ko je programska oprema podvržena tudi različnim postopkom testiranja, ki jih izvajajo potencialni uporabniki pred lansiranjem na trg. Je del življenjskega cikla razvoja programske opreme (SDLC).
Prednosti in slabosti testiranja uporabnosti
Preizkušanje uporabnosti je prednostno za ovrednotenje izdelka ali storitve s testiranjem s pravimi uporabniki. Pri testiranju uporabnosti bosta razvojni in oblikovalski skupini identificirali težave pred kodiranjem, rezultat pa bo rešitev prejšnjih težav. Med preizkusom uporabnosti lahko,
- Ugotovite, ali bodo udeleženci lahko v celoti dokončali določeno nalogo.
- določite, koliko časa bo trajalo dokončanje določene naloge.
- Izdelku daje odlične lastnosti in funkcionalnosti
- Izboljša zadovoljstvo uporabnikov in izpolnjuje zahteve na podlagi povratnih informacij uporabnikov
- Izdelek postane učinkovitejši in učinkovitejši
3. Testiranje združljivosti
Testiranje združljivosti je testiranje programske opreme, ki spada pod nefunkcionalno testiranje kategorijo in se izvaja v aplikaciji, da se preveri njena združljivost (zmožnost delovanja) na različnih platformah/okoljih. To testiranje se izvede šele, ko aplikacija postane stabilna. To preprosto pomeni, da je cilj tega preizkusa združljivosti preveriti funkcionalnost razvite programske aplikacije na različnih platformah programske opreme, strojne opreme, omrežnem brskalniku itd. To testiranje združljivosti je zelo pomembno z vidika proizvodnje in implementacije izdelka, saj se izvaja, da bi se izognili prihodnjim težavam glede združljivosti.
Prednosti testiranja združljivosti
- Zagotavlja popolno zadovoljstvo strank.
- Zagotavlja storitve na več platformah.
- Prepoznavanje napak med razvojnim procesom.
Obstajajo 4 vrste Testiranje delovanja
- Testiranje obremenitve
- Stresno testiranje
- Testiranje razširljivosti
- Testiranje stabilnosti
1. Preizkušanje obremenitve
Obremenitveno testiranje določa obnašanje aplikacije, ko jo uporablja več uporabnikov hkrati. To je odziv sistema, izmerjen pri različnih pogojih obremenitve.
- Obremenitveno testiranje se izvaja za normalne in ekstremne pogoje obremenitve.
- Obremenitveno testiranje je vrsta testiranja zmogljivosti, ki simulira dejansko obremenitev sistema ali aplikacije, da se vidi, kako deluje pod stresom.
- Cilj obremenitvenega testiranja je prepoznati ozka grla in določiti največje število uporabnikov ali transakcij, ki jih sistem lahko obravnava.
- To je pomemben vidik testiranja programske opreme, saj pomaga zagotoviti, da lahko sistem obvladuje pričakovane ravni uporabe in prepozna morebitne težave, preden se sistem uvede v proizvodnjo.
Prednosti obremenitvenega testiranja:
Obremenitveno testiranje ima več prednosti, zaradi katerih je pomemben vidik testiranja programske opreme:
- Prepoznavanje ozkih grl: Obremenitveno testiranje pomaga prepoznati ozka grla v sistemu, kot so počasne poizvedbe po bazi podatkov, premalo pomnilnika ali prezasedenost omrežja. To pomaga razvijalcem optimizirati sistem in zagotoviti, da lahko obravnava pričakovano število uporabnikov ali transakcij.
- Izboljšana razširljivost: Z ugotavljanjem največje zmogljivosti sistema obremenitveno testiranje pomaga zagotoviti, da lahko sistem sčasoma obravnava vedno večje število uporabnikov ali transakcij. To je še posebej pomembno za spletne sisteme in aplikacije, za katere se pričakuje, da bodo obvladovale velik obseg prometa.
- Izboljšana zanesljivost: Obremenitveno testiranje pomaga prepoznati morebitne težave, ki se lahko pojavijo v pogojih velike obremenitve, kot so povečane stopnje napak ali počasni odzivni časi. To pomaga zagotoviti, da je sistem zanesljiv in stabilen, ko je uveden v proizvodnjo.
2. Stresno testiranje
noter Stresno testiranje , damo sistemu neugodne pogoje in preverimo, kako deluje v teh pogojih.
primer:
- Izvajajo se testni primeri, ki zahtevajo največ pomnilnika ali drugih virov.
- Preizkusni primeri, ki lahko povzročijo udarce v virtualnem operacijskem sistemu.
- Preizkusni primeri, ki lahko povzročijo prevelike zahteve po disku Preskušanje zmogljivosti.
Zasnovan je za testiranje delovanja programske opreme v okviru integriranega sistema. Uporablja se za testiranje hitrosti in učinkovitosti programa. Imenuje se tudi obremenitveno testiranje. V njem preverimo, kakšna je zmogljivost sistema pri dani obremenitvi.
primer:
Preverjanje več ciklov procesorja.
3. Testiranje razširljivosti
Testiranje razširljivosti je vrsta nefunkcionalnega testiranja, pri katerem se delovanje programske aplikacije, sistema, omrežja ali procesa testira v smislu njegove zmožnosti povečevanja ali zmanjševanja števila obremenitev uporabniških zahtev ali drugih podobnih atributov delovanja. Izvaja se lahko na ravni strojne opreme, programske opreme ali baze podatkov. Testiranje razširljivosti je opredeljeno kot sposobnost omrežja, sistema, aplikacije, izdelka ali procesa, da pravilno izvaja funkcijo, ko se spremeni velikost ali prostornina sistema, da zadosti naraščajočim potrebam. Zagotavlja, da programski izdelek lahko upravlja načrtovano povečanje uporabniškega prometa, količine podatkov, pogostosti štetja transakcij in mnogih drugih stvari. Preizkuša sposobnost sistema, procesov ali baze podatkov, da zadostijo naraščajočim potrebam.
Prednosti testiranja razširljivosti
- Zagotavlja večjo dostopnost do izdelka.
- Zazna težave z nalaganjem spletne strani in druge težave z delovanjem.
- Težave poišče in odpravi prej v izdelku, kar prihrani veliko časa.
- Zagotavlja izkušnjo končnega uporabnika pod specifično obremenitvijo. Zagotavlja zadovoljstvo strank.
- Pomaga pri učinkovitem sledenju izkoriščenosti orodja.
4. Testiranje stabilnosti
Testiranje stabilnosti je vrsta testiranja programske opreme za preverjanje kakovosti in obnašanja programske opreme v različnih okoljskih parametrih. Opredeljena je kot sposobnost izdelka, da v daljšem časovnem obdobju deluje brez napak.
To je tehnika nefunkcionalnega testiranja, ki se osredotoča na maksimalno poudarjanje programske komponente. Preizkušanje stabilnosti se izvaja za preverjanje učinkovitosti razvitega izdelka nad normalno operativno zmogljivostjo, ki je znana kot prelomna točka. Večji pomen ima pri obravnavanju napak, zanesljivosti programske opreme, robustnosti in razširljivosti izdelka pod veliko obremenitvijo, namesto da bi preverjal obnašanje sistema v normalnih okoliščinah.
Testiranje stabilnosti ocenjuje težave s stabilnostjo. To testiranje je namenjeno predvsem preverjanju, ali se bo aplikacija v katerem koli trenutku zrušila ali ne.
Prednosti testiranja stabilnosti
- Podaja omejitev podatkov, ki jih sistem praktično lahko obravnava.
- Zagotavlja zaupanje v delovanje sistema.
- Določa stabilnost in robustnost sistema pod obremenitvijo.
- Testiranje stabilnosti vodi do boljše izkušnje končnega uporabnika.
Druge vrste testiranja
- Testiranje dima
- Test zdrave pameti
- Regresijsko testiranje
- Sprejemno testiranje
- Testiranje sprejemljivosti za uporabnika
- Raziskovalno testiranje
- Adhoc testiranje
- Varnostno testiranje
- Testiranje globalizacije
- Regresijsko testiranje
- Testiranje dima
- Alfa testiranje
- Beta testiranje
- Objektno usmerjeno testiranje
1. Testiranje dima
Testiranje dima se naredi za zagotovitev, da je programska oprema, ki se preskuša, pripravljena ali stabilna za nadaljnje testiranje
Imenuje se dimni test, saj se testiranje začetnega prehoda izvede, da se preveri, ali se ob začetnem vklopu ni zagorelo ali kadilo.
primer:
If the project has 2 modules so before going to the module make sure that module 1 works properly.>
Prednosti testiranja dima
- Testiranje dima je enostavno izvesti.
- Pomaga pri prepoznavanju napak v zgodnjih fazah.
- Izboljša kakovost sistema.
- Preizkušanje dima zmanjša tveganje za napako.
- Preizkušanje dima olajša dostop do napredka.
2. Preskus zdravega razuma
Je podnabor od regresijsko testiranje . Preizkušanje zdravega razuma se izvaja, da se zagotovi pravilno delovanje opravljenih sprememb kode. Test zdravega razuma je ustavitev, da se preveri, ali se lahko testiranje za gradnjo nadaljuje ali ne. Poudarek ekipe med postopkom testiranja razumnosti je preverjanje funkcionalnosti aplikacije in ne podrobno testiranje. Preizkušanje zdravega razuma se na splošno izvaja na gradnji, kjer je produkcijska uvedba zahtevana takoj, kot je kritičen popravek napake.
niz v jsonobject
Prednosti testiranja razumnosti
- Test zdravega razuma pomaga hitro prepoznati napake v osnovni funkcionalnosti.
- Izvede se lahko v krajšem času, saj za testiranje razumnosti ni potrebna dokumentacija.
- Če se napake odkrijejo med testiranjem razumnosti, se projekt zavrne, kar je koristno pri prihranku časa za izvedbo regresijskih testov.
- Ta tehnika testiranja ni tako draga v primerjavi z drugo vrsto testiranja.
- Pomaga prepoznati odvisne manjkajoče predmete.
3. Regresijsko testiranje
Postopek testiranja spremenjenih delov kode in delov, ki bi lahko bili prizadeti zaradi sprememb, zagotavlja, da po izvedbi sprememb v programski opremi ne pride do novih napak. Regresija pomeni vrnitev nečesa, na področju programske opreme pa se nanaša na vrnitev hrošča.
Prednosti regresijskega testiranja
- Zagotavlja, da se po dodajanju novih funkcionalnosti v sistem ne pojavijo nove napake.
- Ker je večina testnih primerov, uporabljenih v regresijskem testiranju, izbranih iz obstoječega testnega paketa, njihove pričakovane rezultate že poznamo. Zato ga je mogoče enostavno avtomatizirati z avtomatiziranimi orodji.
- Pomaga ohranjati kakovost izvorne kode.
4. Sprejemno testiranje
Sprejemno testiranje izvedejo kupci, da preverijo, ali dobavljeni izdelki opravljajo želene naloge, kot je navedeno v zahtevah. Objektno usmerjeno testiranje uporabljamo za razpravo o testnih načrtih in za izvajanje projektov.
Prednosti sprejemnega testiranja
- To testiranje pomaga projektni skupini, da neposredno pozna nadaljnje zahteve uporabnikov, saj vključuje uporabnike v testiranje.
- Avtomatizirano izvajanje testa.
- Strankam prinaša zaupanje in zadovoljstvo, saj so neposredno vključene v proces testiranja.
- Uporabnik lažje opiše svojo zahtevo.
- Zajema samo postopek testiranja Black-Box, zato bo testirana celotna funkcionalnost izdelka.
5. Test sprejemljivosti za uporabnika
Testiranje sprejemljivosti za uporabnika je metodologija testiranja, kjer stranke/končni uporabniki sodelujejo pri testiranju izdelka, da preverijo izdelek glede na njihove zahteve. Izvaja se na strani naročnika na strani razvijalca. Za panoge, kot sta medicina ali vesoljska industrija, se v okviru preskusov sprejemljivosti za uporabnike izvajajo tudi preizkusi skladnosti s pogodbenimi in predpisi ter testi sprejemljivosti delovanja. UAT je odvisen od konteksta in načrti UAT so pripravljeni na podlagi zahtev in od njih ni zahtevano izvajanje vseh vrst testov sprejemljivosti uporabnikov in jih celo usklajuje in prispeva skupina za testiranje.
6. Raziskovalno testiranje
Raziskovalno testiranje je vrsta testiranje programske opreme v katerem lahko preizkuševalec prosto izbere katero koli možno metodologijo za testiranje programske opreme. To je nenapisan pristop k testiranju programske opreme. Pri raziskovalnem testiranju razvijalci programske opreme uporabljajo svoje učenje, znanje, veščine in sposobnosti za testiranje programske opreme, ki so jo razvili sami. Raziskovalno testiranje preverja funkcionalnost in delovanje programske opreme ter ugotavlja funkcionalne in tehnične napake v njej. Cilj raziskovalnega testiranja je optimizirati in izboljšati programsko opremo na vse možne načine.
Prednosti raziskovalnega testiranja
- Manj potrebnih priprav: Ne zahteva nobene priprave, saj gre za nenapisano tehniko testiranja.
- Najde kritične napake: Raziskovalno testiranje vključuje preiskovalni postopek, ki pomaga zelo hitro najti kritične napake.
- Izboljša produktivnost: Pri raziskovalnem testiranju preizkuševalci uporabijo svoje znanje, veščine in izkušnje za testiranje programske opreme. Pomaga razširiti domišljijo preizkuševalcev z izvajanjem več testnih primerov in tako izboljša splošno kakovost programske opreme.
7. Adhoc testiranje
Adhoc testiranje je vrsta testiranja programske opreme, ki se izvaja neuradno in naključno po zaključku formalnega testiranja, da se odkrije morebitna vrzel v sistemu. Zaradi tega je znan tudi kot naključno ali opičje testiranje. Adhoc testiranje se ne izvaja na strukturiran način, zato ne temelji na nobenem metodološkem pristopu. Zato je adhoc testiranje vrsta nestrukturiranega testiranja programske opreme.
Prednosti adhoc testiranja
- Napake, ki jih ni mogoče identificirati s pisnimi testnimi primeri, je mogoče identificirati s testiranjem Adhoc.
- Lahko se izvede v zelo omejenem času.
- Pomaga ustvariti edinstvene testne primere.
- Ta preizkus pomaga zgraditi močan izdelek, ki je manj nagnjen k prihodnjim težavam.
- To testiranje se lahko izvede kadar koli med Proces življenjskega cikla razvoja programske opreme (SDLC)
8. Varnostno testiranje
Varnostno testiranje je vrsta Testiranje programske opreme ki odkriva ranljivosti v sistemu in ugotavlja, da so podatki in viri sistema zaščiteni pred morebitnimi vsiljivci. Zagotavlja, da programski sistem in aplikacija ne predstavljata nobenih groženj ali tveganj, ki lahko povzročijo izgubo. Varnostno testiranje katerega koli sistema je usmerjeno v iskanje vseh možnih vrzeli in slabosti sistema, ki lahko povzročijo izgubo informacij ali ugleda organizacije.
Prednosti varnostnega testiranja
- Prepoznavanje ranljivosti: Varnostno testiranje pomaga prepoznati ranljivosti v sistemu, ki bi jih lahko izkoristili napadalci, kot so šibka gesla, nepopravljena programska oprema in napačno konfigurirani sistemi.
- Izboljšanje varnosti sistema: Testiranje varnosti pomaga izboljšati splošno varnost sistema z odkrivanjem in odpravljanjem ranljivosti in potencialnih groženj.
- Zagotavljanje skladnosti: Varnostno testiranje pomaga zagotoviti, da sistem izpolnjuje ustrezne varnostne standarde in predpise, kot so HIPAA, PCI DSS in SOC2.
9. Globalizacijsko testiranje
Globalizacijsko testiranje je vrsta testiranja programske opreme, ki se izvaja za zagotovitev, da lahko sistem ali programska aplikacija deluje neodvisno od geografskega in kulturnega okolja. Zagotavlja uporabo aplikacije po vsem svetu in sprejema besedila v vseh jezikih. Dandanes s porastom različnih tehnologij je vsak programski izdelek zasnovan tako, da je globaliziran programski izdelek.
Prednosti testiranja globalizacije
- Pomaga pri ustvarjanju razširljivih izdelkov: Zaradi tega je programski izdelek bolj prilagodljiv in razširljiv.
- Prihrani čas: Prihrani skupni čas in trud za testiranje programske opreme.
- Zmanjšajte čas za testiranje lokalizacije: Globalizacijsko testiranje pomaga zmanjšati čas in stroške lokalizacijskega testiranja.
10. Regresijsko testiranje
Regresijsko testiranje je metoda testiranja, ki se uporablja za zagotovitev, da spremembe programske opreme ne povzročijo novih napak ali povzročijo okvare obstoječe funkcionalnosti. Običajno se izvede po spremembah kode, kot so popravki napak ali nove funkcije, in se uporablja za preverjanje, ali programska oprema še vedno deluje, kot je predvideno.
Regresijsko testiranje je mogoče izvesti na različne načine, kot so:
- Ponovno testiranje : To vključuje testiranje celotne aplikacije ali določene funkcionalnosti, na katero so vplivale spremembe.
- Re – izvedba : To vključuje izvajanje predhodno izvedenega testnega paketa, da se zagotovi, da spremembe niso porušile nobene obstoječe funkcionalnosti.
- Primerjava : To vključuje primerjavo trenutne različice programske opreme s prejšnjo različico, da se zagotovi, da spremembe niso porušile nobene obstoječe funkcije.
Prednosti regresijskega testiranja
- Pomaga zagotoviti, da spremembe programske opreme ne povzročijo novih napak ali povzročijo okvare obstoječe funkcionalnosti.
- Pomaga zagotoviti, da programska oprema po opravljenih spremembah še naprej deluje, kot je predvideno.
- Pomaga izboljšati splošno zanesljivost in stabilnost programske opreme.
- Pomembno je upoštevati, da je regresijsko testiranje stalen proces, ki ga je treba izvajati ves čas razvoj programske opreme
- življenjski cikel, da zagotovite, da programska oprema še naprej deluje, kot je predvideno. Treba ga je čim bolj avtomatizirati, da prihranimo čas in sredstva. Poleg tega je pomembno imeti dobro definiran nabor regresijskih testov, ki pokriva
Vsakič, ko je dodan nov modul, pride do sprememb v programu. Ta vrsta testiranja zagotavlja, da celotna komponenta deluje pravilno tudi po dodajanju komponent celotnemu programu.
primer:
V šolskih evidencah predpostavimo, da imamo osebje modula, študente in finance, ki združujejo te module in preverjajo, ali integracija teh modulov dobro deluje pri regresijskem testiranju.
11. Testiranje dima
Testiranje dima se naredi za zagotovitev, da je programska oprema, ki se preskuša, pripravljena ali stabilna za nadaljnje testiranje
Imenuje se dimni test, saj se testiranje začetnega prehoda izvede, da se preveri, ali se ob začetnem vklopu ni zagorelo ali kadilo.
primer:
Če ima projekt 2 modula, se pred prehodom na modul prepričajte, da modul 1 deluje pravilno.
12. Alfa testiranje
Alfa testiranje je vrsta validacijskega testiranja. Je vrsta sprejemnega testiranja to se naredi, preden se izdelek sprosti strankam. To običajno izvajajo QA ljudje.
primer:
Kadar se testiranje programske opreme izvaja interno znotraj organizacije.
13. Beta testiranje
The beta test izvaja končni uporabnik programske opreme na enem ali več mestih strank. Ta različica je izdana za omejeno število uporabnikov za testiranje v realnem času.
primer:
Ko se testiranje programske opreme izvaja za omejeno število ljudi.
14. Objektno usmerjeno testiranje
Objektno usmerjeno testiranje testiranje je kombinacija različnih tehnik testiranja, ki pomagajo preveriti in potrditi objektno orientirano programsko opremo. To testiranje se izvede na naslednji način:
zimsko narečje
- Preizkušanje zahtev,
- Oblikovanje in analiza testiranja,
- Testiranje kode,
- integracijsko testiranje,
- testiranje sistema,
- Uporabniško testiranje.
Prednosti testiranja programske opreme
- Izboljšana kakovost in zanesljivost programske opreme.
- Zgodnje odkrivanje in odpravljanje napak.
- Izboljšano zadovoljstvo strank.
- Povečano zaupanje deležnikov.
- Zmanjšani stroški vzdrževanja.
- Zadovoljstvo kupcev
- Stroškovno učinkovito
- Kakovosten izdelek
- Nizka napaka
- Aplikacija brez napak
- Varnost
- Pospešite razvojni proces
- Zgodnje odkrivanje napak
- Zanesljiv izdelek
Slabosti testiranja programske opreme
- Potratno in poveča stroške projekta.
- To lahko upočasni razvojni proces.
- Vseh napak ni mogoče najti.
- Lahko je težko v celoti preizkusiti kompleksne sisteme.
- Možnost človeške napake med postopkom testiranja.
Vprašanja za vajo
1. V zvezi s testiranjem programske opreme razmislite o grafu poteka G z eno povezano komponento. Naj bo E število robov, N število vozlišč in P število predikatnih vozlišč G. Razmislite o naslednjih štirih izrazih: [GATE IT -2006]
- I. E-N+P
- II. E-N+2
- III. P+2
- IV. P+1
Ciklomatska kompleksnost G je podana z
- (A) I ali III
- (B) II ali III
- (C) II ali IV
- (D) I ali IV
rešitev: Pravilen odgovor je (C).
Pogosta vprašanja o vrstah testiranja programske opreme
1. Kaj je testni primer?
leta: Testne primere je mogoče preprosto določiti kot pogoje, v katerih bo preizkuševalec preveril, ali koda deluje brezhibno ali ne.
2. Kakšna je uporaba avtomatiziranega testiranja?
leta: Avtomatizirano testiranje se uporablja za zmanjšanje naporov pri testiranju, prav tako za testiranje zmogljivosti hitrejše dostave.
3. Kakšna je razlika med ročnim in avtomatiziranim testiranjem?
leta: Ročno testiranje vključuje človeškega preizkuševalca, ki sodeluje s programsko opremo, da bi odkril hrošče. Avtomatizirano testiranje uporablja skripte ali orodja za avtomatizacijo ponavljajočih se testnih primerov.