Testiranje GUI-ja: Primjeri i testni slučajevi korisničkog sučelja

⚡ Pametni sažetak

Testiranje GUI-ja provjerava svaki vidljivi element aplikacije - gumbe, izbornike, ikone, tekstualne okvire i rasporede - tako da se zasloni ponašaju i prikazuju točno onako kako je navedeno u svim preglednicima, uređajima i razlučivostima zaslona prije nego što ih stvarni korisnici ikada dodirnu.

  • 🖥️ Opseg: Provjerite veličinu, položaj, poravnanje, fontove, boje, poruke o pogreškama i slike za svaku kontrolu koju korisnik može vidjeti ili kliknuti.
  • 🎯 Poslovni slučaj: Korisnici prvo ocjenjuju aplikaciju na temelju njezinog sučelja, pa zbunjujući ili neispravan zaslon košta prihvaćanja čak i kada je logika u osnovi besprijekorna.
  • 🧩 Pet vrsta: Provjere funkcionalnosti, upotrebljivosti, kompatibilnosti, pristupačnosti i vizualnih performansi odgovaraju na različito pitanje o istom zaslonu.
  • 🔍 Prva kontrolna lista: Izradite kontrolnu listu za višekratnu upotrebu GUI-ja koja pokriva geometriju elemenata, čitljivost, ponašanje rezolucije, pravopis, trake za pomicanje i onemogućena polja.
  • Tri tehnike: Ručni pregled, snimanje i ponovno izvođenje te generiranje temeljeno na modelu koje predviđa neželjena stanja koja skripta nikada ne bi dosegla.
  • 🤖 Automatiziraj ponavljanje: Skriptirajte stabilne, visokofrekventne regresijske putanje i rezervirajte ljudske testere za istraživačku i iskustvenu procjenu.
  • 🛡️ Održavanje rezanja: Koristite stabilne lokatore, odvojite testne podatke od testnih koraka i snimke zaslona verzija kako manje izmjene izgleda ne bi oštetile svaki skript.

Da bismo razumjeli testiranje GUI-ja, prvo shvatimo što je GUI.

Što je GUI?

Postoje dvije vrste sučelja za računalne aplikacije. Sučelje naredbenog retka mjesto je gdje upisujete tekst, a računalo odgovara na tu naredbu. GUI je kratica za grafičko korisničko sučelje gdje komunicirate s računalom koristeći slike, a ne tekst.

Slijede GUI elementi koji se mogu koristiti za interakciju između korisnika i aplikacije:

GUI testiranje je validacija gore navedenih elemenata.

Što je GUI testiranje?

GUI testiranje je vrsta testiranja softvera koja provjerava grafičko korisničko sučelje softvera. Svrha testiranja grafičkog korisničkog sučelja (GUI) je osigurati rad softverskih aplikacija prema specifikacijama provjerom zaslona i kontrola kao što su izbornici, gumbi, ikone itd.

GUI je ono što korisnik vidi. Posjetite guru99.com i početna stranica koja se pojavi je GUI stranice. Izvorni kod ostaje skriven; vidljivo je samo sučelje. Testiranje GUI-ja stoga se fokusira na strukturu dizajna i na to prikazuju li se slike ispravno.

Na gornjoj snimci zaslona, ​​testiranje GUI-ja započinje potvrđivanjem da je svaka slika potpuno vidljiva u različitim preglednicima. Preostale provjere na istoj stranici su:

  • Linkovi su dostupni i svaki gumb radi kada se klikne na njega.
  • Promjena veličine zaslona nikada ne uzrokuje smanjenje, izrezivanje ili preklapanje slika ili teksta.
  • Ništa u izgledu se ne sažima kada se prozor preglednika suzi.

💡 Savjet: Pokrenite istu stranicu u rezolucijama 1920×1080, 1366×768 i 375×812 prije nego što zabilježite bilo kakav nedostatak. Mnoga izvješća o "prelomljenom izgledu" su jednostavno netestirane točke prekida.

Potreba za GUI testiranjem

Sada je osnovni koncept testiranja GUI-ja jasan. Nekoliko pitanja koja će vam pasti na pamet bit će:

  • Zašto testirati GUI?
  • Je li to stvarno potrebno?
  • Nije li testiranje funkcionalnosti i logike aplikacije samo po sebi dovoljno i zašto trošiti dodatno vrijeme na sučelje?

Da biste dobili odgovor, razmišljajte kao korisnik, a ne kao tester. Korisnik nema znanja o tome kako je aplikacija izgrađena. Sučelje je to koje odlučuje hoće li korisnik nastaviti s aplikacijom ili će je napustiti.

Običan korisnik prvo primjećuje dizajn i izgled aplikacije te koliko je lako razumjeti sučelje. Ako korisnik nije zadovoljan sučeljem ili smatra da je aplikacija složena za razumijevanje, taj se korisnik nikada neće vratiti. Stoga je grafičko korisničko sučelje razlog za zabrinutost i treba provesti odgovarajuće testiranje kako bi se osiguralo da sučelje ne sadrži greške.

Vrste testiranja GUI-ja

Znati zašto je sučelje važno samo je pola slike. GUI testiranje je obitelj od pet vrsta, a svaka odgovara na različito pitanje o istom zaslonu.

  • Testiranje funkcionalnog grafičkog korisničkog sučelja: Potvrđuje da svaka kontrola ispunjava obećanja. Usko povezano s funkcionalno ispitivanje, pita šalje li gumb, padajući izbornik filtrira, a polje prihvaća valjan unos.
  • Testiranje upotrebljivosti: Mjeri koliko lako stvarna osoba dovršava zadatak. Ispitivanje upotrebljivosti ispituje dubinu navigacije, čitljivost i pomažu li poruke o pogreškama zapravo.
  • Testiranje kompatibilnosti: Ponavlja iste zaslone u svim preglednicima, operativnim sustavima i veličinama uređaja. Unakrsno testiranje preglednika hvata greške renderiranja koje se pojavljuju samo u jednom motoru.
  • Testiranje pristupačnosti: Provjerava navigaciju tipkovnicom, oznake čitača zaslona i kontrast boja u odnosu na WCAG. Testiranje pristupačnosti sada je na mnogim tržištima uvjet usklađenosti, a ne opcionalna opcija.
  • Vizualno i performansno testiranje: Uspoređuje renderirane snimke zaslona s osnovnom linijom i mjeri koliko brzo sučelje crta i reagira, te se preklapaping sa ispitivanje performansi.

Većina timova koristi svih pet, ali im daje različitu težinu: javna web stranica oslanja se na kompatibilnost i pristupačnost, a interna nadzorna ploča na funkcionalne provjere.

Što provjeravate prilikom testiranja GUI-ja?

Sljedeći popis za provjeru osigurat će detaljno GUI testiranje u testiranju softvera.

  • Provjerite sve elemente GUI-a za veličinu, položaj, širinu, duljinu i prihvaćanje znakova ili brojeva. Na primjer, morate biti u mogućnosti unijeti unose u polja za unos.
  • Provjerite možete li izvršiti predviđenu funkcionalnost aplikacije pomoću GUI-ja
  • Provjerite prikazuju li se ispravno poruke o pogreškama
  • Provjerite jasno razgraničenje različitih odjeljaka na zaslonu
  • Provjerite je li font korišten u aplikaciji čitljiv
  • Provjerite je li tekst pravilno poravnat
  • Provjerite boju fonta i poruka upozorenja je estetski ugodna
  • Provjerite imaju li slike dobru jasnoću
  • Provjerite jesu li slike ispravno poravnate
  • Provjerite pozicioniranje GUI elemenata za različite razlučivosti zaslona.

GUI Tehnike testiranja

Nakon što kontrolna lista postoji, sljedeća odluka je kako je izvršiti. GUI Tehnike testiranja mogu se kategorizirati u tri dijela:

Ručno testiranje

Prema ovom pristupu, grafičke zaslone ručno provjeravaju testeri u skladu sa zahtjevima navedenim u dokumentu o poslovnim zahtjevima.

Snimanje i ponavljanje

Testiranje GUI-ja može se obaviti pomoću alata za automatizaciju. To se radi u 2 dijela. Tijekom snimanja, alat za automatizaciju bilježi korake testiranja. Tijekom reprodukcije, snimljeni koraci testiranja izvršavaju se na testiranoj aplikaciji. Primjer takvih alata – QTP.

Testiranje temeljeno na modelu

Model je grafički opis ponašanja sustava. Pomaže nam razumjeti i predvidjeti ponašanje sustava. Modeli pomažu u generiranju učinkovitih testnih slučajeva koristeći sistemske zahtjeve. Dijagram u nastavku prikazuje kako model pokreće generiranje testova:

Za ovo testiranje temeljeno na modelu potrebno je uzeti u obzir sljedeće:

  • Izgradite model
  • Odredite ulazne podatke za model
  • Izračunajte očekivani izlaz za model
  • Pokrenite testove
  • Usporedite stvarni output s očekivanim outputom
  • Odluka o daljnjim radnjama na modelu

Neke od tehnika modeliranja iz kojih se mogu izvesti testni slučajevi:

  • Grafikoni – Prikazuje stanje sustava i provjerava stanje nakon nekog unosa.
  • Tablice odlučivanja – Tablice koje se koriste za određivanje rezultata za svaki primijenjeni unos

Testiranje temeljeno na modelu je tehnika koja se razvija za generiranje testnih slučajeva iz zahtjeva. Njegova glavna prednost, u usporedbi s gornje dvije metode, je da može odrediti nepoželjna stanja koja vaš GUI može postići.

Ručno vs. automatizirano testiranje GUI-ja

Dvije od te tri tehnike su ručne, a jedna je automatizirana, što postavlja praktično pitanje gdje svaka pripada. Ručno testiranje stavlja čovjeka ispred ekrana, tako da hvata nezgrapne tijekove rada, nespretne riječi i animacije koje se čine pogrešnima - prosudbe koje nijedan scenarij ne može donijeti.

Automatizirano testiranje ponavlja iste interakcije tisuće puta bez zamora, što ga čini pravim odgovorom za stabilne regresijske putove i za ponavljanje jednog paketa u mnogim preglednicima. Kompromis je održavanje: automatizirane GUI skripte se prekidaju kad god se promijeni lokator ili izgled. Većina zrelih timova stoga koristi hibrid, automatizirajući ponovljivo i rezervirajući ljude za iskustveno.

Faktor Ručno testiranje GUI-ja Automatizirano testiranje GUI-ja
Najbolje za Novi ekrani, istraživačke provjere, izgled i dojam Stabilni regresijski paketi, izvođenje u više preglednika
Brzina po ciklusu Sporo, ograničeno satima testera Brzo, radi bez nadzora preko noći
Unaprijed trošak Nizak Visoko (skriptiranje i postavljanje okvira)
održavanje Ništa osim ažuriranja kontrolne liste Značajno kada se sučelje promijeni
Hvata subjektivne probleme Da Ne

Primjeri testiranja GUI Testovi

GUI testiranje u osnovi uključuje

  1. Ispitivanje veličine, položaja, širine, visine elemenata.
  2. Testiranje poruka o pogreškama koje se prikazuju.
  3. Testiranje različitih dijelova zaslona.
  4. Testiranje fonta je li čitljiv ili ne.
  5. Testiranje zaslona u različitim rezolucijama uz pomoć zumiranja i smanjivanja poput 640 x 480, 600×800 itd.
  6. Testiranje poravnanja tekstova i drugih elemenata poput ikona, gumba itd. jesu li na pravom mjestu ili ne.
  7. Testiranje boja fontova.
  8. Testiranje boja poruka o greškama, poruka upozorenja.
  9. Testiranje ima li slika dobru jasnoću ili ne.
  10. Testiranje poravnanja slika.
  11. Provjera pravopisa.
  12. Korisnik se ne smije frustrirati tijekom korištenja sučelja sustava.
  13. Testiranje je li sučelje natracaktivan ili ne.
  14. Testiranje traka za pomicanje prema veličini stranice ako ih ima.
  15. Testiranje onemogućenih polja ako postoje.
  16. Testiranje veličine slika.
  17. Testiranje naslova jesu li ispravno poravnati ili ne.
  18. Testiranje boje hiperveze.

Demo: Kako napraviti GUI Test

Gornji popis postaje puno jasniji kada se primijeni na stvarni ekran, pa ćemo ovdje koristiti neke primjere testnih slučajeva za sljedeći dijalog.

U nastavku slijedi primjer testnih slučajeva koji se sastoje od scenarija testiranja korisničkog sučelja i upotrebljivosti. Ako ste novi u njihovom pisanju, pogledajte kako pisati testne slučajeve na prvom mjestu.

Testni slučaj 01 – Provjerite je li tekstualni okvir s oznakom „Izvorna mapa” je ispravno poravnat.

Testni slučaj 02 – Provjerite je li tekstualni okvir s oznakom „Paket” je ispravno poravnat.

Testni slučaj 03 – Provjerite tu oznaku s nazivom „Pretraga” je gumb koji se nalazi na kraju tekstaBox s imenom "Izvorna mapa".

Testni slučaj 04 – Provjerite tu oznaku s nazivom „Pretraga” je gumb koji se nalazi na kraju tekstaBox s imenom "Paket".

Testni slučaj 05 – Provjerite je li tekstualni okvir s oznakom „Ime” je ispravno poravnat.

Testni slučaj 06 – Provjerite je li oznaka „Izmjenjivači” sastoji se od 4 radio gumba s nazivom javno, zadano, privatno, zaštićeno.

Testni slučaj 07 – Provjerite je li oznaka „Izmjenjivači” sastoji se od 4 radio gumba koji su pravilno poredani u nizu.

Testni slučaj 08 – Provjerite je li oznaka „Superrazred” ispod oznake “Izmjenjivači” sastoji se od padajućeg izbornika koji mora biti ispravno poravnat.

Testni slučaj 09 – Provjerite je li oznaka „Superrazred” sastoji se od gumba s oznakom “Pretraga” na njemu koji mora biti ispravno poravnat.

Testni slučaj 10 – Provjerite da se klikom na bilo koji radio gumb zadani pokazivač miša mora promijeniti u pokazivač miša u obliku ruke.

Testni slučaj 11 – Provjerite da korisnik ne smije moći tipkati u padajućem izborniku „Superrazred".

Testni slučaj 12 – Provjerite da se mora generirati odgovarajuća greška ako je nešto pogrešno odabrano.

Testni slučaj 13 – Provjerite da se greška mora generirati u CRVENOJ boji gdje god je to potrebno.

Testni slučaj 14 – Provjerite koriste li se odgovarajuće oznake u porukama o pogreškama.

Testni slučaj 15 – Provjerite jesu li pojedinačni radio gumbi svaki put odabrani prema zadanim postavkama.

Testni slučaj 16 – Provjerite da tipka TAB ispravno radi tijekom skokaping na drugom polju pored prethodnog.

Testni slučaj 17 – Provjerite da sve stranice sadrže ispravan naslov.

Testni slučaj 18 – Provjerite je li tekst stranice pravilno poravnat.

Testni slučaj 19 – Provjerite da se nakon ažuriranja bilo kojeg polja mora prikazati odgovarajuća poruka potvrde.

Testni slučaj 20 – Provjerite da mora biti odabran samo jedan radio gumb i da se mogu odabrati više od jednog potvrdnog okvira.

Izazovi u GUI testiranju

Pisanje tih slučajeva je jednostavno; keeping ih živih tijekom nekoliko izdanja nije. U softverskom inženjerstvu, najčešći problem pri izradi Ispitivanje regresije je da se GUI aplikacije često mijenja. Vrlo je teško testirati i utvrditi radi li se o problemu ili poboljšanju. Problem se manifestira kada nemate nikakve dokumente u vezi s promjenama GUI-ja.

⚠️ Upozorenje: Skripte koje lociraju elemente prema koordinatama zaslona ili automatski generiranim ID-ovima neće uspjeti pri sljedećoj izgradnji. Tretirajte strategiju lokatora kao dio dizajna, a ne kao naknadnu misao.

GUI alati za testiranje

Pravi alati apsorbiraju velik dio te promjene. Slijedi popis popularnih GUI alati za testiranje :

  1. Selenium
  2. QTP
  3. Cucumber
  4. SilkTest
  5. TestComplete
  6. Squish GUI tester

Kliknite ovdje da biste saznali Selenium, QTP & Cucumber.

Slijede dostupni alati otvorenog koda za provođenje automatiziranog testiranja korisničkog sučelja.

Proizvod Licencirano pod
AutoHotkey GPL
Selenium apaš
Sikuli MIT
Robotski okvir apaš
Vater BSD
Dojo alat BSD

Sikuli temelji se na slici, korisno kada kontrola nema pouzdan lokator; Selenium ostaje zadana vrijednost za testiranje web aplikacija.

Pitanja i odgovori

Da. Moderni alati čitaju zahtjev ili skeniraju iscrtani zaslon i izrađuju nacrte kandidata koji pokrivaju polja, gumbe i poruke za validaciju. Tester ih i dalje pregledava jer umjetna inteligencija ne može znati koji zasloni nose stvarni poslovni rizik.

Samoobnavljajući mehanizmi pohranjuju nekoliko atributa po elementu. Kada lokator pokvari, alat uspoređuje preostale atribute, popravlja referencu i označava promjenu. Timovi ga koriste na Selenium Apartmani prijavljuju puno manje lažnih kvarova nakon kozmetičkih redizajna.

Testiranje GUI-ja pita je li sučelje ispravno: poravnanje, oznake, boje i kontrole se ponašaju kako je navedeno. Testiranje upotrebljivosti pita je li sučelje jednostavno, mjereći koliko brzo stvarna osoba završava zadatak. Testiranje upotrebljivosti je jedna vrsta testiranja GUI-ja.

Testiranje GUI-ja je crna kutija. Tester radi samo iz vidljivog sučelja i zahtjeva, bez čitanja izvornog koda. Obično se pokreće tijekom testiranja sustava, nakon što su provjere jedinica i integracije već potvrdile logiku koja se nalazi ispod.

Pokrenite kratki skup kritičnih provjera na svakoj verziji, a na cijelom paketu svake večeri ili prije svakog izdanja. Alati kao što su UFT zakažite izvršavanja bez nadzora, tako da noćno izvršavanje gotovo da ne košta testera.

Sažmite ovu objavu uz: