Kurs Android Debugging and Testing

Testiranje je sastavni deo razvoja softvera. Pre svega, da bi vaša Android aplikacija bila okarakterisana kao ispravna i kvalitetna, neophodno je da prođe kroz proces otklanjanja grešaka. Ako se bavite programiranjem aplikacija za Android operativni sistem, potrebno je da znate koje ključne korake bi trebalo preduzeti prilikom testiranja aplikacije. Upravo ćete ta znanja usvojiti na kursu Android Debugging and Testing.

Zanima vas ovaj kurs? Možete ga pohađati u okviru ovih ITAcademy programa: Android Mobile Development.

Opis i cilj kursa Android Debugging and Testing

Kurs Android Debugging and Testing bavi se različitim pristupima za detekciju i otklanjanje grešaka i testiranje Android aplikacija. Kurs je podeljen na dve logičke celine. Prva se bavi pojmom debugginga, odnosno tehnikama za detekciju i otklanjanje grešaka, a druga različitim pristupima za testiranje Android aplikacija.

U segmentu o detekciji i otklanjanju grešaka, polaznici imaju prilike da čitaju o različitim vrstama softverskih grešaka do kojih može doći prilikom kreiranja i izvršavanja Android aplikacija. Kurs se primarno bavi compile-time, runtime i logičkim greškama i različitim pristupima za njihovu detekciju. U kursu su prvo ilustrovani pristupi za detekciju sintaksnih grešaka korišćenjem funkcionalnosti koje postoje unutar razvojnog okruženja Android Studio. Tako su ilustrovane sve osobine funkcionalnosti za on-the-fly analizu unutar Android Studio okruženja.

U poglavlju o runtime greškama, kurs Android Debugging and Testing se bavi izuzecima i pojmovima kao što su call stack i stack trace. Pokriveni su svi relevantni pristupi za brzu detekciju runtime grešaka i za smanjenje njihovog broja tokom izvršavanja aplikacije. Prilikom upoznavanja sa runtime greškama, poseban akcent je stavljen na Run i Logcat panele Android Studio razvojnog okruženja.

U procesu praćenja rada Android aplikacija, veoma značajni pojmovi su klasa Log i izveštaji o greškama. Kurs Android Debugging and Testing osposobljava polaznika za korišćenje klase Log u cilju beleženja informacija o unutrašnjem stanju aplikacije tokom izvršavanja. Kada aplikacija započne svoj život na uređajima krajnjih korisnika, od velike koristi mogu biti izveštaji o greškama (bug reports). Proces njihovog generisanja i analize je detaljno obrađen u kursu.

Poslednja tema debugging celine posvećena je logičkim greškama i korišćenju Android Studio debuggera. Reč je o alatu koji pomaže u detekciji grešaka tako što omogućava pauziranje i kontrolisanje izvršavanja koda. Kurs Android Debugging and Testing pokriva rad sa tačkama prekida, pristupe za ispitivanje i praćenje promenljivih i kontrolu izvršavanja koda.

Kurs Android Debugging and Testing obrađuje i različite vrste testova kojima se osigurava ispravno funkcionisanje Android aplikacija. Polaznici imaju prilike da čitaju o lokalnim i instrumentiranim unit testovima i UI testovima, kao i da se na primeru realnih Android aplikacija upoznaju sa njihovim kreiranjem.

Cilj ovog kursa jeste upoznavanje polaznika sa pojmovima debugginga i testiranja, praktično osposobljavanje polaznika za detekciju compile-time, runtime i logičkih grešaka, osposobljavanje polaznika za korišćenje Build, Run i Logcat panela i debuggera Android Studio okruženja i klase Log Android platforme, kao i osposobljavanje polaznika za kreiranje lokalnih i instrumentiranih unit testova i za kreiranje UI testova korišćenjem softverskog okvira Espresso.

Kurs Android Debugging and Testing će vam odgovoriti na pitanja:

Šta su softverske greške?

Greške su sastavni deo gotovo svakog softverskog proizvoda. One mogu prouzrokovati brojne probleme prilikom izvršavanja programa. Simptomi mogu varirati od neočekivanog rezultata izvršavanja, preko korumpiranih podataka, pa sve do potpunog otkaza i nemogućnosti korišćenja aplikacije. Stoga je razumevanje pojma softverskih grešaka i načina za njihovo otklanjanje od presudnog značaja prilikom razvoja softvera.

Unutar Android aplikacija može se javiti nekoliko različitih vrsta grešaka, koje se razlikuju po načinu ispoljavanja i ozbiljnosti ugrožavanja izvršavanja kompletnog sistema. Kurs Android Debugging and Testing bavi se tehnikama za detekciju i otklanjanje svih vrsta grešaka do kojih može doći prilikom razvoja Android aplikacija. Tako polaznici imaju prilike da unaprede svoje znanje o Android programiranju, što će im pomoći u kreiranju kvalitetnih i upotrebljivih aplikacija.

Šta su compile-time, a šta runtime greške i kako se one detektuju?

Iz ugla modernih programskih jezika, pa samim tim i Android programiranja, softverske greške se klasifikuju na različite načine. Jedna od osnovnih klasifikacija jeste ona koja u obzir uzima vreme ispoljavanja greške. Tada se govori o compile-time i runtime greškama.

Compile-time greške se ispoljavaju već tokom kompajliranja izvornog koda Android aplikacija. Drugim rečima, aplikacija sa greškom takve vrste ne može ni da se prevede. U kursu Android Debugging and Testing polaznici uče da detektuju ovakve greške ručnom analizom koda, korišćenjem Android Studio funkcionalnosti za on-the-fly analizu koda i tumačenjem informacija koje se dobijaju unutar Build panela.

Runtime greške se ispoljavaju tek tokom izvršavanja aplikacije i, u slučaju neadekvatne obrade, izazivaju rušenje aplikacije. Stoga je reč o greškama sa znatno ozbiljnijim posledicama, pa se u kursu Android Debugging and Testing posebna pažnja posvećuje različitim pristupima za njihovu ranu detekciju. Obrađeni su pojam izuzetaka i način na koji se oni propagiraju, kao i pojmovi call stack i stack trace, koji su presudni za brzo lociranje runtime grešaka.

Šta su logičke greške?

Logičke greške važe za najkompleksniju vrsta grešaka do kojih može doći prilikom izvršavanja softvera, zato što je njih najteže uočiti. Ovakve greške nastaju u situacijama u kojima program ne proizvodi očekivani rezultat, a izvršno okruženje ne prijavljuje bilo kakav izuzetak ili neregularnost – drugim rečima, kod sa logičkom greškom ne obavlja ono što se od njega očekuje. Zbog nepostojanja bilo kakve poruke od izvršnog okruženja, detekcija i uklanjanje logičkih grešaka zahtevaju pažljivu analizu koda i korišćenje specijalizovanih alata razvojnog okruženja.

U kursu Android Debugging and Testing obrađeno je korišćenje Log klase i Logcat panela, kao i funkcionalnosti Android Studio debuggera, a sve u cilju olakšavanja pronalaženja logičkih grešaka.

Android Debugging and Testing

Kako se koristi Android Studio debugger?

Debugger je alat koji pomaže u uklanjanju grešaka tako što omogućava pauziranje i kontrolisanje izvršavanja koda. To na kraju programeru omogućava da kroz kod prođe liniju po liniju i da tom prilikom ispita vrednosti promenljivih u različitim trenucima. Sastavni deo svih ozbiljnih razvojnih okruženja jeste i debugger alat, pa ni Android Studio nije izuzetak.

Android Studio omogućava pokretanje aplikacija u posebnom režimu, pri čemu se upošljava integrisani debugger. U kombinaciji sa tačkama prekida, debugger omogućava pauziranje izvršavanja koda, a zatim kontrolisanje izvršavanja prolaskom kroz kod naredbu po naredbu. Pored toga, Android Studio debugger u svakom trenutku omogućava dobijanje informacija o trenutnim vrednostima dostupnih promenljivih i još mnogo toga. O svemu tome govori se u kursu Android Debugging and Testing.

Zbog čega je bitno softversko testiranje?

Pisanje programskog koda samo je jedan deo programerske profesije. Osiguravanje ispravnog funkcionisanja aplikacije podjednako je važno kao i sam čin pisanja koda. Stoga je posao programiranja uvek praćen temeljnim testiranjem. Ukoliko se zna da je održavanje vremenski najzahtevnija, pa samim tim i najskuplja etapa u razvoju softvera, lako se može zaključiti da se temeljnim testiranjem može uštedeti dosta vremena i novca.

Softverskim testiranjem se nekada mogu sačuvati i ljudski životi. Tako je 1994. godine, softverska greška na letelici Airbus A300 kineske avio-kompanije imala za posledicu gubitak 264 života.

Kurs Android Debugging and Testing pokriva najznačajnije aspekte testiranja Android aplikacija, sa posebnim akcentom na praktičnom kreiranju unit i UI testova uz korišćenje JUnit i Espresso softverskih okvira.

6. Šta su i kako se kreiraju Android unit testovi?

Softversko testiranje je pojam koji se odnosi na različite operacije u cilju postizanja ispravnog funkcionisanja nekog programa. Stoga postoji veliki broj različitih kriterijuma na osnovnu kojih je moguće napraviti razliku između tipova softverskih testova.

Unit testovi su usmereni na pojedinačne funkcionalnosti od kojih je sačinjena kompletna aplikacija. Zbog toga se takvi testovi i nazivaju jedinični testovi. Njima se testira najmanja moguća jedinica koda. Najčešće su to metode objekata, pa se tako unit testovima utvrđuje da li pojedinačni elementi aplikacije obavljaju svoj posao bez greške. U kursu Android Debugging and Testing obrađeno je kreiranje lokalnih i instrumentiranih unit testova koji se izvršavaju posredstvom softverskog okvira JUnit.

Šta su i kako se kreiraju Android UI testovi?

Korisničko okruženje je u većini situacija jedina spona između korisnika i unutrašnje logike aplikacije. Korišćenjem korisničkog okruženja, korisnik pokreće akcije i dobija rezultate obrade koju sprovodi aplikacija. Zbog toga je korišćenjem korisničkog okruženja moguće testirati funkcionalno ponašanje aplikacija. Korišćenjem elemenata korisničkog okruženja onako kako to rade sami korisnici moguće je indirektno ispitati validnost obrade koju obavlja Android aplikacija. Zbog toga je pojam UI testiranja veoma važan.

UI testiranje Android aplikacija obavlja se korišćenjem posebnog softverskog okvira koji se naziva Espresso i sastavni je deo AndroidX skupa funkcionalnosti. U kursu Android Debugging and Testing ilustrovano je praktično kreiranje UI testova, i to na dva načina: korišćenjem alata Espresso Test Recorder i ručnim pisanjem funkcionalnosti testova.

Plan i program predavanja

1. Detekcija i otklanjanje grešaka

  • Uvod u Android debugging 
  • Runtime greške
  • Logovanje i rad sa izveštajima o greškama
  • Logičke greške
  • Android Studio debugger

2. Testiranje

  • Uvod u Android testiranje
  • Unit testiranje
  • UI testiranje

Potreban softver i tehnički uslovi:

  • Potrebno je imati računar sa instaliranim Windows, macOS ili Linux operativnom sistemom i razvojno okruženje Android Studio.

Potrebno predznanje:

  • Podrazumeva se da polaznik ima osnovno predznanje korišćenja kompjutera, prvenstveno obavljanja osnovnih operacija na operativnom sistemu.
  • Podrazumeva se da polaznik poseduje znanje iz kurseva Core Java Programming i Advanced Java Programming i kursa Introduction to Android Application Development.

Kompetencije:

1. Detekcija i otklanjanje grešaka

  • Korišćenje Build, Run i Logcat panela Android Studio okruženja, klase Log, Android Studio debuggera i izveštaja o greškama u cilju pronalaženja i otklanjanja compile-time, runtime i logičkih grešaka

2. Testiranje

  • Korišćenje okruženja Android Studio i softverskih okvira JUnit i Espresso za kreiranje unit i UI testova

Kurs Android Debugging and Testing

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 je otvoren!

Da saznate sve o upisu, kliknite ovde