Hva er grensesnitttesting?
โก Smart oppsummering
Frontend-testing verifiserer det grafiske brukergrensesnittet, funksjonaliteten, brukervennligheten og ytelsen til presentasjonslaget, slik at layoutbrudd, รธdelagte skript og trege sider fanges opp fรธr virkelige brukere i det hele tatt mรธter dem.
Hva er grensesnitttesting?
Frontend-testing er en testteknikk der grafisk brukergrensesnitt (GUI), funksjonalitet og brukervennlighet til en webapplikasjon testes. Mรฅlet er รฅ bekrefte at presentasjonslaget forblir fritt for feil gjennom pรฅfรธlgende oppdateringer.
Hvis du for eksempel skriver inn navnet ditt i et skjemafelt, skal ikke tall godtas. ร sjekke justeringen av GUI-elementer er en annen hverdagssak.
Bortsett fra dette utfรธres frontend-testing for:
- CSS-regresjonstesting: mindre CSS-endringer som รธdelegger front-end-oppsettet.
- JavaSkriptendringer som gjรธr frontenden ufunksjonell.
- Ytelsessjekker hvor raskt grensesnittet blir brukbart.
Hvordan lage en testplan for frontend-nettsted?
ร lage en plan for front-end-testing er en enkel prosess i fire trinn.
Trinn 1) Finn ut verktรธy for รฅ administrere testplanen din.
Trinn 2) Bestem budsjettet for frontend-testing.
Trinn 3) Sett tidslinjen for hele prosessen.
Trinn 4) Bestem prosjektets omfang. Omfanget inkluderer:
- Operasystemer og nettlesere som brukes av brukerne dine
- Populรฆre enheter brukt av publikum
- Publikums tekniske ferdigheter
- Internetthastigheten til publikum
Hvorfor lage en plan for frontend-testing?
Diagrammet nedenfor viser de to dimensjonene en plan mรฅ fastsette.
En plan bestemmer hvilke nettlesere og operativsystemer prosjektet mรฅ dekke. De mulige kombinasjonene er utallige, sรฅ en plan reduserer bรฅde innsats og kostnader.
Planen gir to klare fordeler:
- Det gir full klarhet i prosjektets omfang.
- Det gir trygghet nรฅr prosjektet settes i verk.
Tips for bedre frontend-testing
Tips for รฅ bygge en bedre plan for frontend-testing:
- Forbered budsjettet, ressursene og tiden med omtanke.
- Bruk en headless nettleser, slik at testene kjรธres raskere.
- Kutt ned mengden DOM-gjengivelse i tester for raskere utfรธrelse.
- Isoler testtilfeller, slik at roten til en feil finnes raskt og reparasjonssyklusen forblir kort.
- Gjรธr testskriptene dine gjenbrukbare for raskere regresjonssykluser.
- Bruk en konsekvent navnekonvensjon for testskriptene dine.
- Knyt hver testforsรธk til รฉn synlig atferd.
Front-end testverktรธy
Ingen enkelt verktรธy dekker skripting, stilark og visuelle elementer, sรฅ team kombinerer flere.
JS-testverktรธy: Jasmine
Jasmine er et atferdsdrevet utviklingsrammeverk for testing JavaScript kode. Den fokuserer pรฅ forretningsverdi snarere enn tekniske detaljer, har en ren syntaks og er ikke avhengig av noe annet rammeverk. Den trakk pรฅ enhetstestingsrammeverk som JSSpec, ScrewUnit, JSpec og RSpec. Jest og Vitest er de mest brukte alternativene i dag.
Funksjonelt testverktรธy: Selenium
Selenium utfรธrer ende-til-ende-testing pรฅ tvers av nettlesere og plattformer som Windows, macOS og Linux, og lar deg skrive tester i Java, Python, C# og andre sprรฅk. Selenium IDE legger til opptak og avspilling, sรฅ et fรธrste skript trenger ingen kode. Cypress og dramatiker dekker samme omrรฅde med innebygd venting og tracing.
CSS og visuelle verktรธy: CSSLint og BackstopJS
CSSLint er en รฅpen kildekode-linter skrevet i JavaSkript som kjรธrer i nettleseren og fra en kommandolinje. Det vedlikeholdes ikke lenger aktivt, sรฅ teamene bruker nรฅ Stylelint eller ESLints CSS-stรธtte for รฅ lรธse problemer i stilark.
BackstopJS hรฅndterer visuell regresjonstesting. Den gjengir sider i headless Chrome, sammenligner hvert skjermbilde med et godkjent referansebilde og lar deg konfigurere viewport-stรธrrelser og bestรฅtt/ikke bestรฅtt-betingelser.
To utfordringer gjelder for ethvert verktรธy for frontend-testing:
- Testautomatisering krever mye innsats i den innledende fasen.
- Verktรธy kan ha kompatibilitetsproblemer med bestemte operativsystemer og nettleserversjoner.
Front-end ytelsesoptimalisering
Frontend-ytelsestesting svarer pรฅ ett spรธrsmรฅl: hvor raskt lastes siden inn og blir brukbar? Det er god praksis รฅ finjustere den for รฉn enkelt bruker fรธr applikasjonen mรธter hรธy belastning. ytelsestesting.
Hvorfor er front-end ytelsesoptimalisering viktig?
Ytelsesoptimalisering betydde en gang รฅ finjustere serveren, fordi de fleste nettsteder var statiske og behandlingen skjedde pรฅ serversiden.
Etter hvert som webapplikasjoner ble dynamiske, flyttet mye mer arbeid seg til nettleseren: rammeverkskode, tredjepartsskript, bilder og fonter. Klientsidekode ble en flaskehals i seg selv.
Hva er fordelen med front-end ytelsesoptimalisering?
- Problemer pรฅ klientsiden skader brukeropplevelsen like direkte som flaskehalser pรฅ serveren, sรฅ begge fortjener oppmerksomhet.
- Mye av en besรธkendes venting skjer etter at serveren har svart โ nedlasting, parsing og gjengivelse โ sรฅ front-end-arbeid gir ofte den stรธrste synlige gevinsten.
- Rettelser som รฅ komprimere bilder, utsette skript og reservere plass til media er billigere enn รฅ omstrukturere bakenden.
- Kjernenett-vitaliteter โ Stรธrst innholdsrik maling, interaksjon med neste maling og kumulativ layout Shift โ gi resultatene en felles resultattavle.
Verktรธy for front-end ytelsestesting
1. PageSpeed โโInsights
Pagespeed Insights is Googles gratis sideanalysetjeneste. Den kjรธrer en Lighthouse-revisjon, rapporterer Core Web Vitals og viser forslag til hvordan man kan redusere lastetiden. Lighthouse leveres ogsรฅ i Chrome DevTools.
2. Pingdom
Pingdom er en tjeneste for nettsteds- og ytelsesovervรฅking. Den varsler kunder nรฅr en side treger seg eller gรฅr offline, slik at problemer dukker opp fรธr brukerne rapporterer dem.
Egenskaper:
- Undersรธker alle deler av en nettside
- Gir en ytelsesoversikt
- Tracser pรฅ ytelseshistorikken din
- Lar deg teste fra flere steder

