Kurs API, Performance and Cloud Testing (Performance and Availability)

Kurs API, Performance and Cloud Testing obrađuje API testiranje, testiranje performansi i opterećenja, ali i uticaj pojmova kao što su cloud, virtualizacija i kontejnerizacija na proces softverskog testiranja. Kroz četiri logičke celine, polaznici imaju prilike da usvoje veliki broj novih pojmova koji će im olakšati kretanje kroz svet softverskog testiranja.

Zanima vas ovaj kurs? Možete ga pohađati u okviru ovih ITAcademy programa: Software Testing and QA Program.

Opis i cilj kursa API, Performance and Cloud Testing (Performance and Availability)

Kurs započinje pričom o veb-servisima, softverskim komponentama bez kojih se ne može zamisliti izvršavanje modernog softvera. Predstavljaju se različiti tipovi veb-servisa, pa polaznici imaju prilike da nauče na šta se odnose pojmovi REST i SOAP. Upoznavanjem osnovnih postulata funkcionisanja veb-servisa stvaraju se osnove za realizaciju API testiranja, odnosno testiranja veb-servisa.

Efikasna realizacija API testiranja podrazumeva poznavanje alata različitih profila. Zbog toga se u kursu API, Performance and Cloud Testing polaznici prvo upoznaju sa alatima kao što su cURL i HTTPie. Reč je o alatima koji mogu da simuliraju klijente u mrežnoj komunikaciji i da na taj način omoguće proveru različitih aspekata funkcionisanja veb-servisa. Pored takvih alata koji se mogu doživeti kao univerzalni, u kursu se obrađuje i korišćenje programa SoapUI i Postman. Reč je o programima koji su specijalizovani za rad sa veb-servisima. Oni omogućavaju razvoj, simuliranje, pozivanje i inspekciju veb-servisa, kao i obavljanja različitih vrsta testiranja – funkcionalnog testiranja, testiranja opterećenja, raspoloživosti i sigurnosti.

Drugi deo kursa API, Performance and Cloud Testing posvećen je pojmu opterećenja veb-servera i aplikativnih komponenata koje funkcionišu u takvom okruženju. Danas gotovo da nema softverskog sistema u čijem funkcionisanju ne učestvuju komponente koje se nalaze na nekom veb-serveru. Reč je o komponentama koje zbog toga moraju da budu u stanju da opsluže desetine, stotine, pa i hiljade ili milione korisnika u toku jednog dana. Zbog toga pojam opterećenja i njegova evaluacija imaju veliki važnost u svetu softverskog testiranja. Polaznici imaju prilike da nauče kako je posredstvom alata Apache Bench i Apache JMeter moguće obaviti testiranje opterećenja i performansi jednog softverskog sistema koji funkcioniše u okviru nekog veb-servera.

Za kraj kursa API, Performance and Cloud Testing ostavljena je priča o pojmovima koji ne pripadaju direktno svetu softverskog testiranja, ali na njega snažno utiču. Reč je o pojmovima kao što su cloud, virtualizacija i kontejnerizacija. Svaki od njih na određeni način utiče na posao test i QA timova. Za početak, različita cloud okruženja mogu da ponude hardverske i softverske kapacitete koji se na zahtev mogu dobiti za samo nekoliko sekundi, a koje je moguće koristiti za sprovođenje softverskog testiranja. Virtualizacija i kontejnerizacija softverskim test timovima pružaju mogućnost jednostavnog kreiranja virtuelnih test okruženja bez utroška vremena na suvišnu konfiguraciju i bez gubljenja dragocenih resursa. Polaznici ovog kursa imaju prilike da nauče da koriste Docker, danas najpoznatiji sistem za rukovanje kontejnerima, i da na taj način upotpune dijapazon svojih IT veština koje će im olakšati bavljenje profesijom softverskog testiranja.

Cilj kursa API, Performance and Cloud Testing jeste osposobljavanje polaznika za praktičnu realizaciju API testiranja, testiranja performansi, ali i testiranja koje je potpomognuto cloud okruženjem i virtualizacijom. Polaznici će naučiti šta su to veb-servisi i koja je njihova uloga u funkcionisanju modernih softverskih proizvoda. Imaće prilike da saznaju kako funkcioniše SOAP protokol i REST arhitekturalni šablon. U procesu testiranja veb-servisa polaznici će naučiti kako se koriste programi cURL, HTTPie, SoapUI i Postman. Biće osposobljeni i za korišćenje različitih alata za testiranje performansi i opterećenja, među kojima prednjače Apache Bench i Apache JMeter. Na kraju kursa API, Performance and Cloud Testing polaznici će naučiti šta su pojmovi cloud, virtualizacija i kontejnerizacija i kako se oni mogu koristiti u procesu softverskog testiranja.

Kurs API, Performance and Cloud Testing će vam odgovoriti na pitanja:

1. Šta su veb-servisi?

Funkcionisanje softverskih sistema danas se ne može zamisliti bez veb-servisa. Reč je o samostalnim aplikativnim komponentama koje izlažu određene resurse na korišćenje svojim klijentima. Resursi mogu biti podaci, ali i funkcionalnosti koje servisi obavljaju umesto klijenata. Funkcionisanje veb-servisa se sastoji od prihvatanja klijentskih zahteva, njihove obrade i isporuke rezultata.

Svoju važnu ulogu u arhitekturi softverskih sistema veb-servisi su zaslužili zbog brojnih prednosti koje donose softverskom razvoju. Za početak, oni omogućavaju komunikaciju aplikativnih komponenata kreiranih različitim tehnologijama i deljenje funkcionalnosti kada je reč o više klijenata. Pored toga, veb-servisi olakšavaju postizanje slabe spregnutosti kroz nezavisne komponente koje komuniciraju posredstvom servisa. Na kraju, veb-servisi omogućavaju nasleđenim (engl. legacy) sistemima da nastave da funkcionišu i da se nadgrađuju.

Zbog svega navedenog, nije teško zaključiti da je projektovanje i kreiranje veb-servisa važan aspekt softverskog inženjerstva. Podjednaku važnost ima i disciplina testiranja veb-servisa, što je jedna od tema koje se obrađuju u kursu API, Performance and Cloud Testing.

2. Šta je SOAP, a šta REST?

Svetom veb-servisa dominiraju dva pojma – SOAP i REST. Njihovo razumevanje je presudno za uspešno testiranje veb-servisa i zbog toga je njima posvećena posebna pažnja u kursu API, Performance and Cloud Testing.

I jedna i druga vrsta veb-servisa za svoje izvršavanje podrazumevaju klijent–server okruženje, u kome klijenti iniciraju komunikaciju sa servisima koji njima na raspolaganje stavljaju određene resurse. Ipak, komunikacija između klijenata i servisa se kod SOAP i REST servisa obavlja na drugačiji način. Kada su u pitanju SOAP servisi, pravila komunikacije se definišu SOAP protokolom, pri čemu SOAP diktira i format za slanje i prijem poruka. Sa druge strane, REST je arhitekturalni stil za izgradnju takozvanih RESTful veb-servisa, odnosno veb-servisa koji funkcionisanje u potpunosti temelje na postulatima HTTP protokola. Takvi servisi koriste HTTP i njegove metode kao zajednički interfejs komunikacije, URL adrese za adresiranje resursa, a JSON kao format za predstavljanje podataka. I jedna i druga vrsta servisa su detaljno obrađene u kursu API, Performance and Cloud Testing.

3. Šta je API testiranje?

Veb-servisi se veoma često imenuju i pojmom API, što je skraćenica za aplikativni programski interfejs (engl. application programming interface). API predstavlja interfejs koji omogućava da jedna softverska komponenta komunicira sa drugom. Kada je reč o veb-servisima, takva komunikacija se obavlja posredstvom mreže, poštovanjem pravila nekog protokola za komunikaciju (uglavnom HTTP-a). Upravo zbog toga se i pojam API testiranje odnosi na proces testiranja veb-servisa, odnosno interfejsa za komunikaciju koji oni izlažu.

Testiranje veb-servisa, odnosno API testiranje podrazumeva proveru funkcionisanja, pouzdanosti, performansi i bezbednosti servisa koje oni stavljaju na raspolaganje korisnicima. Uzimajući u obzir značaj veb-servisa u današnjem modernom svetu softvera, ne čudi da je testiranje veb-servisa jedna od najznačajnijih oblasti softverskog testiranja. Ipak, reč je o vrsti softverskog testiranja koje za ispravnu realizaciju podrazumeva poznavanje različitih pojmova u vezi sa mrežnom komunikacijom između kompjutera. Zbog toga u kursu API, Performance and Cloud Testing polaznici imaju priliku da se upoznaju sa različitim pojmovima kao što su HTTP, IP, SOAP, REST, WSDL, XML, JSON, a sve kako bi jednostavnije mogli da se kreću kroz svet softverskog testiranja.

Kurs Performance and availability

4. Čemu služe programi SoapUI i Postman?

Posao testiranja veb-servisa podrazumeva korišćenje specijalizovanih alata koji mogu da simuliraju klijente u komunikaciji sa veb-servisima. Danas postoji veliki broj takvih alata, a u kursu API, Performance and Cloud Testing posebna pažnja je posvećena alatima SoapUI i Postman.

SoapUI je program za testiranje veb-servisa koji svojim korisnicima može da ponudi širok dijapazon mogućnosti. Neke od najznačajnijih su razvoj, simuliranje, pozivanje i inspekcija veb-servisa, kao i mogućnost obavljanja različitih vrsta testiranja – funkcionalnih testiranja, testiranja opterećenja, raspoloživosti i sigurnosti. Iako u svom nazivu sadrži odrednicu Soap, SoapUI nije ograničen na testiranje SOAP servisa, već je takav alat moguće koristiti i za proveru funkcionisanja REST servisa.

Postman je alat sličnih mogućnosti kao i SoapUI. Ipak, reč je o nešto modernijem programu, sa bogatijim skupom funkcionalnosti, pa tako Postman može da olakša svaki segment rada sa veb-servisima. U skup njegovih najznačajnijih funkcionalnosti se ubrajaju: konzumiranje, dizajniranje, testiranje, dokumentovanje i praćenje veb-servisa, kreiranje lažnih servera i detekcija osobina veb-servisa.

5. Šta je JMeter?

Softversko opterećenje je pojam koji se odnosi na količinu posla koju softver može da obavi u određenom periodu. Reč je o važnom faktoru koji direktno utiče na performanse, pouzdanost, upotrebljivost i skalabilnost softverskih sistema i zbog toga je reč o pojmu koji se mora shvatiti kao ključni aspekt razvoja, testiranja i održavanja kvalitetnog softvera. U realizaciji takvog posla mogu pomoći programi kao što je JMeter.

JMeter je veoma moćan kompjuterski program koji omogućava lako sprovođenje testiranja performansi. Ipak, JMeter nije ograničen na takvu vrstu testiranja, pa ga je moguće koristiti i za realizaciju jediničnog, regresionog, funkcionalnog, API testiranja. Može se koristiti i kao monitor mrežnog saobraćaja pomoću ugrađenog proxy servera. Ukratko, JMeter je moguće koristiti za sprovođenje široke lepeze testiranja usmerenih na sisteme koji se izvršavaju na nekom serveru.

U kursu API, Performance and Cloud Testing detaljno se obrađuje korišćenje JMeter programa, pa tako polaznici imaju priliku da nauče šta su test planovi, kako se simuliraju realni korisnici, šta su sempleri, kontroleri, slušači i ostali pojmovi karakteristični za JMeter program.

6. Kako može da pomogne cloud prilikom realizacije softverskog testiranja?

Cloud je pojam koji se odnosi na hardversku i softversku infrastrukturu dostupnu preko interneta. Umesto obrade, čuvanja i rukovanja podacima korišćenjem lokalnih servera ili ličnih kompjutera, cloud podrazumeva da takve poslove obavljaju hardverski i softverski resursi koji se nalaze na udaljenim serverima.

Cloud je iz nekoliko razloga vrlo značajan za svakog ko želi da se bavi softverskim testiranjem. Za početak, sve više softvera biva objavljeno u okviru cloud platformi, pa je u takvim situacijama imperativ poznavati osnovne postulate cloud računarstva. Pored toga, moderne cloud platforme pod svojim okriljem poseduju ogroman broj servisa, među kojima su i oni koji se mogu koristiti za brže i efikasnije sprovođenje softverskog testiranja korišćenjem hardverskih i softverskih resursa koji postoje u oblaku. Upravo zbog toga u kursu API, Performance and Cloud Testing imate priliku da čitate o osnovnim postulatima cloud modela, ali i o popularnim cloud platformama kao što su Azure, AWS, i Google Cloud Platfrom.

7. Šta je Docker?

U IT svetu razvoj softvera se obavlja na kompjuterima različitim od onih na kojima će takav softver biti smešten kada realni korisnici počnu da ga koriste. Drugim rečima, razvojno i produkciono okruženje za izvršavanje softvera gotovo se uvek razlikuju. Prilikom razvoja se veoma često dešava da softver funkcioniše bez ikakvih problema u razvojnom okruženju, dok u produkcionom okruženju dolazi do pojave grešaka usled razlika u konfiguraciji. Upravo takve i slične probleme rešava upotreba takozvanih kontejnera, a najpoznatiji sistem za rukovanje kontejnerima jeste Docker.

Docker omogućava pakovanje aplikacija zajedno sa kompletnim izvršnim okruženjem i svim zavisnostima u samostalne celine koje se nazivaju kontejneri. Kontejneri softverskim testerima omogućavaju da testiraju softver u uslovima koji će važiti i u produkciji. Drugim rečima, Docker čini da ne moramo da razmišljamo o okruženju u kojem će se naš softver izvršavati, odnosno da li će to biti kompjuter sa Windows, Linux ili nekim drugim operativnim sistemom i da li će na takvom sistemu postojati sve što je neophodno kako bi se aplikacija nesmetano izvršavala. Jedino o čemu je potrebno voditi računa prilikom isporuke takve aplikacije jeste da li ciljni sistem poseduje instaliran Docker.

Kurs API, Performance and Cloud Testing obrađuje osnovne postulate korišćenja Dockera, pa polaznici imaju priliku da nauče šta su imagei, čemu služe registri, kako se kreiraju kontejneri i na koji način je moguće samostalno kreirati jedan image.

Plan i program predavanja

Modul 1: Svet veb-servisa

  • Uvod u veb-servise
  • Klijenti veb-servisa

Modul 2: API testiranje

  • Testiranje SOAP servisa
  • Testiranje REST servisa
  • SoapUI
  • Postman

Modul 3: Testiranje opterećenja

  • Opterećenje i skaliranje
  • JMeter

Modul 4: Cloud i virtualizacija u svetu testiranja

  • Primena clouda u softverskom testiranju
  • Virtualizacija i testiranje

Performance and availability

3 načina da dobijete odlično plaćen posao

Spremili smo dokument koji otkriva tri pouzdana načina za dolazak na dobro plaćenu poziciju za stručan rad sa računarima. Preuzmite izveštaj ovde.

Da li ima mesta? Upisni rok 2024/25. je u toku.

Da saznate sve o upisu, kliknite ovde.

Prijavite se