Časovi iz predmeta Testiranje i raspoređivanje softvera

Automatsko testiranje veb aplikacija u Javi, uz Selenium WebDriver, TestNG i Page Object Model dizajn patern. Predmet se sluša na Ekonomskom fakultetu u Subotici, na studijama u Subotici i u Novom Sadu. Časovi su namenjeni studentima koji prvi put rade sa automatizacijom testova i žele da gradivo savladaju do nivoa samostalnog rada.

Oblast koju predmet pokriva

Automatsko testiranje znači da umesto ručnog prolaska kroz aplikaciju pišete program koji to radi umesto vas: otvara stranicu, popunjava polja, klikće na dugmad i zatim proverava da li je rezultat onakav kakav se očekuje. U Javi se za to koristi Selenium WebDriver, uz TestNG za organizaciju testova i Maven za upravljanje bibliotekama. Na časovima se te tehnologije prolaze redom, uz praktičan rad na svakom koraku.

Lokatori i rad sa živom stranicom

Selenium ne čita fajlove iz vašeg projekta, već upravlja pravim brauzerom otvorenim na ekranu. Zbog toga se svaki element mora pronaći na samoj stranici, pomoću lokatora. Prolazimo rad sa alatom Inspect, pisanje CSS selektora i XPath izraza uz funkcije poput contains i normalize-space, kao i razliku između lokatora koji je stabilan i onog koji prestaje da radi čim se raspored elemenata malo promeni. Ovo je deo koji početnicima obično oduzme najviše vremena i traži najviše vežbe.

Page Object Model i struktura projekta

Testovi se ne pišu kao jedan dugačak niz naredbi. Page Object Model razdvaja opis stranice od samog scenarija: bazna klasa sa zajedničkim pomoćnim metodama, klasa koja pokreće brauzer, po jedna klasa za svaku stranicu sa lokatorima i metodama, i test klase koje te metode pozivaju redom. Cilj je da tu strukturu napišete samostalno, iz praznog Maven projekta, bez oslanjanja na gotov predložak.

Čekanja, TestNG i provere

Testovi koji nasumično padaju gotovo uvek padaju zbog čekanja. Prolazimo razliku između implicitnog čekanja, klase WebDriverWait i uslova iz klase ExpectedConditions, kao i zašto pauziranje niti nije rešenje. Uz to pokrivamo rad sa padajućim listama preko klase Select, potvrdne prozore, prelazak između kartica, a zatim TestNG anotacije i pisanje provera koje zaista dokazuju da je scenario prošao, umesto da samo potvrde da je kod izvršen do kraja.

Kako izgledaju časovi

Časovi su prilagođeni vašem nivou znanja. Mogući su časovi u grupi ili individualno.

Za koga su časovi

Za studente koji se prvi put susreću sa automatskim testiranjem veb aplikacija, kao i za one koji su gradivo već slušali pa im treba obnavljanje pred rok. Takođe za studente koji solidno znaju Javu, ali se teško snalaze kada umesto zadatka sa jasnim ulazom i izlazom pred sobom imaju živu stranicu.

Ekonomski fakultet u Subotici i Novom Sadu

Testiranje i raspoređivanje softvera je predmet na Ekonomskom fakultetu u Subotici, koji je deo Univerziteta u Novom Sadu. Časove pohađaju studenti sa studija u Subotici i sa studija u Novom Sadu, najčešće sa smera poslovna informatika. Pošto se nastava drži online uz deljenje ekrana, mesto studiranja ne pravi razliku - radi se u istom okruženju i na istim materijalima.

Više o časovima za ostale predmete sa ovog fakulteta ima na stranici časovi informatike za Ekonomski fakultet, a studenti iz Subotice mogu pogledati i časove programiranja u Subotici.

Česta pitanja

Da li mi treba predznanje Jave?

Poželjno je, ali nije uslov. Testovi se pišu u Javi, pa na prvom času proveravamo koliko su vam osnove čvrste. Ako je potrebno, ubacujemo kratko ponavljanje klasa, nasleđivanja i konstruktora, jer je Page Object Model direktno zasnovan na njima.

Koliko časova je potrebno?

Zavisi od vašeg nivoa znanja i od toga šta želite da postignete. Broj časova dogovaramo zajedno, nakon što na prvom času vidimo odakle krećete. Moguće su i individualne konsultacije na kojima prolazimo samo one delove koji vam nisu jasni.

Da li se časovi drže online?

Da. Časovi se drže online uz deljenje ekrana. Potrebno je da imate instaliran IntelliJ IDEA i Javu, što podešavamo zajedno na prvom času ako niste sigurni.

Na čemu vežbamo?

Na javno dostupnim demo veb aplikacijama koje su napravljene za učenje automatskog testiranja. One imaju forme, padajuće liste, potvrdne prozore i korpu, pa pokrivaju gotovo sve situacije na koje se nailazi u praksi.

Znam Javu, ali ne znam odakle da počnem sa testiranjem. Da li je to problem?

Ne, to je čest slučaj. Razlika je u tome što kod testiranja veb aplikacija nemate zadatak sa jasnim ulazom i izlazom, već živu stranicu koju prvo treba razumeti. Zbog toga počinjemo od lokatora i rada sa alatom Inspect, pa tek onda gradimo strukturu testa.

Povezani časovi

Pošto se testovi pišu u Javi, studentima koji žele da prvo učvrste osnove preporučujemo časove Java programiranja. Ostale predmete sa Ekonomskog fakulteta pokrivamo na stranici časovi informatike za Ekonomski fakultet, a ako vam je potrebna pomoć oko seminarskog ili završnog rada, pogledajte izradu projekata.

Zakažite termin

Javite se da se dogovorimo oko rasporeda i tempa časova.

Zakaži čas