Konvenčné testovanie vs testovanie zamerané na objekt
Testovanie softvéru je jedným z najdôležitejších krokov v procese vývoja softvéru. Testovanie softvéru zaručuje, že vyvinutý softvér spĺňa všetky požiadavky zákazníkov a prebieha bez chýb. Pretože sa paradigmy a techniky vývoja softvéru presunuli z pôvodného vývoja softvéru na vodopády na OOD / Agile a ďalšie novšie koncepty, posunulo sa testovanie aj od konvenčného (tradičného) testovania k OOT (Object Oriented Testing). Pretože sa však vývoj vodopádov stále používa, testéri stále používajú bežné testovanie.
Čo je to konvenčné testovanie?
Konvenčné testovacie procesy prebiehajú väčšinou vtedy, keď sa na vývoj softvéru v organizáciách používa životný cyklus vodopádu. Bežné testovanie prebieha vždy počas testovacej fázy životného cyklu, ktorá zvyčajne nasleduje po vývojovej fáze a pokračuje v implementačnej fáze. Počas tejto testovacej fázy sa uskutočnia hlavne tri druhy testovania. Testovanie systému zabezpečí, že vlastnosti systému vyhovujú požiadavkám zákazníka zdokumentovaným v špecifikácii SRS (Software Requirements Specification), ktorá zvyčajne vychádza z čiernej skrinky. Integračné testovanie testuje predbežný návrh pomocou funkčného a rozkladného prístupu. Testovanie integrácie je založené na štruktúre dizajnu, pričom sa využíva prístup zhora nadol alebo zdola nahor. Nakoniec sa jednotkové testy ubezpečia, že podrobný návrh je správny.
Čo je to objektovo orientované testovanie?
Použitie Object Oriented (OO) analýzy a návrhu spolu s Agile a ďalšími nedávnymi metodikami vývoja softvéru vedú k Object Oriented Testing. Vývoj OO je zvyčajne zameraný na správanie. Testovanie sa vykonáva s dôrazom na zloženie. To znamená, že dizajn je vytváraný kus po kúsku a skladaný spoločne tak, aby dotváral celý systém. Pretože sa dnes pre vývoj OO používajú rýchle prototypy a nejaká forma prírastkového prístupu, tri bežné úrovne testovania (systém, integrácia a testovanie jednotiek) nie sú v dizajne OO jasne viditeľné (ale väčšinou existujú). Testovanie systému (v rámci testovania OO) bude vyžadovať rovnaký prístup (čierna skrinka) ako bežné testovanie a skontroluje sa špecifikácia požiadaviek (pretože požiadavky sa musia overovať bez ohľadu na vývojový proces). Testovanie jednotiek pri objektovo orientovanom testovaní je podobné ako pri konvenčnom testovaní jednotiek, základným rozdielom je však definícia použitej jednotky. V súčasnosti akceptovanými jednotkami používanými na testovanie jednotiek sú triedy a metódy.
Aký je rozdiel medzi konvenčným testovaním a objektovo orientovaným testovaním?
Konvenčné testovanie je tradičný prístup k testovaniu, ktoré sa väčšinou vykonáva pri vývoji životného cyklu vodných tokov, zatiaľ čo objektové testovanie sa používa, keď sa na vývoj podnikového softvéru používa objektovo orientovaná analýza a návrh. Konvenčné testovanie sa zameriava viac na rozklad a funkčné prístupy na rozdiel od objektovo orientovaného testovania, pri ktorom sa využíva zloženie. Tri úrovne testovania (systém, integrácia, jednotka) používané pri konvenčnom testovaní nie sú jasne definované, pokiaľ ide o objektovo orientované testovanie. Hlavným dôvodom je to, že vývoj OO využíva prírastkový prístup, zatiaľ čo tradičný vývoj sleduje postupnosť. Pokiaľ ide o testovanie jednotiek, objektovo orientované testovanie sa v porovnaní s bežným testovaním zameriava na oveľa menšie jednotky.