Konvencionalno testiranje nasuprot objektno orijentiranom testiranju
Testiranje softvera jedan je od najvažnijih koraka u procesu razvoja softvera. Testiranjem softvera osiguravamo da razvijeni softver zadovoljava sve zahtjeve kupaca i radi bez grešaka. Kako su se paradigme i tehnike razvoja softvera pomaknule s početnog vodopada razvoja softvera na OOD/Agile i druge novije koncepte, testiranje se također pomaknulo s konvencionalnog (tradicionalnog) testiranja na objektno orijentirano testiranje (OOT). Ali budući da je razvoj vodopada još uvijek u upotrebi, ispitivači još uvijek koriste konvencionalno testiranje.
Što je konvencionalno testiranje?
Konvencionalni proces testiranja odvija se uglavnom kada se životni ciklus vodopada koristi za razvoj softvera u organizacijama. Konvencionalno testiranje uvijek se odvija tijekom testne faze životnog ciklusa, koja obično slijedi nakon faze razvoja i nastavlja fazu implementacije. Tijekom ove faze testiranja provest će se uglavnom tri vrste testiranja. Testiranje sustava će osigurati da značajke sustava zadovoljavaju zahtjeve korisnika dokumentirane u SRS (Specifikacija softverskih zahtjeva), obično koristeći pristup crne kutije. Integracijsko testiranje testira preliminarni dizajn funkcionalnim i dekompozicijskim pristupom. Testiranje integracije temelji se na strukturi dizajna korištenjem pristupa odozgo prema dolje ili odozdo prema gore. Konačno, jedinični testovi osiguravaju da je detaljni dizajn točan.
Što je objektno orijentirano testiranje?
Korištenje Objektno orijentirane (OO) analize i dizajna zajedno s Agile i drugim nedavnim metodologijama razvoja softvera vodi do Objektno orijentiranog testiranja. OO razvoj obično je usmjeren na ponašanje. Ispitivanje se provodi s naglaskom na sastav. To znači da se dizajn stvara dio po dio i sastavlja zajedno da dovrši cijeli sustav. Budući da se brza izrada prototipa i neki oblik inkrementalnog pristupa danas koriste za OO razvoj, tri konvencionalne razine testiranja (sustav, integracija i jedinično testiranje) nisu jasno vidljive u OO dizajnu (ali one ipak postoje većinu vremena). Testiranje sustava (pod OO testiranjem) imat će uglavnom isti pristup (crna kutija) kao i konvencionalno testiranje i provjeravat će specifikaciju zahtjeva (jer se zahtjevi moraju verificirati bez obzira na proces razvoja). Jedinično testiranje pod objektno orijentiranim testiranjem slično je konvencionalnom jediničnom testiranju, no osnovna je razlika u definiciji korištene jedinice. Trenutno prihvaćene jedinice koje se koriste za jedinično testiranje su klase i metode.
Koja je razlika između konvencionalnog testiranja i objektno orijentiranog testiranja?
Konvencionalno testiranje tradicionalni je pristup testiranju koji se uglavnom provodi kada se za razvoj koristi životni ciklus pada vode, dok se objektno orijentirano testiranje koristi kada se objektno orijentirana analiza i dizajn koriste za razvoj poslovnog softvera. Konvencionalno testiranje više se fokusira na dekompoziciju i funkcionalne pristupe za razliku od objektno orijentiranog testiranja, koje koristi kompoziciju. Tri razine testiranja (sustav, integracija, jedinica) koje se koriste u konvencionalnom testiranju nisu jasno definirane kada se radi o objektno orijentiranom testiranju. Glavni razlog za to je što OO razvoj koristi inkrementalni pristup, dok tradicionalni razvoj slijedi sekvencijalni pristup. U smislu jediničnog testiranja, objektno orijentirano testiranje gleda na mnogo manje jedinice u usporedbi s konvencionalnim testiranjem.