UI-test (User Interface) er en vigtig del af softwareudviklingsprocessen, men gør man det manuelt, er det både tidskrævende og dyrt - og samtidig er der også mulighed for menneskelige fejl.
Desuden er det nok ikke helt forkert at postulere, at det ikke står øverst på ønskelisten over opgaver hos de fleste udviklere. Det flytter nemlig fokus fra mere relevante og spændende opgaver.
Hos nogle virksomheder er det blot nogle af årsagerne til, at man mere eller mindre bevidst vælger ikke at udføre disse test.
For et par år siden besluttede vi hos Queue-it at automatisere UI-testprocessen, og det har vi ikke fortrudt et øjeblik. Automatiseret test garanterer nemlig ensartet test af høj kvalitet og sikrer samtidig, at den nyudviklede software lever op til de specificerede krav.
Skal du i gang med en automatiseret UI-testsuite for første gang, så overvej følgende tre tip, som kan guide dig til succes.
1. Organiser
Sørg for at organisere dig optimalt fra start. En testsuite er kompleks af natur, og det kan derfor være en god idé at få en ekstern ekspert på banen, når grundstene til løsningen lægges.
Og så er det naturligvis vigtigt, at løsningen er struktureret ordentligt, så den er let af læse samt vedligeholde.
2. Stabliser
Når der skrives test til UI, er det vigtigt at være opmærksom på, at de skal være mere robuste end traditionelle unittest.
Ved arbejde med UI er timing vigtig. Eksempelvis skal der først klikkes på diverse links, når siden er indlæst. Du skal altså i større grad arbejde med polling-mekanismer, altså at afvente en ønsket tilstand, før du kan fortsætte med de efterfølgende test-trin.
3. Afgræns
Begræns dine test og fokuser på forskellige UI-funktionaliteter i hver enkelt test. Det vil gøre det videre arbejde meget mere præcist og brugbart - og du slipper for at undersøge flere forskellige muligheder for fejl i samme test.
Du skal huske at sikre dig, at din automatiserede testsuite indgår i din pipeline.
Vær opmærksom på, at det er forholdsvist tidskrævende at opbygge en automatiseret testsuite fra grunden. Det betyder, at man derfor ikke får en gevinst rent tidsmæssigt første gang, testen køres. Det må nærmere betragtes som en investering i fremtiden.
Alt i alt er det en god idé at have en automatiseret UI-testsuite, for du får frigivet en masse ressourcer i forhold til at teste manuelt. Samtidig får du bedre mulighed for at finde softwarefejl, hvilket gør det til et vigtigt QA-værktøj.
Hos Queue-it har vi brugt Selenium, xUnit, og .NET (C#), og hvis du vil vide mere om emnet, har vores udvikler, Frederik Williams, skrevet en fin artikel om, hvordan Queue-it har sat en automatiseret UI-testsuite op.