Konvencionalno testiranje proti objektno usmerjenemu testiranju
Testiranje programske opreme je eden najpomembnejših korakov v procesu razvoja programske opreme. Testiranje programske opreme zagotavlja, da razvita programska oprema izpolnjuje vse zahteve naročnika in deluje brez napak. Ko so se paradigme in tehnike razvoja programske opreme premaknile od začetnega razvoja programske opreme slapa k OOD/Agile in drugim novejšim konceptom, se je tudi testiranje premaknilo od običajnega (tradicionalnega) testiranja k objektno usmerjenemu testiranju (OOT). Toda ker je razvoj slapa še vedno v uporabi, preizkuševalci še vedno uporabljajo konvencionalno testiranje.
Kaj je konvencionalno testiranje?
Konvencionalni proces testiranja poteka večinoma, ko se življenjski cikel slapa uporablja za razvoj programske opreme v organizacijah. Običajno testiranje vedno poteka med testno fazo življenjskega cikla, ki običajno sledi razvojni fazi in nadaljuje fazo implementacije. V tej fazi testiranja bodo izvedene predvsem tri vrste testiranja. Sistemsko testiranje bo zagotovilo, da funkcije sistema izpolnjujejo zahteve kupcev, dokumentirane v SRS (Specifikacija programskih zahtev), običajno s pristopom črne skrinjice. Integracijsko testiranje preizkuša preliminarno zasnovo s funkcionalnim in dekompozicijskim pristopom. Testiranje integracije temelji na strukturi zasnove z uporabo pristopa od zgoraj navzdol ali od spodaj navzgor. Končno se s testi enot prepriča, da je podrobna zasnova pravilna.
Kaj je objektno usmerjeno testiranje?
Uporaba objektno usmerjene analize in oblikovanja skupaj z Agile in drugimi nedavnimi metodologijami razvoja programske opreme vodi do objektno usmerjenega testiranja. Razvoj OO je običajno osredotočen na vedenje. Testiranje poteka s poudarkom na sestavi. To pomeni, da je dizajn ustvarjen kos za kosom in sestavljen skupaj za dokončanje celotnega sistema. Ker se za razvoj OO danes uporabljata hitra izdelava prototipov in neka oblika inkrementalnega pristopa, tri običajne ravni testiranja (sistem, integracija in testiranje enot) niso jasno vidne v načrtovanju OO (vendar večinoma obstajajo). Sistemsko testiranje (v okviru OO testiranja) bo v veliki meri uporabljalo enak pristop (črna skrinjica) kot običajno testiranje in bo preverilo specifikacijo zahteve (ker je treba zahteve preveriti ne glede na razvojni proces). Testiranje enot pri objektno usmerjenem testiranju je podobno običajnemu testiranju enot, vendar je osnovna razlika v definiciji uporabljene enote. Trenutno sprejete enote, ki se uporabljajo za testiranje enot, so razredi in metode.
Kakšna je razlika med konvencionalnim testiranjem in objektno usmerjenim testiranjem?
Konvencionalno testiranje je tradicionalni pristop k testiranju, ki se večinoma izvaja, ko se za razvoj uporablja življenjski cikel padca vode, medtem ko se objektno usmerjeno testiranje uporablja, kadar se objektno usmerjena analiza in načrt uporabljata za razvoj poslovne programske opreme. Konvencionalno testiranje se bolj osredotoča na dekompozicijo in funkcionalne pristope v nasprotju s objektno usmerjenim testiranjem, ki uporablja kompozicijo. Tri ravni testiranja (sistem, integracija, enota), ki se uporabljajo pri konvencionalnem testiranju, niso jasno opredeljene, ko gre za objektno usmerjeno testiranje. Glavni razlog za to je, da razvoj OO uporablja postopen pristop, medtem ko tradicionalni razvoj sledi zaporednemu pristopu. V smislu testiranja enot objektno usmerjeno testiranje obravnava veliko manjše enote v primerjavi z običajnim testiranjem.