what is interface testing
Uvod u ispitivanje sučelja:
Kada se razvije aplikacija ili softver ili web stranica, tada postoji nekoliko njezinih komponenata. Te komponente mogu biti poslužitelj, baza podataka itd.
Veza koja integrira i olakšava komunikaciju između ovih komponenti naziva se sučeljem.
Jednostavno rečeno, sučelje je softver koji se sastoji od skupa naredbi, poruka itd.
Ovaj vam vodič daje cjelovit pregled ispitivanja sučelja, zajedno s potrebama, vrstom, strategijom, popisom za provjeru i nekim od njegovih alata da biste obogatili svoje znanje o konceptu.
Što ćete naučiti:
- Uvod
- Kada i zašto bismo trebali testirati sučelje?
- Vrste ispitivanja sučelja
- Strategija ili pristup za ispitivanje sučelja
- Razlika između sučelja, integracije i ispitivanja komponenata
- Kontrolni popis za ispitivanje sučelja
- Najbolji alati za ispitivanje sučelja
- Zaključak
- Preporučena literatura
Uvod
Za računalo, sučelje mogu biti API-ji, web usluge itd. Komunikacija između različitih komponenti softvera ili aplikacije ili web stranice može utjecati na ukupnu izvedbu, stoga ovu komunikaciju, tj. Sučelje također treba testirati i provjeriti.
Testiranje koje se provodi radi provjere funkcionalnosti sučelja naziva se testiranje sučelja.
Dvije uobičajene komponente ispitivanja sučelja uključuju:
- Web sučelje i sučelje poslužitelja aplikacija.
- Poslužitelj baze podataka i sučelje poslužitelja aplikacija.
Kada i zašto bismo trebali testirati sučelje?
U nastavku su spomenute 3 faze ispitivanja sučelja u životnom ciklusu sučelja:
1) Konfiguracija i razvoj:
Kada je sučelje konfigurirano i nakon što razvoj započne, konfiguracije treba provjeriti prema zahtjevu.
2) Provjera valjanosti:
Kada je razvoj završen, sučelje treba provjeriti i provjeriti, što se može učiniti i kao dio jediničnog testiranja.
3) Održavanje:
c ++ kompajler za pomrčinu
Jednom kada je cijeli softver spreman, postavljen i radi, sučelje treba nadzirati radi njegove izvedbe i uvođenja novih problema uslijed promjena ili pogoršanja performansi.
Kad započnemo s razvojem sučelja, moramo biti sigurni da ne unosimo nikakve nedostatke u naš kôd, pa stoga na sučelju treba pokrenuti testove kako bi se potvrdilo da dodavanje novog koda ne ubrizgava nove nedostatke. To će vam pomoći da utvrdite je li sučelje bez kvarova i prema zahtjevu.
Jednom kada smo zadovoljni sučeljem, provjeravamo ga za predviđeni tijek rada, podatke itd. Možemo pokrenuti izvedbu, velike testove podataka i provjeriti koliko dobro sučelje reagira. To će uštedjeti puno vremena koje će se kasnije potrošiti na otklanjanje nedostataka.
Ukratko, ispitivanje sučelja vrši se radi:
- Da biste provjerili je li izvršavanje poslužitelja ispravno.
- Obrada pogrešaka izvršena je pravilno, a odgovarajuće poruke o pogrešci prikazuju se za upite programa ili softvera.
- Da biste provjerili rezultat kada se veza s poslužiteljem resetira.
- Da provjere sigurnosni aspekt kada komponente komuniciraju unutar sebe.
- Provjeriti utjecaj mrežnog kvara na komunikaciju između komponenata.
Vrste ispitivanja sučelja
Testiranje sučelja u osnovi se vrši na sloju za razmjenu poruka u arhitekturi sustava. Uglavnom uključuje testiranje REST API ili SOAP web usluge s JSON ili XML formatom.
Testiranje sučelja obično uključuje sljedeće prakse:
- Jedinstveno testiranje: Testiranje funkcionalnosti svake pojedine operacije (u funkciji).
- Ispitivanje funkcionalnosti : Testiranje funkcionalnosti širih scenarija koji uključuju stvaranje, provjeru valjanosti, regresiju itd.
- Ispitivanje opterećenja: Provjera performansi pod opterećenjem, uglavnom pomoću funkcionalnih testnih slučajeva.
- Ispitivanje sigurnosti : Testiranje sigurnosnog mehanizma i uključuje testiranje penetracije, kao i provjeru kontrole pristupa, šifriranja itd.
- Otkrivanje runtime pogreške: Nadgledanje aplikacije za probleme poput runtime utrke, curenja resursa itd.
- Testiranje tijeka rada: To je učinjeno kako bi se osiguralo obrađuje li sučelje vaš mehanizam rada prema očekivanjima.
- Pojedinačni sustavi: Ovo se ispitivanje vrši radi provjere individualnosti svakog sustava. Poput sustava naplate i sustava upravljanja zalihama trebali bi moći raditi pojedinačno.
Strategija ili pristup za ispitivanje sučelja
Kao i svako drugo testiranje, ispitivanje sučelja jednako je važno jer osigurava neometano funkcioniranje, performanse itd. Različitih aplikacija i sustava vođenih podacima provjeravanjem komunikacije između baze podataka, mreža i sustava.
Testiranje sučelja postaje važnije kada provjerimo ovisnost aplikacije s drugim aplikacijama.
Slijedi nekoliko koraka koji osiguravaju uspješno testiranje sučelja:
1) Definirajte svoj zahtjev:
Prije stvaranja testova sučelja, bitno je razumjeti aplikaciju. Stoga pokušajte pronaći odgovore na pitanja poput što je svrha sučelja? Kakav je tijek rada sustava ili aplikacije? Koje su funkcije i značajke sučelja?
Definiranje svih takvih odgovora pomoći će vam da shvatite zahtjev, otkrijete nezgodne točke aplikacije i zatim u skladu s tim izradite test slučajeve. QA to često propusti, a kasnije to dovodi do zabune oko zahtjeva ili netočnog testiranja.
2) Očekivani izlaz:
Sada dobro znamo i razumijemo zahtjev, vrijeme je da se finalizira rezultat koji ćemo očekivati od testova. Ne samo Pass ili Fail, to mogu biti neki podaci, poziv na drugi API itd. Može, ne samo da je nezgodno već i rizično mjeriti ishod očekivanog rezultata.
Stoga pokušajte otkriti koji bi mogao biti ishod raspravom s programerima.
3) Počnite s malim:
S testiranjem sučelja ne možemo izravno nastaviti sa stvaranjem velikih test slučajeva, stvaranje malih test slučajeva ili poziva relativno je jednostavno. Barem u malim funkcijama stvorite mali testni kôd i provjerite je li izlaz očekivan ili nije.
4) Pokušajte automatizirati:
Pisanje kodova za testiranje sučelja može biti dosadno.
Nećete samo trošiti vrijeme na pisanje koda, već ćete uz to morati trošiti i vrijeme da biste razumjeli format, stil, jezik kodiranja koji se koristi za razvoj, a zatim ćete kao šlag na torti morati osigurati da vaš kôd ne stvara problem kodu aplikacije ili sustava.
Stoga je bolje istražiti i pronaći neke alate za automatizaciju koji će vam uštedjeti dan. To će biti puno lakše i proces koji štedi vrijeme.
5) Definirajte startnu i zaustavnu točku:
Prije početka izvođenja testa, uvijek odlučujemo o točki početka (ulaska) i zaustavljanja (izlaza) testa, kao i o tome kako će započeti i završiti cjelokupni postupak testiranja. Slično tome, moramo izmjeriti i razinu izvedbe ispitivanja sučelja.
Da bismo to učinili, moramo pronaći odgovore na sljedeća dva pitanja:
- Koje je očekivano vrijeme završetka testa sučelja?
- Koje je stvarno vrijeme završetka testa sučelja?
Ovaj korak uključivanja ulaznih i izlaznih točaka ispitivanja sučelja pomoći će vam da pronađete razinu performansi testova. To će vam također pomoći da donesete odluku o planiranom rasporedu ispitivanja.
Razlika između sučelja, integracije i ispitivanja komponenata
Slijedi nekoliko razlika:
S.Ne. | Ispitivanje komponenata | Ispitivanje sučelja | Ispitivanje integracije |
---|---|---|---|
jedan | Pojedinačno testiranje komponente radi provjere očekivanog rezultata naziva se testiranje komponente | Testiranje sučelja za provjeru očekivanog rezultata naziva se testiranje sučelja. | Kada su integrirani svi ili nekoliko modula ili komponenata kako bi zajednički funkcionirali; tada se testiranje provedeno radi provjere funkcionalnosti integriranih komponenata od kraja do kraja naziva integracijskim testiranjem. |
dva | Komponenta može biti bilo što poput zaslona, modula za prijavu itd. | Sučelja su široko web usluge, API, nizovi veze itd. | Integracija može biti jedan cjelovit slučaj korištenja, na primjer za bankarsku aplikaciju, prijavu i dodavanje vašeg „korisnika“ itd. |
3 | Ovo je testiranje relativno jednostavno. | Ovo testiranje je nezgodno i zamorno. | Ovo je ispitivanje malo jednostavno, ali dugo. |
4 | Primjenjivi su ručni i automatizacijski sustav. | Uglavnom automatizacija. | Primjenjivi su ručni i automatizacijski sustav. |
5 | Ovo se testiranje odnosi na kod i GUI aplikacije ili sustava. | Ovo se ispitivanje vrši samo na kodu; ne postoji GUI. | Ovo se testiranje odnosi na kod i GUI aplikacije ili sustava. Ali to je uglavnom GUI. |
Kontrolni popis za ispitivanje sučelja
Dolje su dati neki pokazatelji kontrolnog popisa koje treba uzeti u obzir za testiranje sučelja:
- Pogreške 4xx i 5xx trebale bi biti uključene u testove jer će vam pomoći u provjeri rukovanja pogreškama na strani poslužitelja i klijenta, idealno bi bilo da se umjesto pogreške koda prikaže odgovarajuća poruka.
- Provjera valjanosti korisnika pomoću HTTP provjere autentičnosti.
- Provjerite sve metode koje se koriste u API-ju ili web uslugama poput GET, PUT, POST itd.
- Provjerite pretvorbu iz JSON formata u XML format i obrnuto.
- Provjerite donose li skupne operacije na sučelju očekivani rezultat.
- Provjerite podudara li se vremenska zona API-ja sa specifikacijom vremenske zone geografskog područja.
- Provjerite dovodi li neovlašteni pristup sučelju do ispravne poruke pogreške.
- Provjerite postupaju li pravilno s prekidima veze.
- Provjerite jesu li neke komponente uklonjene iz aplikacije, tada sučelje više ne komunicira s tim komponentama itd.
Najbolji alati za ispitivanje sučelja
Kako se tvrtke kreću prema DevOpsu, kontinuiranoj integraciji (CI) i kontinuiranoj implementaciji (CD), povratne informacije o testiranju moraju biti brže nego ikad. Prije nego što se pripremite za slanje aplikacije, morate biti sigurni da su sučelja dobro testirana. Ručno testiranje sučelja može biti vrlo zamorno, komplicirano i dugotrajan postupak.
Najbolja metoda za ispitivanje sučelja je korištenje automatizacije i uključivanje ispitivanja sučelja u vaš plan automatizacije.
Stoga slijedi popis alata koji će vam pomoći da što prije dovršite testiranje sučelja. Međutim, osobno bih preporučio upotrebu SoapUI-a (ovaj alat koristio sam u svom projektu za testiranje web usluga), ali svaki je zahtjev drugačiji, stoga ćemo pogledati 5 najboljih alata.
Top 5 alata uključuju:
1) ODMORNO
Za ljude koji rade s Javom, Budite uvjereni je najpoželjniji alat. Zapravo je to najbolji alat za testiranje API-ja s Javom jer je provjera REST web usluga u Javi prilično teška. Dizajniran je za potrebe testiranja, stoga se lako može integrirati s bilo kojim okvirom koji se temelji na Javi.
Ima puno kuhanog u funkcionalnostima, stoga vam neće trebati kodirati stvari od početka. Ovaj se alat dobro integrira s okvirom Serenity i možete generirati sjajna izvješća o testiranju.
2) Poštar
Neki testeri ne vole upotrebljavati isti jezik kodiranja kao IDE. Za takve ljude poštar je dobra opcija za automatizaciju. Ovo je također dobra opcija za ispitivanje sučelja.
Poštar je jednostavan REST-klijent i čovjek može brzo početi koristiti svoj dodatak za Chrome. Dostupna je izvorna verzija koja se može koristiti za Mac, Linux i Windows. Ima korisničko sučelje koje pomaže u izradi zahtjeva i provjeri primljenih odgovora.
3) SapunUI
Ako vaš tim radi samo API testiranje, SAPUN može biti izvrstan izbor. To je cjelovit alat za funkcionalno testiranje posvećen API testiranju. Također podržava testiranje na temelju podataka gdje se podaci mogu prosljeđivati u CSV ili excel formatu. Također ima plaćenu verziju pod nazivom SoapUI Pro koja nudi još bolje i poboljšane značajke za testiranje web usluga.
najbolji softver za oporavak za Windows 10
Ako želite dodati dodatni kôd za neki određeni tijek rada ili funkcionalnost, upotrijebite Groovy za svoje skriptiranje. Također možete stvoriti globalnu postavku varijable i koristiti sve te varijable u svojim testovima, umjesto da se pojedinačno inicijalizirate za svaki test.
4) JMeter
JMeter se široko koristi za ispitivanje opterećenja, a može se koristiti i za ispitivanje sučelja. JMeter ima podršku za snimanje i reprodukciju te generira HTML izvještaje koji se lako čitaju i razumiju. Kako je JMeter kompatibilan s CSV datotekama, to vam omogućuje stvaranje jedinstvenih parametara za testiranje.
Lako se integrira s Jenkinsom tako da vaši testovi mogu biti uključeni u CI. Ako želite koristiti isti alat za testiranje sučelja i učitavanja, tada će JMeter biti dostojan izbor.
5) Guslač
Violinista pomaže vam u provjeri i korištenju (ponovno) HTTP zahtjeva. Ima mnoge značajke koje vam pomažu u rješavanju problema s web stranicama, s njegovim proširenjima, a možete učiniti i mnogo više. Također je dobar alat za sigurnosno testiranje jer se može konfigurirati za dešifriranje šifriranog zahtjeva i zatim modificiranje zahtjeva za potrebe testiranja.
Jedno od proširenja Fiddlera je proširenje APITest, što pomaže u provjeri ponašanja weba na sučelju. Za intenzivnije testiranje sučelja možete pokušati koristiti FiddlerCore.Net knjižnica za stvaranje vaše infrastrukture za testiranje sučelja.
Zaključak
Ispitivanje sučelja vrlo je važan dio ispitivanja za velike programe i to je neophodno. Čak i u aplikacijama u kojima se redovito prati CI, važno je provesti testiranje sučelja.
Testiranje sučelja prilično je nezgodno i nije izravno, stoga bi za njegovo provođenje trebala biti izrađena odgovarajuća strategija. Također, ne zaboravite uzeti podatke razvojnog tima jer oni bolje razumiju kôd.
Najbolji i najjednostavniji način izvođenja ovog testiranja je automatizacija i integracija paketa za testiranje u CI tako da će se uštedjeti puno vremena i postići rezultati bržim tempom.
Jeste li izvršili ispitivanje sučelja? Slobodno podijelite svoja iskustva i javite nam koji ste alat i strategiju primijenili.
Preporučena literatura
- Najbolji alati za testiranje softvera 2021. [Alati za automatizaciju ispitivanja kvalitete]
- Alfa testiranje i beta testiranje (cjelovit vodič)
- Vodič za GUI testiranje: Kompletni vodič za testiranje korisničkog sučelja (UI)
- Vrste testiranja softvera: različite vrste ispitivanja s pojedinostima
- Preuzimanje e-knjige za testiranje primera
- Vrste rizika u softverskim projektima
- 11 najboljih alata za automatizaciju za testiranje Android aplikacija (Android Tools Testing Tools)
- Kompletan vodič za funkcionalno ispitivanje sa svojim vrstama i primjerima