Što je Front End testiranje?
⚡ Pametni sažetak
Front-end testiranje provjerava grafičko korisničko sučelje, funkcionalnost, upotrebljivost i performanse prezentacijskog sloja, tako da se prekidi rasporeda, neispravne skripte i spore stranice uoče prije nego što ih stvarni korisnici uopće naiđu.
Što je Front End testiranje?
Testiranje na front-endu je tehnika testiranja u kojoj se grafičko korisničko sučelje (GUI), funkcionalnost i upotrebljivost web aplikacija se testiraju. Cilj je potvrditi da prezentacijski sloj ostaje bez grešaka kroz uzastopna ažuriranja.
Na primjer, ako upišete svoje ime u polje obrasca, brojevi se ne bi trebali prihvaćati. Provjera poravnanja elemenata grafičkog korisničkog sučelja još je jedan svakodnevni slučaj.
Osim toga, front-end testiranje se provodi za:
- CSS regresijsko testiranje: manje CSS promjene koje narušavaju izgled prednjeg dijela.
- JavaPromjene skripte što čini prednji dio nefunkcionalnim.
- Provjere izvedbe o tome koliko brzo sučelje postaje upotrebljivo.
Kako izraditi plan testiranja sučelje web stranice?
Izrada plana front-end testiranja jednostavan je proces u četiri koraka.
Korak 1) Pronađite alate za upravljanje planom testiranja.
Korak 2) Odredite proračun za front-end testiranje.
Korak 3) Postavite vremenski okvir za cijeli proces.
Korak 4) Odredite opseg projekta. Opseg uključuje:
- Operasustave i preglednike koje koriste vaši korisnici
- Popularni uređaji koje koristi publika
- Tehnička vještina publike
- Brzina internetske veze publike
Zašto izraditi plan front-end testiranja?
Donji dijagram prikazuje dvije dimenzije koje plan mora precizno odrediti.
Plan određuje koji preglednici i Operativnih sustava projekt mora pokriti. Moguće kombinacije su bezbrojne, tako da plan smanjuje i trud i troškove.
Plan donosi dvije jasne prednosti:
- Pruža potpunu jasnoću o opsegu projekta.
- To daje povjerenje kada se projekt implementira.
Savjeti za bolje front-end testiranje
Savjeti za izradu boljeg plana front-end testiranja:
- Razborito pripremite svoj proračun, resurse i vrijeme.
- Koristite preglednik bez grafičkog prikaza kako bi se testovi brže izvršavali.
- Smanjite količinu DOM renderiranja u testovima radi bržeg izvođenja.
- Izolirajte testne slučajeve kako bi se uzrok greške brzo pronašao i ciklus ispravljanja ostao kratak.
- Omogućite bržu upotrebu testnih skripti regresijski ciklusi.
- Koristite dosljednu konvenciju imenovanja za svoje testne skripte.
- Zaveži svaku testni slučaj na jedno vidljivo ponašanje.
Alati za front-end testiranje
Nijedan alat ne pokriva skriptiranje, stilske listove i vizualne elemente, pa timovi kombiniraju nekoliko njih.
Alat za testiranje JS-a: Jasmine
Jasmin je okvir za razvoj testiranja vođen ponašanjem JavaScript kod. Fokusira se na poslovnu vrijednost, a ne na tehničke detalje, ima čistu sintaksu i ne ovisi ni o jednom drugom okviru. Crpio je temelje na okvirima za jedinično testiranje kao što su JSSpec, ScrewUnit, JSpec i RSpec. Jest i Vitest su danas široko korištene alternative.
Alat za funkcionalno testiranje: Selenium
Selenium provodi end-to-end testiranje na različitim preglednicima i platformama kao što su Windows, macOS i Linuxu, te vam omogućuje pisanje testova u Java, Python, C# i drugi jezici. Selenium IDE dodaje snimanje i reprodukciju, tako da prvi skript ne treba kod. Cypress i Dramski pisac pokrivaju isto područje s ugrađenim čekanjem i tracing..
CSS i vizualni alati: CSSLint i BackstopJS
CSSLint je linter otvorenog koda napisan u JavaSkripta koja se pokreće u pregledniku i iz naredbenog retka. Više se aktivno ne održava, pa timovi sada koriste lint stilske listove s CSS podrškom Stylelinta ili ESLinta.
BackstopJS bavi se vizualnim regresijskim testiranjem. Iscrtava stranice u Chromeu bez grafičkog prikaza, uspoređuje svaku snimku zaslona s odobrenom referentnom slikom i omogućuje vam konfiguriranje veličina prikaza i uvjeta prolaz/neuspjeh.
Dva izazova primjenjuju se na bilo koji alat za front-end testiranje:
- Automatizacija ispitivanja zahtijeva puno truda u početnoj fazi.
- Alati mogu imati problema s kompatibilnošću s određenim operativnim sustavima i verzijama preglednika.
Optimizacija front-end performansi
Testiranje performansi front-enda odgovara na jedno pitanje: koliko se brzo stranica učitava i postaje upotrebljiva? Podešavanje za jednog korisnika dobra je praksa prije nego što se aplikacija suoči s velikim opterećenjem u ispitivanje performansi.
Zašto je važna optimizacija front-end performansi?
Optimizacija performansi nekada je značila podešavanje poslužitelja, jer je većina web stranica bila statična, a obrada se odvijala na strani poslužitelja.
Kako su web aplikacije postajale dinamične, puno više posla se preselilo u preglednik: kod okvira, skripte trećih strana, slike i fontovi. Klijentski kod postao je usko grlo sam po sebi.
Koja je korist od optimizacije performansi front-enda?
- Problemi na strani klijenta štete korisničkom iskustvu jednako izravno kao i uska grla poslužitelja, stoga oba zaslužuju pažnju.
- Velik dio čekanja posjetitelja događa se nakon što poslužitelj odgovori - preuzimanje, parsiranje i renderiranje - pa rad na front-endu često donosi veću vidljivu dobit.
- Ispravci poput komprimiranja slika, odgađanja skripti i rezerviranja prostora za medije jeftiniji su od rearhitekture pozadinskog sustava.
- Ključni pokazatelji weba — Najveće iscrtavanje sadržaja, interakcija sa sljedećim iscrtavanjem i kumulativni izgled Shift — dati rezultate u zajedničku tablicu rezultata.
Front-end alati za testiranje performansi
1. PageSpeed Insights
PageSpeed Insights is GoogleBesplatna usluga analize stranica tvrtke Google. Provodi Lighthouse reviziju, izvještava o Core Web Vitals i navodi prijedloge za smanjenje vremena učitavanja. Lighthouse se također isporučuje unutar Chrome DevToolsa.
2. Pingdom
Pingdom je usluga praćenja web stranice i njezinih performansi. Obavještava korisnike kada se stranica uspori ili prestane s radom, tako da se problemi pojave prije nego što ih korisnici prijave.
Značajke:
- Ispituje sve dijelove web stranice
- Pruža pregled performansi
- Tracvaša povijest performansi
- Omogućuje testiranje s više lokacija

