You are on page 1of 19

Dobrodošli

na obuku
za QA
Engineer-a
Smernice

• Ništa NE PRETPOSTAVLJAJTE! - Postavljajte PITANJA!

• Budite PRECIZNI u izražavanju! - To što vi nešto podrazumevate ne znači da


svi razumeju na isti način.

• Sve mora biti ARGUMENTOVANO! - Mora postojati osnov argumenta,


informacija, podatak

• Svaka informacija mora biti MERLJIVA! - Izražena u brojčanoj veličini, količini,


procentu
Agenda
1. Software development – Proces razvijanja softvera

2. Testing basics – Osnove testiranja

3. Test Automation – Automatsko testiranje

4. Introduction to OOP and Languages – Objektno orijentisano programiranje i programski jezici

5. Selenium
Proces razvijanja softvera
Benefiti:

• Omogućava jasan pregled celog projekta, kao što je


angažovano osoblje, potrebe za
resursima,vremenski okvir i ciljeve koje treba
ispuniti u svakoj fazi
• Određuje odluke o troškovima i zapošljavanju na
osnovu konkretnih informacija i određivanja
prioriteta
• Proizvodi rezultate koji zadovoljavaju standarde
dizajna i razvoja za svaki korak projekta
• Daje inženjerima određenu meru kontrole kroz
iterativni, fazni pristup
• Poboljšava kvalitet finalnog proizvoda kao i
prekretnice na tom putu
Proces razvijanja softvera
Modeli razvoja softvera:

• Waterfall

• V model

• Iterativni model

• Inkrementalni model

• Spiralni model

• Prototip

• Agilni modeli
Waterfall

Prednosti: Mane:

• Lak za razumevanje i upotrebu ● Kada je aplikacija u fazi testiranja, teško je vratiti se


nazad i promeniti nešto što nije dobro promišljeno u
• Lak za menadžment zbog rigidnosti modela, svaka ranijim fazama
faza ima specifične rezultate i reviziju
● Operativni softver se dobija kasno u modelu
• Faze se procesiraju i završavaju jedna po jedna, ● Veliki rizik i neizvesnost
nema preklapanja faza
● Nijedobar model za kompleksne i
• Veoma pogodan za manje projekte, gde su zahtevi objektnoorijentisane projekte
jasni
● Loš za duge projekte

● Loš u slučaju rizika od čestih promena zahteva


Agile
Agilna metodologija razvoja softvera je prilagodljivija promenama jer ne postoji komplesno planiranje na
početku projekta. Umesto toga, postoje promene zahtevima tokom celog projekta. Ohrabruje se stalna
povratna informacija od krajnjih korisnika.

Agilna metodologija je inkrementalni i iterativni pristup razvoju. Koraci u razvoju se prioriterizuju na osnovu
poslovne ili korisničke vrednosti.

Različiti timovi rade u toku jedne iteracije. Nakon svake iteracije isporučuje se proizvod koji mora da radi.

Principi agilne metodologije se nalaze u Agile Manifest-u.


Agile
Principi manifesta
1. Najveći prioritet je zadovoljstvo kupca ranom i kontinuiranom isporukom vrednog softvera.

2. Zahtevi koji se menjaju prihvataju se čak i u kasnoj fazi razvoja. Agilni procesi omogućavaju
prilagođavanje izmenjenim zahtevima što kao rezultat daje prednost kupaca u odnosu na konkurenciju.

3. Dostave radnog softvera su česte, od nekoliko nedelja do nekoliko meseci, uz prednost kraćem
vremenskom periodu.

4. Tokom celog projekta menadžeri i programeri moraju da svakodnevno sarađuju.

5. Izgradnja projekta oko motivisanih pojedinaca. Dajte im okruženje i podršku koja im je potrebna i verujte
im da mogu obaviti posao.

6. Najefikasnija i najdelotvornija metoda prenošenja informacija do razvojnog tima i unutar njega je razgovor
licem u lice.
Principi manifesta

7. Radni softver je glavna mera napretka

8. Agilni procesi promovišu održivi razvoj. Sponzori, programeri i korisnici trebalo bi da budu u mogućnosti
da održavaju konstantan tempo bez obzira na dužinu trajanja projekta.

9. Stalna pažnja na tehničkom kvalitetu i dobrom dizajnu povećava agilnost.

10. Jednostavnost – veština dovođenja do najvišeg stepena posla koji nije potrebno uraditi od suštinske je
važnosti.

11. Najbolje arhitekture, zahtevi i dizajni potiču od timova koji se sami organizuju.

12. U redovnim intervalima, tim razmišlja o tome kako da postane efikasniji, zatim i prilagođava svoje
ponašanje u skladu sa tim.
Agilne metodologije - Prednosti

• Isporuka softvera je neprekidna

• Klijenti su zadovoljni jer nakon svakog sprinta imaju funkcionalni softver

• Klijenti mogu da daju povratnu informaciju ili da zatraže izmenu zahteva koja se može uključiti u prvu
sledeću isporuku softvera

• Fokus je na interakciji između klijenata, produkt tima, programera, qa inženjera

• Fokus na dobrom dizajnu proizvoda

• Bilo koja promena u zahtevima je dobrodošla, čak i u kasnijim fazama razvoja


Agilne metodologije - Mane

● Obično je dokumentacija slaba, pošto fokus nije na njoj

● Zahtevi mogu da budu nejasni pa je teško predvideti očekivani rezultat

● Često je teško predvideti i proceniti neophodno vreme razvoja da se neka funkcionalnost


implementira(engl.effort estimation)

● Projekti lako skrenu sa ispravnog puta ukoliko predstavnik klijenta nije dovoljno jasan o finalnim ciljevima
koji su traženi

● Samo senior programeri su sposobni da donose neophodne odluke za vreme razvoja, pa nije odgovarajuće
mesto za mlade programere(osim u koliko nisu upareni sa veoma iskusnim).
Matrica kompleksnosti
milos.petrovic@code.edu.rs
Hvala na pažnji

You might also like