Om GUI Testing te begrijpen, moeten we eerst begrijpen:
Wat is GUI?
Er zijn twee soorten interfaces voor een computertoepassing. Opdrachtregelinterface is waar u tekst typt en de computer reageert op die opdracht. GUI staat voor Graphical User Interface waarbij u met de computer communiceert met behulp van afbeeldingen in plaats van tekst.
Hieronder volgen de GUI-elementen die kunnen worden gebruikt voor interactie tussen de gebruiker en de applicatie:
GUI-testen is een validatie van de bovenstaande elementen.
GUI-testen
GUI-testen is een softwaretesttype dat de grafische gebruikersinterface van de software controleert. Het doel van Graphical User Interface (GUI) testen is om ervoor te zorgen dat de functionaliteiten van de softwaretoepassing werken volgens de specificaties door schermen en bedieningselementen zoals menu's, knoppen, pictogrammen, enz. Te controleren.
GUI is wat de gebruiker ziet. Stel dat als u guru99.com bezoekt, wat u op de startpagina ziet, dit de GUI (grafische gebruikersinterface) van de site is. Een gebruiker ziet de broncode niet. De interface is zichtbaar voor de gebruiker. Vooral de focus ligt op de ontwerpstructuur, afbeeldingen dat ze goed werken of niet.
Als we in het bovenstaande voorbeeld GUI-tests moeten doen, controleren we eerst of de afbeeldingen volledig zichtbaar moeten zijn in verschillende browsers.
De links zijn ook beschikbaar en de knop zou moeten werken als erop wordt geklikt.
Ook als de gebruiker het formaat van het scherm aanpast, mogen afbeeldingen of inhoud niet krimpen, bijsnijden of overlappen.
In deze tutorial leer je-
- Wat is GUI-testen?
- Noodzaak van GUI-testen
- Wat check je GUI-testen?
- Aanpak van GUI-testen
- GUI Testcases testen
- Demo: GUI-test uitvoeren
- Uitdagingen bij GUI-testen
Noodzaak van GUI-testen
Nu is het basisconcept van GUI-testen duidelijk. De paar vragen die bij u opkomen, zijn
- Waarom GUI-testen?
- Is het echt nodig?
- Is het testen van de functionaliteit en logica van de applicatie niet meer dan voldoende ?? Waarom zou u dan tijd verspillen aan UI-testen?
Om het antwoord te krijgen door te denken als gebruiker, niet als tester. Een gebruiker heeft geen kennis over XYZ-software / -toepassing. Het is de gebruikersinterface van de applicatie die beslist dat een gebruiker de applicatie al dan niet verder gaat gebruiken.
Een normale Gebruiker observeert eerst het ontwerp en het uiterlijk van de Applicatie / Software en hoe gemakkelijk het voor hem is om de gebruikersinterface te begrijpen. Als een gebruiker zich niet op zijn gemak voelt met de interface of een applicatie complex vindt om te begrijpen, zal hij die applicatie nooit meer gebruiken. Daarom is GUI een punt van zorg, en moeten de juiste tests worden uitgevoerd om er zeker van te zijn dat de GUI vrij is van bugs.
Wat check je GUI-testen?
De volgende checklist zorgt voor gedetailleerde GUI-tests in softwaretests.
- Controleer alle GUI-elementen op grootte, positie, breedte, lengte en acceptatie van tekens of cijfers. U moet bijvoorbeeld invoer kunnen geven aan de invoervelden.
- Controleer of u de beoogde functionaliteit van de applicatie kunt uitvoeren met behulp van de GUI
- Controleer of foutmeldingen correct worden weergegeven
- Controleer op Duidelijke afbakening van verschillende secties op het scherm
- Controleer of het lettertype dat in een toepassing wordt gebruikt, leesbaar is
- Controleer of de tekst correct is uitgelijnd
- Controleer of de kleur van het lettertype en waarschuwingsberichten esthetisch aantrekkelijk zijn
- Controleer of de afbeeldingen een goede helderheid hebben
- Controleer of de afbeeldingen correct zijn uitgelijnd
- Controleer de positionering van GUI-elementen voor verschillende schermresoluties.
GUI-testtechnieken
GUI-testtechnieken kunnen worden onderverdeeld in drie delen:
Handmatig testen
Bij deze benadering worden grafische schermen handmatig gecontroleerd door testers in overeenstemming met de vereisten vermeld in het document met zakelijke vereisten.
Opnemen en opnieuw afspelen
GUI-tests kunnen worden gedaan met behulp van automatiseringstools. Dit gebeurt in 2 delen. Tijdens Record worden teststappen vastgelegd door de automatiseringstool. Tijdens het afspelen worden de opgenomen teststappen uitgevoerd op de te testen applicatie. Voorbeeld van dergelijke tools - QTP.
Modelgebaseerd testen
Een model is een grafische beschrijving van het gedrag van een systeem. Het helpt ons om het systeemgedrag te begrijpen en te voorspellen. Modellen helpen bij het genereren van efficiënte testcases met behulp van de systeemvereisten. Bij deze modelgebaseerde tests moet met het volgende rekening worden gehouden:
- Bouw het model
- Bepaal ingangen voor het model
- Bereken de verwachte output voor het model
- Voer de tests uit
- Vergelijk de werkelijke output met de verwachte output
- Een besluit over verdere actie op het model
Enkele van de modelleertechnieken waaruit testcases kunnen worden afgeleid:
- Grafieken - Geeft de toestand van een systeem weer en controleert de toestand na enige invoer.
- Beslissingstabellen - Tabellen die worden gebruikt om de resultaten voor elke toegepaste invoer te bepalen
Modelgebaseerd testen is een evoluerende techniek om testcases te genereren op basis van de vereisten . Het belangrijkste voordeel, vergeleken met de twee bovenstaande methoden, is dat het ongewenste toestanden kan bepalen die uw GUI kan bereiken.
Hieronder volgen open source-tools die beschikbaar zijn om een geautomatiseerde UI-test uit te voeren.
Product | Licentie onder |
---|---|
AutoHotkey | GPL |
Selenium | Apache |
Sikuli | MIT |
Robot Framework | Apache |
Water | BSD |
Dojo Toolkit | BSD |
Voorbeeld GUI Testcases testen
GUI-testen houdt in feite in
- Het testen van de grootte, positie, breedte, hoogte van de elementen.
- Testen van de foutmeldingen die worden weergegeven.
- Testen van de verschillende secties van het scherm.
- Testen van het lettertype of het leesbaar is of niet.
- Testen van het scherm in verschillende resoluties met behulp van in- en uitzoomen zoals 640 x 480, 600x800, etc.
- Het testen van de uitlijning van de teksten en andere elementen zoals pictogrammen, knoppen, etc. staan op de juiste plaats of niet.
- Testen van de kleuren van de lettertypen.
- Testen van de kleuren van de foutmeldingen, waarschuwingsmeldingen.
- Testen of de afbeelding een goede helderheid heeft of niet.
- De uitlijning van de afbeeldingen testen.
- Testen van de spelling.
- De gebruiker mag niet gefrustreerd raken tijdens het gebruik van de systeeminterface.
- Testen of de interface aantrekkelijk is of niet.
- Testen van de schuifbalken op basis van de grootte van de pagina, indien aanwezig.
- Testen van de uitgeschakelde velden, indien aanwezig.
- Testen van de grootte van de afbeeldingen.
- Testen van de koppen of deze correct zijn uitgelijnd of niet.
- Testen van de kleur van de hyperlink.
Demo: GUI-test uitvoeren
Hier zullen we enkele voorbeeldtestcases gebruiken voor het volgende scherm.
Hieronder volgt het voorbeeld van de testcases, die bestaan uit UI- en bruikbaarheidstestscenario's.
TC 01- Controleer of het tekstvak met het label " Bronmap " correct is uitgelijnd.
TC 02 - Controleer of het tekstvak met het label " Pakket " correct is uitgelijnd.
TC 03 - Controleer of label met de naam " Bladeren " is een knop die is gelegen aan het einde van TextBox met de naam " Source Folder ."
TC 04 - Controleer of dat label met de naam " Bladeren " een knop is die zich aan het einde van TextBox bevindt met de naam " Pakket ".
TC 05 - Controleer of het tekstvak met het label " Naam " correct is uitgelijnd.
TC 06 - Controleer of het label " Modifiers " bestaat uit 4 keuzerondjes met de naam public, default, private, protected.
TC 07 - Controleer of het label " Modificatoren " bestaat uit 4 keuzerondjes die correct op een rij zijn uitgelijnd.
TC 08 - Controleer of het label " superklasse " onder het label " Modifiers " bestaat uit een dropdown die goed moet worden uitgelijnd.
TC 09 - Controleer of het label " Superklasse " bestaat uit een knop met het label " Bladeren " erop, die correct moet worden uitgelijnd.
TC 10 - Controleer of het klikken op een keuzerondje de standaard muisaanwijzer moet worden veranderd in de hand muisaanwijzer.
TC 11 - Controleer of de gebruiker niet mag typen in de vervolgkeuzelijst van " Superklasse ".
TC 12 - Controleer of er een juiste fout moet worden gegenereerd als er iets per ongeluk is gekozen.
TC 13 - Controleer of de fout moet worden gegenereerd in de RODE kleur waar dit nodig is.
TC 14 - Controleer of de juiste labels moeten worden gebruikt in de foutmeldingen.
TC 15 - Controleer of de afzonderlijke keuzerondjes elke keer standaard moeten worden geselecteerd.
TC 16 - Controleer of de TAB-knop correct moet werken tijdens het springen op een ander veld naast het vorige.
TC 17 - Controleer of alle pagina's de juiste titel moeten bevatten.
TC 18 - Controleer of de paginatekst correct moet zijn uitgelijnd.
TC 19 - Controleer of na het bijwerken van een veld een correct bevestigingsbericht moet worden weergegeven.
TC 20 - Controleer of er slechts 1 keuzerondje moet worden geselecteerd en dat er meer dan enkele selectievakjes kunnen worden geselecteerd.
Uitdagingen bij GUI-testen
In Software Engineering is het meest voorkomende probleem bij het uitvoeren van regressietests dat de GUI van de applicatie regelmatig verandert. Het is erg moeilijk om te testen en vast te stellen of het een probleem of verbetering is. Het probleem manifesteert zich wanneer u geen documenten hebt met betrekking tot GUI-wijzigingen.
GUI-testtools
Hieronder volgt een lijst met populaire GUI-testtools :
- Ranorex
- Selenium
- QTP
- Komkommer
- SilkTest
- TestComplete
- Squish GUI-tester
Klik hier om selenium, QTP en komkommer te leren.
Gevolgtrekking:
Het succes van een softwareproduct hangt enorm af van de interactie tussen de GUI en de gebruiker en het gemak waarmee de verschillende functies kunnen worden gebruikt. Daarom is GUI-testen erg belangrijk. Handmatige GUI-tests kunnen soms repetitief en saai zijn en daardoor foutgevoelig. Automatisering wordt sterk aanbevolen voor GUI-testen.
Dit artikel is mogelijk gemaakt door de bijdragen van Swati Ghildiyal, Prateek Chandra en Guru99.