GUI testimine: UI testimisjuhtumid ja näited
⚡ Nutikas kokkuvõte
GUI-testimine valideerib rakenduse iga nähtava elemendi – nupud, menüüd, ikoonid, tekstikastid ja paigutused –, et ekraanid käituksid ja ilmuksid täpselt nii, nagu brauserites, seadmetes ja ekraaniresolutsioonides ette nähtud, enne kui päris kasutajad neid puudutavad.

GUI-testimise mõistmiseks vaatame, mis on GUI.
Mis on GUI?
Arvutirakenduste jaoks on kahte tüüpi liideseid. Käsurea liides on koht, kuhu sisestate teksti ja arvuti vastab sellele käsule. GUI tähistab graafilist kasutajaliidest, kus suhtlete arvutiga, kasutades pigem pilte kui teksti.
Järgmised on GUI elemendid, mida saab kasutada kasutaja ja rakenduse vaheliseks suhtluseks.
GUI testimine on ülaltoodud elementide valideerimine.
Mis on GUI testimine?
GUI testimine on tarkvara testimise tüüp, mis kontrollib tarkvara graafilist kasutajaliidest. Graafilise kasutajaliidese (GUI) testimise eesmärk on tagada, et tarkvararakenduse funktsionaalsused töötaksid vastavalt spetsifikatsioonidele, kontrollides ekraane ja juhtelemente, nagu menüüd, nupud, ikoonid jne.
Kasutajaliides on see, mida kasutaja näeb. Külastage veebilehte guru99.com ja kuvatav avaleht on saidi kasutajaliides. Lähtekood jääb peidetud; nähtav on ainult liides. Seetõttu keskendub kasutajaliidese testimine disainistruktuurile ja sellele, kas pildid renderduvad õigesti.
Ülaltoodud ekraanipildil algab GUI testimine iga pildi nähtavuse kontrollimisega erinevates brauserites. Ülejäänud kontrollid samal lehel on järgmised:
- Lingid on saadaval ja iga nupp töötab klõpsamisel.
- Ekraani suuruse muutmine ei põhjusta kunagi piltide või teksti kokkutõmbumist, kärpimist ega kattumist.
- Kui brauseriaken kitsendada, ei varise miski paigutuses kokku.
💡 Näpunäide: Enne defekti logimist käivita sama leht resolutsioonidega 1920×1080, 1366×768 ja 375×812. Paljud „katkise paigutuse” aruanded on lihtsalt testimata katkestuspunktid.
GUI testimise vajadus
Nüüd on GUI-testimise põhikontseptsioon selge. Mõned küsimused, mis teile pähe tulevad, on järgmised:
- Miks GUI testimine?
- Kas seda on tõesti vaja?
- Kas rakenduse funktsionaalsuse ja loogika testimisest üksi ei piisa ja miks kulutada liidesele lisaaega?
Vastuse saamiseks mõtle kasutajana, mitte testijana. Kasutajal pole aimugi, kuidas rakendus loodi. Liides otsustab, kas kasutaja jätkab rakendusega või loobub sellest.
Tavakasutaja jälgib kõigepealt rakenduse kujundust ja välimust ning seda, kui lihtne on liidest mõista. Kui kasutaja ei tunne end liidesega mugavalt või peab rakendust keeruliseks, siis ta ei tule enam kunagi tagasi. Seetõttu on graafiline kasutajaliides murettekitav ja liidese vigadeta veendumiseks tuleks läbi viia korralik testimine.
GUI-testimise tüübid
Teadmine, miks liides on oluline, on vaid pool pildist. GUI-testimine on viiest tüübist koosnev perekond ja igaüks neist vastab sama ekraani kohta käivale erinevale küsimusele.
- Funktsionaalse GUI testimine: Kinnitab, et iga kontroll teeb seda, mida lubab. Tihedalt seotud funktsionaalne testimine, see küsib, kas nupp esitab päringu, rippmenüü filtreerib ja väli aktsepteerib kehtivat sisendit.
- Kasutatavuse testimine: Mõõdab, kui kergesti inimene ülesande täidab. Kasutatavuse testimine vaadeldakse navigeerimise sügavust, loetavust ja seda, kas veateated tegelikult aitavad.
- Ühilduvuse testimine: Kordab samu ekraane erinevates brauserites, operatsioonisüsteemides ja seadme suurustes. Ristbrauseri testimine tabab vigu, mis esinevad ainult ühes mootoris.
- Ligipääsetavuse testimine: Kontrollib klaviatuuril navigeerimist, ekraanilugeja silte ja värvikontrasti WCAG-i suhtes. Ligipääsetavuse testimine on nüüd paljudel turgudel vastavusnõue, mitte valikuline lisa.
- Visuaalne ja jõudlustestimine: Võrdleb renderdatud ekraanipilte algtasemega ja mõõdab, kui kiiresti liides värvib ja reageerib, kattubping koos jõudluse testimine.
Enamik meeskondi kasutab kõiki viit, kuid kaalub neid erinevalt: avalik veebisait tugineb ühilduvusele ja ligipääsetavusele, sisemine armatuurlaud aga funktsionaalsetele kontrollidele.
Mida GUI testimisel kontrollitakse?
Järgmine kontroll-loend tagab üksikasjaliku GUI testimise tarkvara testimisel.
- Kontrollige kõigi GUI elementide suurust, asukohta, laiust, pikkust ja märkide või numbrite aktsepteerimist. Näiteks peate suutma sisestada sisestusväljadele sisendeid.
- Kontrollige, kas saate GUI abil rakenduse kavandatud funktsioone täita
- Kontrollige, kas veateated kuvatakse õigesti
- Kontrollige, kas ekraanil on erinevate osade piiritlemine selge
- Rakenduses kasutatud fondi kontrollimine on loetav
- Kontrollige, kas teksti joondus on õige
- Kontrollige, kas fondi ja hoiatusteadete värv on esteetiliselt meeldiv
- Kontrollige, kas piltidel on hea selgus
- Kontrollige, kas pildid on õigesti joondatud
- Kontrollige GUI elementide paigutust erineva ekraani eraldusvõime jaoks.
GUI testimistehnikad
Kui kontrollnimekiri on olemas, on järgmine otsus, kuidas seda ellu viia. GUI testimistehnikad võib jagada kolme ossa:
Käsitsi põhinev testimine
Selle lähenemisviisi kohaselt kontrollivad testijad graafilisi ekraane käsitsi vastavalt ärinõuete dokumendis esitatud nõuetele.
Salvestage ja taasesitage
GUI-testimist saab teha automatiseerimistööriistade abil. See toimub kahes osas. Salvestamise ajal jäädvustab automatiseerimistööriist testisammud. Taasesituse ajal käivitatakse salvestatud testisammud testitavas rakenduses. Selliste tööriistade näited – QTP.
Mudelipõhine testimine
Mudel on süsteemi käitumise graafiline kirjeldus. See aitab meil süsteemi käitumist mõista ja ennustada. Mudelid aitavad süsteeminõuete abil luua tõhusaid testjuhtumeid. Allolev diagramm näitab, kuidas mudel testide genereerimist juhib:
Selle mudelipõhise testimise puhul tuleb arvestada järgmisega:
- Ehitage mudel
- Määrake mudeli sisendid
- Arvutage mudeli eeldatav väljund
- Käivitage testid
- Võrrelge tegelikku väljundit eeldatava väljundiga
- Otsus mudeli edasise tegevuse kohta
Mõned modelleerimismeetodid, millest saab tuletada testjuhtumeid:
- Diagrammid – kujutab süsteemi olekut ja kontrollib olekut pärast teatud sisestamist.
- Otsustabelid – iga rakendatud sisendi tulemuste määramiseks kasutatavad tabelid
Mudelipõhine testimine on arenev tehnika nõuete põhjal testjuhtumite genereerimiseks. Selle peamine eelis võrreldes kahe ülaltoodud meetodiga on see, et see suudab määrata ebasoovitavaid olekuid, mida teie GUI võib saavutada.
Manuaalne vs automatiseeritud GUI-testimine
Kaks neist kolmest tehnikast on käsitsi teostatavad ja üks automatiseeritud, mis tõstatab praktilise küsimuse, kuhu kumbki neist kuulub. Käsitsi testimine asetab inimese ekraani ette, nii et see tabab kohmakaid töövooge, kohmakat sõnastust ja valesid animatsioone – hinnanguid, mida ükski stsenaarium ei suuda langetada.
Automatiseeritud testimine kordab samu interaktsioone tuhandeid kordi ilma väsimuseta, mis teeb sellest õige lahenduse stabiilsete regressiooniteede ja ühe komplekti kordamise jaoks paljudes brauserites. Kompromissiks on hooldus: automatiseeritud GUI-skriptid lakkavad töötamast iga kord, kui lokaator või paigutus muutub. Seetõttu kasutab enamik küpsemaid meeskondi hübriidi, automatiseerides korduvat ja reserveerides inimesi kogemuslikuks tegevuseks.
| Faktor | Manuaalne GUI-testimine | Automatiseeritud GUI-testimine |
|---|---|---|
| Parim on | Uued ekraanid, uurimuslikud kontrollid, välimus ja kasutuskogemus | Stabiilsed regressioonikomplektid, brauseriteülene käivitamine |
| Kiirus tsükli kohta | Aeglane, piiratud testijate töötundidega | Kiire, töötab öö jooksul järelevalveta |
| Eelhind | Madal | Kõrge (skriptimine ja raamistiku seadistamine) |
| Hooldus | Mitte midagi peale kontrollnimekirja uuendamise | Oluline, kui liides muutub |
| Tabab subjektiivseid probleeme | Jah | Ei |
GUI testimise katsejuhtumite näited
GUI testimine hõlmab põhimõtteliselt
- Elementide suuruse, asukoha, laiuse, kõrguse testimine.
- Kuvatavate veateadete testimine.
- Ekraani erinevate osade testimine.
- Fondi testimine, kas see on loetav või mitte.
- Ekraani testimine erinevates resolutsioonides sisse- ja väljasuumimise abil nagu 640 x 480, 600×800 jne.
- Tekstide joonduse testimine ja muud elemendid, nagu ikoonid, nupud jne, on õiges kohas või mitte.
- Fontide värvide testimine.
- Veateadete, hoiatusteadete värvide testimine.
- Testimine, kas pildil on hea selgus või mitte.
- Piltide joondamise testimine.
- Õigekirja testimine.
- Kasutaja ei tohi süsteemiliidese kasutamisel pettuda.
- Liidese toimimise kontrolliminetracaktiivne või mitte.
- Kerimisribade testimine vastavalt lehe suurusele, kui see on olemas.
- Keelatud väljade testimine, kui need on olemas.
- Piltide suuruse testimine.
- Pealkirjade testimine, kas need on õigesti joondatud või mitte.
- Hüperlingi värvi testimine.
Demo: kuidas teha GUI testi
Ülaltoodud loend muutub palju selgemaks, kui seda reaalsel ekraanil rakendada, seega kasutame järgmise dialoogi jaoks mõningaid näidisteste.
Allpool on näide testjuhtumitest, mis koosnevad kasutajaliidese ja kasutatavuse testi stsenaariumidest. Kui olete nende kirjutamises uus, vaadake kuidas kirjutada testjuhtumeid esiteks
Testjuhtum 01 – Veenduge, et tekstiväli sildiga „Allikakaust” on õigesti joondatud.
Testjuhtum 02 – Veenduge, et tekstiväli sildiga „Pakend” on õigesti joondatud.
Testjuhtum 03 – Kontrollige, et silt nimega „Sirvi” on nupp, mis asub teksti lõpusBox nimega "Allikakaust. "
Testjuhtum 04 – Kontrollige, et silt nimega „Sirvi” on nupp, mis asub teksti lõpusBox nimega "Pakend. "
Testjuhtum 05 – Veenduge, et tekstiväli sildiga „Eesnimi” on õigesti joondatud.
Testjuhtum 06 – Veenduge, et silt „Modifikaatorid” koosneb 4 raadionupust nimega avalik, vaikimisi, privaatne, kaitstud.
Testjuhtum 07 – Veenduge, et silt „Modifikaatorid” koosneb neljast raadionupust, mis on õigesti joondatud.
Testjuhtum 08 – Veenduge, et silt „Superklass" sildi all "Modifikaatorid” koosneb rippmenüüst, mis peab olema õigesti joondatud.
Testjuhtum 09 – Veenduge, et silt „Superklass" koosneb nupust sildiga "Sirvi”, mis peab olema korralikult joondatud.
Testjuhtum 10 – Veenduge, et mis tahes raadionupule klõpsamisel muudetakse vaikimisi hiirekursor käega kuvatavaks hiirekursoriks.
Testjuhtum 11 – Veenduge, et kasutaja ei saaks rippmenüüsse sisestada teksti „Superklass. "
Testjuhtum 12 – Veenduge, et kui midagi on ekslikult valitud, tekib õige veateade.
Testjuhtum 13 – Veenduge, et viga peab vajalikus kohas tekkima PUNASE värviga.
Testjuhtum 14 – Veenduge, et veateadetes kasutatakse õigeid silte.
Testjuhtum 15 – Veenduge, et üksikud raadionupud oleksid iga kord vaikimisi valitud.
Testjuhtum 16 – Veenduge, et TAB-nupp hüppamise ajal korralikult töötab.ping teisel väljal eelmise kõrval.
Testjuhtum 17 – Veenduge, et kõigil lehtedel oleks õige pealkiri.
Testjuhtum 18 – Veenduge, et lehe tekst oleks õigesti joondatud.
Testjuhtum 19 – Veenduge, et pärast mis tahes välja värskendamist kuvatakse nõuetekohane kinnitusteade.
Testjuhtum 20 – Veenduge, et valitud peab olema ainult üks raadionupp ja et võib olla märgitud rohkem kui üks märkeruut.
GUI testimise väljakutsed
Nende juhtumite kirjutamine on lihtne; keeping neid mitme versiooni jooksul elus ei ole. Tarkvaratehnikas on kõige levinum probleem Regressioonitestimine on see, et rakenduse GUI muutub sageli. Väga raske on testida ja tuvastada, kas see on probleem või täiustus. Probleem ilmneb siis, kui teil pole GUI muudatustega seotud dokumente.
⚠️ Hoiatus: Skriptid, mis leiavad elemente ekraanikoordinaatide või automaatselt genereeritud ID-de järgi, ebaõnnestuvad järgmisel loomisel. Käsitle asukoha määramise strateegiat osana disainist, mitte järelmõttest.
GUI testimise tööriistad
Õiged tööriistad neelavad suure osa sellest kulumisest. Järgnevalt on loetletud populaarsed GUI testimise tööriistad :
- Selenium
- QTP
- Cucumber
- SilkTest
- TestComplete
- Squishi GUI tester
Õppimiseks klõpsake siin Selenium, QTP & Cucumber.
Järgmised on avatud lähtekoodiga tööriistad, mis on saadaval automaatse kasutajaliidese testi läbiviimiseks.
| Toode | Litsentsi alusel |
|---|---|
| AutoHotkey | GPL |
| Selenium | Apache |
| Sikuli | MIT |
| Roboti raamistik | Apache |
| Vesi | BSD |
| Dojo tööriistakomplekt | BSD |
Sikuli on pildipõhine, kasulik juhul, kui juhtelemendil puudub usaldusväärne asukoha määraja; Selenium jääb vaikimisi veebirakenduste testimine.






