what is component testing
Što je ispitivanje komponenata koje se naziva i ispitivanje modula u testiranju softvera:
Komponenta je najniža jedinica bilo koje primjene. Dakle, ispitivanje komponenata; kao što i samo ime govori, tehnika je testiranja najniže ili najmanje jedinice bilo koje aplikacije.
Ispitivanje komponenata ponekad se naziva i testiranje programa ili modula.
Aplikacija se može zamisliti kao kombinacija i integracija mnogih malih pojedinačnih modula. Prije nego što testiramo cijeli sustav, neophodno je da se temeljito ispita svaka komponenta ILI najmanja jedinica aplikacije.
web mjesto koje vam omogućuje preuzimanje youtube videozapisa
U tom se slučaju moduli ili jedinice ispituju neovisno. Svaki modul prima ulaz, vrši neku obradu i generira izlaz. Izlaz se zatim potvrđuje prema očekivanoj značajci.
Softverske aplikacije ogromne su prirode i izazov je testirati cijeli sustav. To može dovesti do mnogih praznina u pokrivenosti testom. Stoga se prije prelaska na integracijsko testiranje ili funkcionalno testiranje preporučuje započeti s testiranjem komponenata.
Također pročitajte=> Razlika u jedinici, integraciji i funkcionalnom ispitivanju
Što ćete naučiti:
- Ispitivanje komponenata
- Cilj ispitivanja komponenata
- Ulazi u ispitivanje razine komponenata
- Tko vrši testiranje komponenata?
- Što se testira u okviru ispitivanja komponenata?
- Kada je ispitivanje komponenata gotovo?
- Strategija ispitivanja ispitivanja komponenata
- Stubs i vozači
- Primjer
- Kako napisati testove komponenata?
- Ispitivanje komponenata protiv jedinstvenog ispitivanja
- Ispitivanje komponenata protiv sučelja protiv integracije protiv sustava
- Zaključak
- Preporučena literatura
Ispitivanje komponenata
To je svojevrsno testiranje bijele kutije.
Dakle, testiranje komponenata traži greške i provjerava funkcioniranje modula / programa koji se mogu zasebno testirati.
Postoji strategija ispitivanja i plan ispitivanja komponenata. Za svaku komponentu postoji testni scenarij koji će se dalje raščlaniti u testnim slučajevima. Dijagram u nastavku predstavlja isto:
Cilj ispitivanja komponenata
Glavni cilj ispitivanja komponenata je provjeriti ulazno / izlazno ponašanje testnog objekta. Osigurava da funkcionalnost testnog objekta radi ispravno i potpuno u redu prema željenoj specifikaciji.
Ulazi u ispitivanje razine komponenata
Četiri glavna ulaza u ispitivanje na razini komponenata su:
- Plan ispitivanja projekta
- Zahtjevi sustava
- Specifikacije komponenata
- Implementacije komponenata
Tko vrši testiranje komponenata?
Ispitivanje komponenata provode QA službe ili ispitivač.
Što se testira u okviru ispitivanja komponenata?
Testiranje komponenata može uzeti u obzir provjeru funkcionalnih ili specifičnih nefunkcionalnih karakteristika komponenata sustava.
To može biti ispitivanje ponašanja resursa (npr. Utvrđivanje curenja memorije), ispitivanje performansi, strukturno ispitivanje itd.
Kada je ispitivanje komponenata gotovo?
Ispitivanje komponenata provodi se nakon jediničnog ispitivanja.
Komponente se ispituju čim se stvore, pa postoje šanse da rezultati dohvaćeni od komponente koja se ispituje ovise o ostalim komponentama koje za sada nisu razvijene.
Ovisno o modelu životnog ciklusa razvoja, ispitivanje komponenata može se provoditi izolirano s ostalim komponentama sustava. Izolacija se vrši kako bi se spriječili vanjski utjecaji.
Dakle, za testiranje te komponente koristimo gumbe i upravljačke programeza simulaciju sučelja između softverskih komponenata.
Integracijsko ispitivanje vrši se nakon ispitivanja komponenata.
Strategija ispitivanja ispitivanja komponenata
Ovisno o dubini ispitivanja, ispitivanje komponenata podijeljeno je u dva dijela:
- Ispitivanje komponenata u malim (ctis)
- Ispitivanje komponenata u velikim (CTIL)
Kada se ispitivanje komponenata vrši izolirano s ostalim komponentama, to se naziva ispitivanje komponenata u malim. To se radi bez razmatranja integracije s drugim komponentama.
Kada se ispitivanje komponenata provodi bez izolacije s ostalim komponentama softvera, tada se to u velikoj mjeri naziva testiranjem komponenata. To se događa kada postoji ovisnost o protoku funkcionalnosti komponenata i stoga ih ne možemo izolirati.
Ako komponente o kojima imamo ovisnost još nisu razvijene, tada koristimo lažne predmete umjesto stvarnih komponenata. Ti su lažni objekti klizač (koja se naziva funkcija) i pokretački program (funkcija koja poziva).
Stubs i vozači
Prije nego što skočim ukratko o Stubs i Drivers, trebao bih ukratko o razlika između testova komponenata i testova integracije. Razlog je - žljebovi i pokretači također se koriste u integracijskom testiranju pa to može dovesti do određene zabune između ove dvije tehnike testiranja.
Tehnika integracijskog ispitivanja tehnika je u kojoj sekvencijalno kombiniramo dvije komponente i zajedno testiramo integrirani sustav. Podaci iz jednog sustava prelaze se u drugi sustav i ispravnost podataka provjerava se za integrirani sustav.
Za razliku od testiranja modula gdje se pojedina komponenta / modul temeljito testira prije integracije s drugim komponentama. Dakle, možemo reći da se ispitivanje komponenata provodi prije testiranja integracije.
I integracija i komponente koriste Stubs i vozači .
'Vozači' su lažni programi koji se koriste za pozivanje funkcija najnižeg modula u slučaju da pozivna funkcija ne postoji.
'Stubs' može se nazvati isječkom koda koji prihvaća ulaze / zahtjeve iz gornjeg modula i vraća rezultate / odgovor
Kao što je ranije objašnjeno, komponente se ispituju pojedinačno i neovisno. Dakle, mogu postojati neke značajke komponenata, ovisno o drugoj komponenti koja trenutno nije razvijena. Dakle, da bismo testirali komponente s tim „nerazvijenim“ značajkama, moramo koristiti neke stimulativne agense koji bi obrađivali podatke i vraćali ih komponentama koje pozivaju.
Na ovaj način osiguravamo da se pojedinačne komponente temeljito ispitaju.
Ovdje vidimo da:
- C1, C2, C3, C4, C5, C6, C7, C8, C9 ————— komponente su
- C1, C2 i C3 zajedno čine Podjedinicu 1
- C4 i C5 zajedno čine Podjedinicu 2
- C6, C7 i C8 zajedno čine Podjedinicu 3
- C9 sam čini podjedinicu 4
- Podjedinica 1 i Podjedinica 2 kombiniraju se u poslovnu jedinicu 1
- Podjedinica 3 i Podjedinica 4 kombiniraju se u poslovnu jedinicu 2
- Poslovna jedinica 1 i Poslovna jedinica 2 kombiniraju se za izradu prijave.
- Dakle, ispitivanje komponenata, u ovom slučaju, trebalo bi testirati pojedinačne komponente koje su od C1 do C9.
- The Neto strelica između podjedinice 1 i podjedinice 2 prikazuje točku testiranja integracije.
- Slično tome, Neto strelica između podjedinice 3 i podjedinice 4 prikazuje točku testiranja integracije
- Zelena strelica između poslovne jedinice 1 i poslovne jedinice 2 pokazuje točku testiranja integracije
Stoga bismo radili:
- KOMPONENTA ispitivanje za C1 do C9
- INTEGRACIJA testiranje između podjedinica i poslovnih jedinica
- SUSTAV testiranje aplikacije u cjelini
Primjer
Do sada smo morali utvrditi da je ispitivanje komponenata neka vrsta tehnike testiranja bijele kutije . Pa, možda je u pravu. Ali to ne znači da se ova tehnika ne može koristiti u tehnici ispitivanja crne kutije.
dodaj element u java niza
Razmislite o ogromnoj web aplikaciji koja započinje stranicom za prijavu. Kao tester (i to u agilnom svijetu) nismo mogli čekati dok se cjelokupna aplikacija ne razvije i bude spremna za testiranje. Da bismo povećali vrijeme za plasman na tržište, moramo rano započeti testiranje. Dakle, kad vidimo da je stranica za prijavu razvijena, moramo inzistirati na tome da je stavimo na raspolaganje za testiranje.
Čim vam bude dostupna stranica za prijavu koja možete testirati, možete izvršiti sve svoje test slučajeve (pozitivne i negativne) kako biste osigurali da funkcionalnost stranice za prijavu radi kako se očekuje.
Prednosti testiranja vaše stranice za prijavu u ovom trenutku bile bi:
kako napraviti dubinsku kopiju niza java
- Korisničko sučelje testirano je na uporabljivost (pravopisne pogreške, logotipi, poravnanje, oblikovanje itd.)
- Pokušajte koristiti negativne tehnike ispitivanja poput autentifikacije i autorizacije. U tim je slučajevima velika vjerojatnost pronalaska nedostataka.
- Korištenje tehnika poput SQL injekcija osigurao bi testiranje kršenja sigurnosti u vrlo ranoj fazi.
Kvarovi koje biste zabilježili u ovoj fazi djelovali bi kao 'naučene lekcije' za razvojni tim i oni bi se ugradili u kodiranje uzastopne stranice. Dakle, ranim testiranjem - osigurali ste bolju kvalitetu stranica koje tek trebaju biti razvijene.
Budući da ostale uzastopne stranice još nisu razvijene, možda će vam trebati klinovi za provjeru funkcionalnosti stranice za prijavu. Na primjer ,možda ćete poželjeti jednostavnu stranicu koja navodi 'uspješno prijavljivanje', u slučaju ispravnih vjerodajnica i skočni prozor s porukom o pogrešci u slučaju netočnih vjerodajnica.
Možete pogledati naš raniji tutorial na Integracijsko ispitivanje kako biste imali više uvida u Stubs i Drivers.
Kako napisati testove komponenata?
Ispitni slučajevi za ispitivanje komponenata izvedeni su iz radnih proizvoda, na primjer, softverskog dizajna ili podatkovnog modela. Svaka se komponenta testira kroz niz testnih slučajeva gdje svaki testni slučaj pokriva određenu kombinaciju ulaza / izlaza, tj. Djelomičnu funkcionalnost.
Ispod je uzorak isječka testnog slučaja komponente za modul za prijavu.
Slično možemo pisati i druge ispitne slučajeve.
Ispitivanje komponenata protiv jedinstvenog ispitivanja
Prva razlika između ispitivanja komponenata i jedinstvenog testiranja je u tome što prvo izvode testeri, dok drugu izvode programeri ili SDET profesionalci.
Jedinstveno ispitivanje provodi se na granuliranoj razini. S druge strane, ispitivanje komponenata vrši se na razini aplikacije. U jediničnom testiranju provjerava se izvršava li se pojedinačni program ili dio koda prema navedenom. U testiranju komponenata, svaki objekt softvera testira se odvojeno sa ili bez izolacije s ostalim komponentama / objektom sustava.
Dakle, testiranje komponenata prilično je poput jediničnog testiranja, ali se provodi na višoj razini integracije i u kontekstu aplikacije (ne samo u kontekstu te jedinice / programa kao u jedinstvenom testiranju).
Ispitivanje komponenata protiv sučelja protiv integracije protiv sustava
Komponenta , kao što sam objasnio, najniža je jedinica aplikacije koja se testira neovisno.
An sučelje je spojni sloj 2 komponente. Testiranje platforme ili sučelja na kojem dvije komponente komuniciraju naziva se testiranje sučelja.
Sada je testiranje sučelja malo drugačije. Ova sučelja su uglavnom API-ji ili web usluge , tako da testiranje ovih sučelja ne bi bilo slično tehnici Black Box, već biste radili neku vrstu API testiranja ili testiranja web usluga koristeći KORISNIČKO sučelje SAPUN ili bilo koji drugi alat.
Jednom kada je testiranje sučelja završeno, dolazi Integracijsko ispitivanje .
Tijekom integracijskog testa kombiniramo pojedinačne testirane komponente jednu po jednu i postupno ga testiramo. Tijekom integracije potvrđujemo da se pojedinačne komponente kada se kombiniraju jedna po jedna ponašaju očekivano i da se podaci ne mijenjaju kada prelaze iz 1 modula u drugi modul.
Nakon što su sve komponente integrirane i ispitane, izvodimo Ispitivanje sustava za testiranje cjelokupne aplikacije / sustava u cjelini. Ovaj test potvrđuje poslovne zahtjeve u odnosu na implementirani softver.
Zaključak
rekao bih to Jedinstveno ispitivanje i Ispitivanje komponenata vrši se usporedno.
Za razliku od jediničnog testiranja koje provodi razvojni tim, testiranje komponenata / modula vrši testni tim. Uvijek se preporučuje da prije završetka integracijskog testiranja napravite probno testiranje komponenata.
Ako je testiranje komponenata čvrsto, naći ćemo manje nedostataka u integracijskom testiranju. Bilo bi problema, ali ti bi se problemi odnosili na integracijsko okruženje ili konfiguracijske izazove. Možete osigurati da funkcionalnost integriranih komponenata radi u redu.
Nadam se da je ovo uputstvo korisno za razumijevanje testiranja komponenata, integracije i sustava. Ako još uvijek imate pitanja, slobodno nas pitajte u komentarima.
Preporučena literatura
- Najbolji alati za testiranje softvera 2021. (Alati za automatizaciju ispitivanja kvalitete)
- Što je ispitivanje integracije sustava (SIT): naučite na primjerima
- Testiranje e-knjige za preuzimanje priručnika
- Što je usporedno testiranje (naučite na primjerima)
- Što je integracijsko testiranje (Vodič s primjerom integracijskog testiranja)
- Funkcionalno ispitivanje vs nefunkcionalno testiranje
- Razlike između jedinstvenog testiranja, integracijskog ispitivanja i funkcionalnog ispitivanja
- Što je inkrementalno ispitivanje: detaljno objašnjenje sa primjerima