Nikola Đuza E2 111/2016
Automatsko testiranje mikro servisa alatima za testiranje prihvatljivosti
Obrana završnog rada
- Master akademske studije -
Fakultet tehničkih nauka u Novom Sadu
Nikola Đuza E2 111/2016
Nikola Đuza
-
Inženjer softvera
-
Upisao OAS na FTN-u 2012.
-
Završio OAS 2016.
-
Upisao MAS na FTN-u 2016.
Fakultet tehničkih nauka u Novom Sadu
Nikola Đuza E2 111/2016
Šta je testiranje?
- Provera da li dobijeni rezultat odgovara očekivanom rezultatu
- Verifikacija softvera
- Proces izvršavanja sa namerom pronalaska grešaka
Fakultet tehničkih nauka u Novom Sadu
Nikola Đuza E2 111/2016
Pristupi testiranju
Fakultet tehničkih nauka u Novom Sadu
Nikola Đuza E2 111/2016
Pristupi testiranju
- Ne postoji jasna podela pristupa
- Većina se prepliće i kombinuje
- Najrelevatniji za rad
Fakultet tehničkih nauka u Novom Sadu
Nikola Đuza E2 111/2016
Box pristupi testiranju
-
Black box
- Unutrašnjost softvera nepoznata
-
Gray box
- Unutrašnjost potrebna za testiranje poznata
-
White box
- Unutrašnjost je potpuno poznata
Fakultet tehničkih nauka u Novom Sadu
Nikola Đuza E2 111/2016
Ručno testiranje
- Često osnovni pristup testiranju
- Po slobodnoj proceni ili na osnovu pripremljenih skripti
- Tester se ponaša kao korisnik
- Nezamenljivo je
Fakultet tehničkih nauka u Novom Sadu
Nikola Đuza E2 111/2016
Automatsko testiranje
- Automatizovanje test skripti ili alata za izvršavanje testova
- Definišu se koraci koji se izvršavaju postepeno
- Brže od ručnog pristupa ali ga ne može zameniti u potpunosti
Fakultet tehničkih nauka u Novom Sadu
Nikola Đuza E2 111/2016
Nivoi testiranja
Fakultet tehničkih nauka u Novom Sadu
Nikola Đuza E2 111/2016
Nivoi testiranja
- Jedinično testiranje
- Integraciono testiranje
- Sistemsko testiranje
- Testiranje prihvatljivosti
Fakultet tehničkih nauka u Novom Sadu
Nikola Đuza E2 111/2016
Jedinično testiranje
- Testiranje izolovanih komponenti
- Izvlačenje iz konteksta
- Cilj je identifikacija grešaka komponente
Fakultet tehničkih nauka u Novom Sadu
Nikola Đuza E2 111/2016
Jedinično testiranje
Fakultet tehničkih nauka u Novom Sadu
Nikola Đuza E2 111/2016
Jedinično testiranje
Fakultet tehničkih nauka u Novom Sadu
Nikola Đuza E2 111/2016
Integraciono testiranje
Fakultet tehničkih nauka u Novom Sadu
- Testiranje funkcionisanja više komponenti
- Cilj je otkrivanje grešaka pri komunikaciji između više komponenti
Nikola Đuza E2 111/2016
Integraciono testiranje
Fakultet tehničkih nauka u Novom Sadu
Nikola Đuza E2 111/2016
Integraciono testiranje
Fakultet tehničkih nauka u Novom Sadu
Nikola Đuza E2 111/2016
Sistemsko testiranje
Fakultet tehničkih nauka u Novom Sadu
- Testiranje zajedničkog rada komponenti koje ne komuniciraju direktno, ali imaju neku zavisnost po podacima
- Cilj je verifikacija specificiranih zahteva u sistemu
Nikola Đuza E2 111/2016
Testiranje prihvatljivosti
Fakultet tehničkih nauka u Novom Sadu
- Evaluacija sistema na osnovu zahteva i koliko je prihvatljiv za lansiranje
- Dve podele
- User acceptance test
- Operational acceptance test
Nikola Đuza E2 111/2016
end-to-end testiranje
Fakultet tehničkih nauka u Novom Sadu
- Tip testiranja prihvatljivosti
- e2e testira tok podataka kroz celu aplikaciju
- Dolazi do značaja sa sve većom popularnošću mikro servisne arhitekture
Nikola Đuza E2 111/2016
Alati za testiranje prihvatljivosti
Fakultet tehničkih nauka u Novom Sadu
- Cypress
- Puppeteer
- Nightwatch.js
- TestCafe
- CodeceptJS
Nikola Đuza E2 111/2016
Projekat za testiranje
Fakultet tehničkih nauka u Novom Sadu
- Sajt za prodaju međunarodnog osiguranja
- 6 servisa ukupno
- 4 backend servisa
- 2 frontend servisa
- Ruby on Rails
- React
Nikola Đuza E2 111/2016
Fakultet tehničkih nauka u Novom Sadu
Nikola Đuza E2 111/2016
Projekat za testiranje
Fakultet tehničkih nauka u Novom Sadu
- Kontejnerizacija uz pomoć Docker alata
- Automatsko pokretanje testova
- Servisi za kontinualnu integraciju
- Semaphore CI
- Travis CI
Nikola Đuza E2 111/2016
Fakultet tehničkih nauka u Novom Sadu
- Fokus na e2e i integracionom testiranju
- Pokreće se unutar pretraživača
- Dolazi upakovan sa svim drugim alatima za testiranje
Nikola Đuza E2 111/2016
Fakultet tehničkih nauka u Novom Sadu
Nikola Đuza E2 111/2016
Fakultet tehničkih nauka u Novom Sadu
Nikola Đuza E2 111/2016
Fakultet tehničkih nauka u Novom Sadu
- Brz alat
- Dolazi za Dashboard sajtom za pregled rezultata
- Snimanje videa i screenshot-ova testova
- Lako pisanje i izvršavanje testova
- Podržava Chrome i Electron pretraživače
Nikola Đuza E2 111/2016
Fakultet tehničkih nauka u Novom Sadu
- Alat za testiranje u Chrome pretraživaču
- Koristi Chrome DevTools za komunkaciju sa pretraživačem
- Minimalistički pristup
Nikola Đuza E2 111/2016
Fakultet tehničkih nauka u Novom Sadu
Nikola Đuza E2 111/2016
Fakultet tehničkih nauka u Novom Sadu
- Jednostavan način testiranja
- Ne uključuje ni jednu drugu biblioteku za testiranje
- Podržava samo Chrome pretraživač
Nikola Đuza E2 111/2016
Fakultet tehničkih nauka u Novom Sadu
- Koristi Selenium ili WebDriver protokol
- Podrška za cloud servise
- Laka proširivost komandi
Nikola Đuza E2 111/2016
Fakultet tehničkih nauka u Novom Sadu
Nikola Đuza E2 111/2016
Fakultet tehničkih nauka u Novom Sadu
- Čudan način pisanja testova
- Teže inicijalno podešavanje
- Podržava više pretraživača
- Uskoro se lansira servis sličan Cypress Dashboard-u
Nikola Đuza E2 111/2016
Fakultet tehničkih nauka u Novom Sadu
- Pokreće se unutar pretraživača
- Testiranje udaljenih uređaja kao što su mobilni telefoni
- Lako podešavanje
Nikola Đuza E2 111/2016
Fakultet tehničkih nauka u Novom Sadu
Nikola Đuza E2 111/2016
Fakultet tehničkih nauka u Novom Sadu
- Podržava više pretraživača
- Minimum podešavanja je potrebno
- TestCafe Studio
- Podržava snimanje testova umesto pisanja
Nikola Đuza E2 111/2016
Fakultet tehničkih nauka u Novom Sadu
- Koristi druge popularne biblioteke za izvršavanje testova
- High level API za pisanje testova
- Testovi razumljivi i za lica koja nisu tehnička
CodeceptJS
Nikola Đuza E2 111/2016
Fakultet tehničkih nauka u Novom Sadu
Nikola Đuza E2 111/2016
Fakultet tehničkih nauka u Novom Sadu
Nikola Đuza E2 111/2016
Fakultet tehničkih nauka u Novom Sadu
- Lak i čitljiv kod u testovima
- Podrška za više alata za testiranje
- Podržava više pretraživača
- Odlučiti se za jedan alat
CodeceptJS
Nikola Đuza E2 111/2016
Fakultet tehničkih nauka u Novom Sadu
Rezultati analize
Nikola Đuza E2 111/2016
Fakultet tehničkih nauka u Novom Sadu
Zaključak
-
Cypress
- Ako nije bitna podrška više pretraživača
-
Puppeteer
- Chrome jedini pretraživač i jednostavnost
-
Nightwatch.js
- Više pretraživača i WebDriver protokol
Nikola Đuza E2 111/2016
Fakultet tehničkih nauka u Novom Sadu
Zaključak
-
TestCafe
- Ako je bitna podrška više pretraživača
-
CodeceptJS
- Čitljivi testovi i više pretraživača
Nikola Đuza E2 111/2016
Fakultet tehničkih nauka u Novom Sadu
Hvala na pažnji
Automatsko testiranje mikro servisa alatima za testiranje prihvatljivosti
By Nikola Đuza
Automatsko testiranje mikro servisa alatima za testiranje prihvatljivosti
Odbrana master rada
- 1,094