UI testen: een uitgebreide gids

UI testen is een belangrijk onderdeel van de software testcyclus. Om te valideren of applicaties de gewenste functionaliteiten hebben en of ze gebruiksvriendelijk zijn, moeten QA-professionals alle interfacecomponenten testen. Dit verbetert niet alleen de softwarekwaliteit, maar zorgt er ook voor dat eindgebruikers comfortabel zijn bij het gebruik van de applicatie.

in deze uitgebreide gids behandelen we alles wat u moet weten over UI-testen, van de fundamentele concepten van UI-testen tot hoe u een effectieve UI-test kunt uitvoeren. Tegen het einde, zullen we duiken in de uitdagingen ondervonden in UI testen en bieden praktische oplossingen.

Wat is UI-testen?

user interface of UI testing, ook bekend als GUI testing, is het proces van het testen van de visuele elementen van een toepassing om te valideren of ze nauwkeurig voldoen aan de verwachte prestaties en functionaliteit. Door het testen van de GUI, testers kunnen valideren dat UI functies zijn vrij van defecten.

het omvat het testen van alle visuele indicatoren en grafische pictogrammen, inclusief menu ‘ s, keuzerondjes, tekstvakken, selectievakjes, werkbalken, kleuren, lettertypen en meer.

de belangrijkste aspecten die bij UI-tests zijn gecontroleerd, zijn::

  • visueel ontwerp
  • functionaliteit
  • Usability
  • Performance
  • Compliance

UI-tests worden handmatig of geautomatiseerd uitgevoerd met een testtool. Ongeacht de gebruikte methode, het doel is om ervoor te zorgen dat alle UI-elementen voldoen aan de gevraagde specificaties.

de behoefte aan UI-testen

UI-testen is gecentreerd rond twee belangrijke zaken. Eerst controleren hoe de applicatie gebruikersacties verwerkt die worden uitgevoerd met het toetsenbord, de muis en andere invoerapparaten. Ten tweede, controleren of visuele elementen worden weergegeven en correct werken.

alleen op die manier kunnen organisaties ervoor zorgen dat applicaties aan hun functionele eisen voldoen en dat eindgebruikers ze met succes zullen overnemen. Om deze reden, UI testen speelt een belangrijke rol voordat een toepassing wordt vrijgegeven aan de productie.

UI Testing Checklist: essentiële testcases

net als de meeste typen software testen, kan de reikwijdte van GUI testen zeer breed zijn. In deze sectie stellen we essentiële testcases samen die QA-professionals kunnen helpen hun interfaces grondig te testen. De testcases hebben betrekking op verschillende UI-aspecten, waaronder afbeeldingen, kleurstandaarden, pagina-inhoud, navigatie, bruikbaarheid en meer. Gebruik deze checklist om ervoor te zorgen dat uw UI-tests uitgebreider zijn.

  • gegevenstype fouten-zorg ervoor dat alleen geldige gegevens kunnen worden ingevoerd voor specifieke gegevenstypen zoals valuta en datums.
  • Veldbreedtes – als een bepaald tekstvak een bepaald aantal tekens toestaat, maak dan op de gebruikersinterface duidelijk dat de ingevoerde gegevens de tekenlimiet niet mogen overschrijden. (Bijvoorbeeld, een veld dat 50 karakters in de database van de toepassing toestaat, Mag gebruikers niet toestaan om meer dan 50 karakters in te voeren op de interface).
  • Navigatieelementen-Controleer of alle navigatieknoppen op de pagina correct werken en of ze gebruikers naar de juiste pagina of het juiste scherm leiden.
  • voortgangsbalken-bij het weergeven van schermen die tijd nodig hebben om resultaten weer te geven, moet een voortgangsbalk worden gebruikt om de gebruiker te laten zien dat een proces nog steeds draait.
  • Type-ahead – als uw gebruikersinterface vervolgkeuzelijsten gebruikt, zorg er dan voor dat u type ahead toevoegt. In een drop-down menu met honderden items, het typen van de eerste letter moet de lijst overslaan naar items die beginnen met die letter, zodat gebruikers niet hoeft te controleren door middel van een lange lijst.
  • Table scrolling-als de gegevens in uw tabellen zich uitbreiden naar een andere pagina, dan moet de scroll-functie Gebruikers toestaan om de gegevens te scrollen, maar alle headers intact te houden.
  • foutregistratie – als het systeem een fatale fout ervaart, zorg er dan voor dat de toepassing de foutdetails naar een logboekweergave of logbestand schrijft voor later onderzoek.
  • Menu-items-zorg ervoor dat de toepassing alleen geldige menu-items toont die beschikbaar zijn in een bepaalde status.
  • Werksnelkoppelingen-voor toepassingen die snelkoppelingen ondersteunen, controleert u of ze correct werken, ongeacht de browser, het platform of het apparaat dat wordt gebruikt.
  • actieknoppen bevestigen-zorg ervoor dat de gebruikersinterface elke keer als de gebruiker een item

wilt opslaan of verwijderen heeft.naast het testen van deze afzonderlijke elementen, is het ook nuttig om UI-tests uit te voeren om uw meest kritische end-to-end processen te verifiëren. Aangezien dit is waar uw gebruikers het vaakst zullen communiceren met uw toepassing, ziet u ook de meeste ROI van het doen van dit type UI-testen.

bij end-to-end testen hebben uw UI-testgevallen veel meer kans om de belangrijkste pijnpunten van uw organisatie aan te pakken. Een belangrijk voorbeeld van een end-to-end proces dat kan profiteren van UI testen is het verwerken van credit card betalingen. In de e-commerce industrie, in het bijzonder, ervoor te zorgen dat uw applicatie alle noodzakelijke stappen kan nemen om een Geldige Transactie te accepteren en te controleren is absoluut noodzakelijk. Niet alleen zal het testen van processen als deze bevestigen dat de code goed werkt, maar het zal ook een grote impact hebben op het hele bedrijf.

benaderingen van UI-testen

er zijn drie belangrijke GUI-testmethoden, namelijk:

handmatige tests

bij handmatige tests voert een menselijke tester een reeks bewerkingen uit om te controleren of de toepassing correct functioneert en of de grafische elementen voldoen aan de gedocumenteerde eisen. Handmatig testen heeft opmerkelijke nadelen in dat het tijdrovend kan zijn, en de testdekking is extreem laag. Bovendien hangt de kwaliteit van het testen in deze aanpak af van de kennis en mogelijkheden van het testteam.

Record-and-Playback Testing

ook bekend als record-and-replay testing, het wordt uitgevoerd met behulp van automatiseringstools. De geautomatiseerde UI-testtool registreert alle taken, acties en interacties met de toepassing. De opgenomen stappen worden vervolgens gereproduceerd, uitgevoerd en vergeleken met het verwachte gedrag. Voor verdere tests kan de replay-fase worden herhaald met verschillende datasets.

Model-Based Testing

in deze testbenadering richten we ons op het bouwen van grafische modellen die het gedrag van een systeem beschrijven. Dit zorgt voor een dieper inzicht in het systeem, waardoor de tester zeer efficiënte testcases kan genereren. In de modellen bepalen we de in-en uitgangen van het systeem, die op hun beurt worden gebruikt om de tests uit te voeren. Modelgebaseerd testen werkt als volgt:

  • Maak een model voor het systeem
  • Bepaal de systeeminput
  • controleer de verwachte output
  • voer tests uit
  • Controleer en valideer de systeemoutput VS. de verwachte output

de modelgebaseerde aanpak is geweldig omdat het een hoger automatiseringsniveau mogelijk maakt. Het heeft ook betrekking op een groter aantal toestanden in het systeem, waardoor de testdekking wordt verbeterd.

UI-testscenario ‘ s

bij het uitvoeren van een UI-test moet het QA-team een testplan opstellen waarin de gebieden van een toepassing worden aangegeven die moeten worden getest en de beschikbare testmiddelen. Met deze informatie kunnen testers nu de testscenario ‘ s definiëren, testcases maken en de testscripts schrijven.

een testscenario is een document dat aangeeft hoe de te testen toepassing in de praktijk zal worden gebruikt. Een eenvoudig testscenario in de meeste toepassingen zou zijn, “gebruikers zullen succesvol inloggen met een geldige gebruikersnaam of ID en wachtwoord” In dit scenario, kunnen we testcases voor meerdere GUI-evenementen. Dit geldt ook wanneer een gebruiker:

  • geeft een geldige gebruikersnaam en wachtwoord combinatie
  • geeft een Ongeldige gebruikersnaam
  • geeft een geldige gebruikersnaam maar een ongeldig wachtwoord
  • vergeet en probeert het wachtwoord te resetten
  • probeert een wachtwoord te kopiëren vanuit het wachtwoord veld
  • probeert een wachtwoord te kopiëren naar het wachtwoord veld
  • drukt op de help-knop

hoewel scenario ‘ s niet nodig zijn bij het maken van ui-testcases, sturen ze hun ontwikkeling. In principe dienen ze als basis voor de ontwikkeling van testcases en testscripts zoals hieronder weergegeven:

Demo: Een praktische UI-Test

bij het testen van een gebruikersinterface wordt met veel zaken rekening gehouden. Laten we eens overwegen Dit Google sign up formulier als een voorbeeld.

met behulp van het bovenstaande formulier identificeren we 13 testgevallen, gelabeld met TC-1 tot TC-13. Op zijn minst moeten we de volgende UI-controles uitvoeren:

TC-1

  • controleer het paginalabel, de positie en het lettertype.

TC-2

  • valideren of de kop van de pagina correct is.
  • controleer het gebruikte lettertype.

TC-3

  • controleer de cursor focus op het standaard veld.
  • Test de verplichte velden door op Volgende te klikken terwijl het formulier leeg is.
  • controleer de positie en uitlijning van het tekstvak.
  • controleer de acceptatie van zowel geldige als ongeldige tekens in de veldlabels.

TC-4

  • controleer de positie en uitlijning van het tekstvak.
  • Controleer veldlabels, Valideer de acceptatie van zowel geldige als ongeldige tekens.

TC-5

  • controleer de positie en uitlijning van het tekstvak.
  • Controleer veldlabels, Valideer de acceptatie van zowel geldige als ongeldige tekens.

TC-6

  • Test de foutmelding door zowel toegestane als verboden tekens in te voeren.
  • controleer de juistheid van de foutmelding.

TC-7

  • Test pop-ups en hyperlinks.

TC-8

  • Controleer veldlabels, Valideer de acceptatie van zowel geldige als ongeldige tekens.
  • controleer de positie en uitlijning van het tekstvak.

TC-9

  • Sla een ongeëvenaard wachtwoord op.
  • Controleer veldlabels, Valideer de acceptatie van zowel geldige als ongeldige tekens.
  • controleer de positie en uitlijning van het tekstvak.

TC-10

  • Pictogrampositie verifiëren.
  • Test het pictogram toont of verbergt het wachtwoord van de gebruiker.
  • controleer de beeldkwaliteit.

TC-11

  • Test de foutmelding door zowel toegestane als verboden tekens in te voeren.
  • controleer de juistheid van de foutmelding.

TC-12

  • Test pop-ups en hyperlinks.

TC-13

  • indiening van het testformulier.
  • controleer de positie en helderheid van de knop.

uitdagingen bij UI-testen

Software testers worden geconfronteerd met een aantal problemen bij het uitvoeren van UI-tests. Enkele van de meest opvallende uitdagingen zijn::

  • voortdurend veranderende gebruikersinterface-Het is gebruikelijk om applicaties voortdurend te upgraden om nieuwe functies en functionaliteiten tegemoet te komen. Wanneer upgrades vaak worden gemaakt, wordt het uitvoeren van uitgebreide UI-tests een uitdaging.
  • toenemende complexiteit van testen-moderne toepassingen hebben aanzienlijk complexe functies, waaronder ingebedde frames, complexe stroomdiagrammen, kaarten, diagrammen en andere webalementen. Dit maakt UI tests om meer uitdagend te worden.
  • UI-tests kunnen tijdrovend zijn-het maken van effectieve UI-testscripts en het uitvoeren van de tests kan tijd kosten, vooral wanneer een tester niet het juiste gereedschap gebruikt.
  • het onderhouden van UI-testscripts – als ontwikkelaars wijzigingen aanbrengen in de gebruikersinterface, wordt het een uitdaging om de testscripts te onderhouden.
  • omgaan met meerdere fouten – bij het uitvoeren van complexe UI-tests onder strakke tijdlijnen besteden testers veel tijd aan het maken van scripts. In dergelijke scenario ‘ s wordt het oplossen van fouten tijdens het testproces een uitdaging.
  • het berekenen van de ROI voor UI testautomatisering – aangezien de UI steeds verandert, veranderen ook de tests. Dit verhoogt de hoeveelheid tijd die wordt besteed aan UI-testen, waardoor het leveringsproces wordt vertraagd. Uiteindelijk wordt het moeilijk om de ROI te berekenen voor het continu uitvoeren van UI-tests.

hoe veelvoorkomende UI-Testuitdagingen te overwinnen

hier zijn enkele praktische tips die u kunnen helpen de bovenstaande UI-testuitdagingen te overwinnen.

Selecteer de juiste UI test automation tool

de eerste stap bij het oplossen van software test uitdagingen is het kiezen van de juiste automation tool. Er zijn verschillende testtools in de markt die u kunt gebruiken voor uw project. Focus je echter op het kiezen van een die naadloos integreert met je workflow. Een geweldige UI automation tool heeft opnemen / afspelen mogelijkheden, ondersteunt herbruikbare tests, en vereist minimaal onderhoud. Het ondersteunt ook rapportage en heeft defecttracking mogelijkheden.

gebruik een object repository

Eén aanpak om het onderhoud van de test en de bijbehorende kosten te verminderen is het gebruik van een gedeelde repository. Het is ook een geweldig idee om het aantal UI-testgevallen tijdens de eerste testfasen te verminderen en vervolgens de dekking te verhogen terwijl u verder gaat. Dit zorgt voor een hoger slagingspercentage in uw testcases.

kies codeless Automation testing tools

om het probleem van herhaalde wijzigingen in de testcode te elimineren, moeten ontwikkelaars en QA-teams gebruik maken van de kracht van codeless automation. Als je een Selenium fan, bijvoorbeeld, TestCraft zal uw hele test creatie en uitvoering proces te automatiseren, waardoor u een groot deel van de tijd en kosten besparen.

Organizational code review standards

de coderingscultuur van een onderneming heeft een significante invloed op de manier waarop hun teams de testuitdagingen in de applicatieontwikkelingscyclus aanpakken. Om deze reden, organisaties moeten zich richten op het trainen van hun teams op de beste test automatiseringspraktijken, dus er zijn specifieke criteria voor code herziening of wijzigingen in de hele onderneming. Een goede aanpak zou zijn het betrekken van test automation experts in een aantal intense brainstormsessies.

Final Word

UI testen is een essentiële driver voor een verbeterde gebruikerservaring en klanttevredenheid. De meeste eindgebruikers zullen niet schelen hoe goed uw code werkt of hoe schoon het is. Hoewel ze profiteren van hoge code kwaliteit, ze zijn meer bezorgd over wat ze praktisch kunnen zien en aanraken.

als zodanig moeten testers ervoor zorgen dat de interface van hun applicatie eenvoudig te gebruiken en te navigeren is, er goed uitziet in alle browsers en apparaten, en het belangrijkste is dat het correct werkt.

de enige manier om dit te bereiken is door uitgebreide UI-tests te integreren in uw ontwikkelingsproces.

het gebruik van het juiste gereedschap om uw testcases aan te maken en uit te voeren maakt het testen van gebruikersinterface succesvoller. Neem contact op met onze testautomatiseringsexperts en ontdek hoe TestCraft uw testervaring kan verbeteren.