GUI-testning – UI-testsager (eksempler)
For at forstå GUI Testing lader vi først forstå-
Hvad er GUI?
Der er to typer grænseflader til en computerapplikation. Kommandolinjegrænsefladen er, hvor du skriver tekst, og computeren reagerer på denne kommando. GUI står for Graphical User Interface, hvor du interagerer med computeren ved hjælp af billeder frem for tekst.
Følgende er de GUI-elementer, som kan bruges til interaktion mellem brugeren og applikationen:
GUI-test er en validering af ovenstående elementer.
Hvad er GUI-testning?
GUI test er en softwaretesttype, der kontrollerer softwarens grafiske brugergrænseflade. Formålet med test af grafisk brugergrænseflade (GUI) er at sikre, at softwareapplikationens funktionalitet fungerer i henhold til specifikationerne ved at kontrollere skærme og kontroller som menuer, knapper, ikoner osv.
GUI er, hvad brugeren ser. Sig, at hvis du besøger guru99.com, hvad du vil se, siger hjemmesiden, er det webstedets GUI (grafisk brugergrænseflade). En bruger kan ikke se kildekoden. Grænsefladen er synlig for brugeren. Specielt fokus er på designstrukturen, billeder om, at de fungerer korrekt eller ej.
I ovenstående eksempel, hvis vi skal lave GUI-test, kontrollerer vi først, at billederne skal være fuldstændigt synlige i forskellige browsere.
Linkene er også tilgængelige, og knappen burde virke, når der klikkes på den.
Desuden, hvis brugeren ændrer størrelsen på skærmen, bør hverken billeder eller indhold krympe eller beskære eller overlappe.
Behov for GUI-test
Nu er det grundlæggende koncept for GUI-test klar. De få spørgsmål, der vil slå i dit sind, vil være
- Hvorfor testes GUI?
- Er det virkelig nødvendigt?
- Er test af funktionel og logik af Application ikke mere end nok?? Hvorfor så spilde tid på UI-test.
For at få svaret til at tænke som bruger, ikke som tester. En bruger har ingen viden om XYZ software/applikation. Det er applikationens brugergrænseflade, der beslutter, om en bruger vil bruge applikationen yderligere eller ej.
En normal bruger observerer først applikationens/softwarens design og udseende, og hvor let det er for ham at forstå brugergrænsefladen. Hvis en bruger ikke er fortrolig med grænsefladen eller finder applikationen kompleks at forstå, ville han aldrig bruge den applikation igen. Det er derfor, GUI er et spørgsmål til bekymring, og korrekt test bør udføres for at sikre, at GUI er fri for fejl.
Hvad tjekker du ind på GUI-testning?
Følgende tjekliste vil sikre detaljeret GUI-test i softwaretest.
- Tjek alle GUI-elementerne for størrelse, position, bredde, længde og accept af tegn eller tal. For eksempel skal du kunne give input til inputfelterne.
- Tjek, at du kan udføre den tilsigtede funktionalitet af applikationen ved hjælp af GUI
- Kontroller, at fejlmeddelelserne vises korrekt
- Tjek for tydelig afgrænsning af forskellige sektioner på skærmen
- Kontroller, at skrifttypen, der bruges i et program, er læsbar
- Kontroller, at justeringen af teksten er korrekt
- Kontroller, at farven på skrifttypen og advarslerne er æstetisk tiltalende
- Tjek, at billederne har god klarhed
- Kontroller, at billederne er korrekt justeret
- Tjek placeringen af GUI-elementer for forskellige skærmopløsninger.
GUI-testteknikker
GUI-testteknikker kan kategoriseres i tre dele:
Manuel baseret test
Under denne tilgang kontrolleres grafiske skærme manuelt af testere i overensstemmelse med kravene i forretningskravsdokumentet.
Optag og genafspil
GUI-test kan udføres ved hjælp af automatiseringsværktøjer. Dette gøres i 2 dele. Under Record opfanges testtrin af automatiseringsværktøjet. Under afspilning udføres de optagede testtrin på applikationen under test. Eksempel på sådanne værktøjer – QTP.
Modelbaseret test
En model er en grafisk beskrivelse af et systems adfærd. Det hjælper os med at forstå og forudsige systemets adfærd. Modeller hjælper med at skabe effektive testcases ved hjælp af systemkravene. Følgende skal overvejes for denne modelbaserede test:
- Byg modellen
- Bestem input til modellen
- Beregn det forventede output for modellen
- Kør testene
- Sammenlign det faktiske output med det forventede output
- En beslutning om yderligere handling på modellen
Nogle af de modelleringsteknikker, hvorfra testcases kan udledes:
- Diagrammer – Afbilder et systems tilstand og kontrollerer tilstanden efter noget input.
- Beslutningstabeller – Tabeller, der bruges til at bestemme resultater for hvert anvendt input
Modelbaseret testning er en udviklende teknik til at generere testcases ud fra kravene. Dens største fordel sammenlignet med ovenstående to metoder er, at den kan bestemme uønskede tilstande, som din GUI kan opnå.
Følgende er open source-værktøjer tilgængelige til at udføre automatiseret UI-test.
Produkt | Licenseret under |
---|---|
AutoHotkey | GPL |
Selenium | Apache |
Sikuli | MIT |
Robotramme | Apache |
Vand | BSD |
Dojo værktøjssæt | BSD |
Eksempler på GUI-testtests
GUI-test involverer dybest set
- Test af størrelse, position, bredde, højde af elementerne.
- Test af de fejlmeddelelser, der bliver vist.
- Test af de forskellige sektioner af skærmen.
- Test af skrifttypen om den er læsbar eller ej.
- Test af skærmen i forskellige opløsninger ved hjælp af zoom ind og ud som 640 x 480, 600×800 osv.
- Afprøvning af justeringen af tekster og andre elementer som ikoner, knapper osv. er på korrekt plads eller ej.
- Test af farverne på skrifttyperne.
- Test af farverne på fejlmeddelelserne, advarselsmeddelelser.
- Tester om billedet har god klarhed eller ej.
- Test af justeringen af billederne.
- Test af stavemåden.
- Brugeren må ikke blive frustreret, mens han bruger systemgrænsefladen.
- Tester om grænsefladen er attraktiv eller ej.
- Test af rullepanelerne i henhold til størrelsen på siden, hvis nogen.
- Test af de deaktiverede felter, hvis nogen.
- Test af billedernes størrelse.
- Test af overskrifterne, om de er korrekt justeret eller ej.
- Test af farven på hyperlinket.
Demo: Sådan laver du GUI-test
Her vil vi bruge nogle eksempler på testcases til det følgende skærmbillede.
Nedenfor er eksemplet på testcases, som består af UI- og Usability-testscenarier.
Testtilfælde 01- Kontroller, at tekstboksen med etiketten "Kildemappe” er justeret korrekt.
Testtilfælde 02 – Kontroller, at tekstboksen med etiketten "Pakke” er justeret korrekt.
Testtilfælde 03 – Bekræft denne etiket med navnet "Gennemse” er en knap, som er placeret i slutningen af TekstBox med navnet "Kildemappe".
Testtilfælde 04 – Bekræft denne etiket med navnet "Gennemse” er en knap, som er placeret i slutningen af TekstBox med navnet "Pakke".
Testtilfælde 05 – Kontroller, at tekstboksen med etiketten "Navn” er justeret korrekt.
Testtilfælde 06 – Bekræft, at etiketten "modifiers” består af 4 radioknapper med navnet offentlig, standard, privat, beskyttet.
Testtilfælde 07 – Bekræft, at etiketten "modifiers” består af 4 radioknapper, som er justeret korrekt i en række.
Testtilfælde 08 – Bekræft, at etiketten "superklasse" under etiketten "modifiers” består af en dropdown, som skal være korrekt justeret.
Testtilfælde 09 – Bekræft, at etiketten "superklasse" består af en knap med etiketten "Gennemse” på den, som skal være korrekt justeret.
Testtilfælde 10 – Bekræft, at ved at klikke på en valgfri knap skal standardmusemarkøren ændres til håndmusemarkøren.
Testcase 11 – Bekræft, at brugeren ikke må være i stand til at skrive i rullemenuen "superklasse".
Testcase 12 – Bekræft, at der skal være en korrekt fejl genereret, hvis noget er blevet valgt ved en fejl.
Testtilfælde 13 – Bekræft, at fejlen skal genereres i den RØDE farve, hvor det er nødvendigt.
Testtilfælde 14 – Kontroller, at der skal bruges korrekte etiketter i fejlmeddelelserne.
Testtilfælde 15 – Bekræft, at de enkelte radioknapper skal vælges som standard hver gang.
Testtilfælde 16 – Bekræft, at TAB-knappen skal fungere korrekt, mens du hopper på et andet felt ved siden af forrige.
Testcase 17 – Kontroller, at alle siderne skal indeholde den korrekte titel.
Testtilfælde 18 – Kontroller, at sideteksten skal være korrekt justeret.
Testtilfælde 19 – Bekræft, at der efter opdatering af et felt skal vises en korrekt bekræftelsesmeddelelse.
Testtilfælde 20 – Bekræft, at der kun skal vælges 1 alternativknap, og at der kan vælges mere end enkelte afkrydsningsfelter.
Udfordringer i GUI-testning
I Software Engineering, det mest almindelige problem, mens du gør Regressionstest er, at applikationens GUI ændres ofte. Det er meget svært at teste og identificere, om det er et problem eller en forbedring. Problemet manifesterer sig, når du ikke har nogen dokumenter vedrørende GUI-ændringer.
GUI-testværktøjer
Følgende er en liste over populære GUI-testværktøjer :
- Selenium
- QTP
- Cucumber
- SilkeTest
- TestFuldfør
- Squish GUI Tester
Klik her for at lære Selenium, QTP & Cucumber.
Konklusion
Succesen for et softwareprodukt afhænger i høj grad af, hvordan GUI'en interagerer med brugeren og letheden ved at bruge dens forskellige funktioner. Derfor er GUI-test meget vigtigt. Manuel GUI-test kan nogle gange være gentagne og kedelige og dermed fejltilbøjelige. Automatisering anbefales stærkt til GUI-test.