• Home
  • Blog
  • Sådan opretholder vi kvaliteten af dit akademi ved hjælp af visuel regressionstest

Sådan opretholder vi kvaliteten af dit akademi ved hjælp af visuel regressionstest

Ændringer i én komponent kan have uønskede effekter i andre. Visuel regressionstest gør det muligt for os at håndtere dette problem, før det når ud til vores slutbrugere. 

Postet den
17. dec. 2019
Læsetid
5 Minutter
Skrevet af
Knowly

For nylig introducerede vi vores nye akademi-interface. Under udviklingen begyndte vi at bruge nogle nye teknikker til at hjælpe os med at forbedre vores arbejdsgang og opretholde en høj kvalitetsstandard for vores produkt. Vi forhindrer fejl i at opstå ved at arbejde komponentdrevet og ofte teste for utilsigtede visuelle ændringer (visuelle regressioner).

Komponentdrevet udvikling

I de senere år har en stor tendens inden for udvikling af brugergrænseflader været komponentdrevet udvikling (CDD). Komponenter er de mindste stykker af selvstændig funktionalitet, som tilfører værdi i sig selv. CDD er forankret i dette ved at skabe en byggeproces, der fungerer nedefra og op. Man opretter først små komponenter, som knyttes til større komponenter, der tilsammen udgør en funktion eller en side. Tænk på det som en cykel, der består af mindre dele. Du starter med at skabe to hjul og derefter et stel. Tilføj et rat, nogle pedaler og en kæde. Nu begynder det at ligne en cykel. Det er også sådan, vi har udviklet academy-interfacet.

Vi oplever mange fordele ved at arbejde på en komponentdrevet måde:

  • Komponenter kan genbruges. Hvis du bygger et hjul, kan du bruge det til at bygge en større eller mindre cykel, eller måske endda en trehjulet cykel.

  • Små komponenter er nemme at forstå.

  • Komponenter er nemme at teste. Du kan teste, om hjulet virker, du behøver ikke at bekymre dig om hele cyklen endnu.

  • At arbejde med komponenter fremskynder ofte vores udviklingsproces ved at give plug and play-løsninger.

  • Udviklingen er fokuseret. Det er nemt at holde styr på komponentvariationer.

  • Der er værktøjer til rådighed, som gør det nemt at holde styr på alle tilgængelige komponenter, som er skabt af kolleger.

Nogle eksempler på komponenter, vi har skabt, er: en knap, et pop-up-vindue, et multiple choice-svar og også en komplet login-side.

Storybook giver os mulighed for at udvikle komponenter uden for vores applikation i et isoleret miljø uden at bekymre os om afhængigheder eller om at ødelægge applikationen.

Historien om vores interface i Storybook

Når vi har skabt en masse komponenter, som er rygraden i vores brugerflade, organiserer vi dem i Storybook. Storybook er en komponentudforsker eller et komponentbibliotek. Det er en effektiv måde at holde styr på alle vores komponenter. Hver komponent får sin egen historie i Storybook, hvor alle mulige variationer af en komponent kan ses: 

Button component in StKnapkomponent i Storybook

For en knapkomponent er det f.eks. muligt at se en standardknap, en hævet knap, en ikke-hævet knap og en deaktiveret knap. Det er også muligt at interagere med komponenten for at se, hvordan det ændrer komponentens tilstand eller adfærd. Skriv f.eks. noget i login-formularen, og input-felterne fortæller dig, om inputtet er gyldigt:

Komponent til login-formular i Storybook

Storybook giver os mulighed for at udvikle komponenter uden for vores applikation i et isoleret miljø uden at bekymre os om afhængigheder eller om at ødelægge applikationen.

Vi bruger Storybook som et designværktøj, da vi har vedtaget en historiedrevet designstrategi. Når vi designer, skaber vi direkte noget, der er værdifuldt. I stedet for at skabe spildte Photoshop-overleveringer, som vi plejede at gøre før. Når vi tilføjer komponenthistorier til Storybook, bidrager vi automatisk til en levende stilguide eller et brugergrænsefladebibliotek. Det betyder, at en udvikler nemt kan vælge mellem en bred vifte af færdige komponenter til at tilføje til en funktion, de er i gang med at skabe. Det gør vores brugerflade konsekvent og relativt billig at udvikle:

Komponent til login-side i Storybook

Ved hjælp af add-ons har vi udvidet Storybook, så vi kan teste tilgængeligheden af hver enkelt komponent. Vi sørger for, at grænsefladen forbliver tilgængelig for brugere med visse begrænsninger:

Kontrol af tilgængelighed i Storybook

Visuel regressionstest med Percy

Tidligere talte vi om visuelle regressioner, som er utilsigtede visuelle ændringer. For at blive opmærksom på disse visuelle ændringer bruger vi et værktøj, der hedder Percy. Percy er et visuelt regressionstestværktøj, der kun bekymrer sig om visuel integritet.

Med Storybook kan jeg bygge og style komponenter isoleret, og jeg har altid et overblik over de forskellige scenarier, jeg har designet. Med hjælp fra Percy kender jeg altid effekten af de ændringer, jeg foretager.
Anouk
Front-End Developer & UX Designer

For hver komponent, vi har udviklet i vores Storybook-komponentbibliotek, bliver der taget et skærmbillede. Når vi ændrer en komponent, tages der et nyt skærmbillede, og de to sammenlignes med hinanden side om side. Forskelle markeres derefter med rødt for tydeligt at vise, hvad der er ændret:

Regressioner gjort synlige i Percy


Forskelle mellem den gamle og den nye version er markeret med rødt

Percy knytter sig direkte til vores kontinuerlige integrationspipeline (flowet fra idé til virkelighed) ved at underrette os om visuelle regressioner, før ændringerne går i luften. Efter en gennemgang af en af designerne bliver ændringer enten accepteret eller afvist. Percy giver også mulighed for at diskutere en bestemt ændring:

Percy er integreret i vores pipeline og fortæller os, at noget skal gennemgås

Alt dette hjælper os med at forhindre uønskede visuelle ændringer i at finde vej til jer, vores slutbrugere. Er der alligevel sluppet en visuel fejl igennem? Læs videre for at finde ud af, hvordan vi håndterer det i denne artikel.

Se mere i vores blogs

Caroline

Caroline

12. dec. 2024

Vores sekundære beskæftigelsesfordele forklaret

Lønnen er vigtig, når du vælger job, men lad os ikke glemme de frynsegoder, der følger med. De sekundære fordele kan virkelig forsøde aftalen! Og vi mener, at vi har sammensat en fantastisk pakke. Dyk ned i alle vores vidunderlige ekstraydelser!

Læs mere
Caroline

Caroline

8. apr. 2025

Arbejde og trivsel!

Det er givende at arbejde hos Easy LMS! Naturligvis betaler vi en konkurrencedygtig løn, befordring og tilskud til home office samt tilbyder 25 feriedage om året! Derudover er vi stolte af at kunne tilbyde dig fordele, som får dig til at føle dig veltilpas og til at yde dit bedste. Dit velbefindende, fysisk og psykisk er højeste prioritet! Det er det, fordi vores medarbejdere er rygraden i vores organisation.

Læs mere
Caroline

Caroline

22. apr. 2025

Din første måned

Når du har fået nyt arbejde, er du ivrig efter at komme i gang! På samme tid er der en sund dosis af nervøsitet. Hvad venter dig? Hvordan vil dine første uger se ud? Og hvor hurtig kan du rent faktisk tilføre værdi? Det sidste er vores fokus. Vores onboarding for softwareingeniører er klar og tydelig og vil hjælpe dig med at lære vores virksomhed at kende, dine kolleger samt introducerer dig til dine opgaver på ingen tid! Oplev, hvordan vi giver dig en kickstart!

Læs mere