Konvenčné testovanie verzus objektovo orientované testovanie
Testovanie softvéru je jedným z najdôležitejších krokov v procese vývoja softvéru. Testovanie softvéru zabezpečuje, že vyvinutý softvér spĺňa všetky požiadavky zákazníkov a vykonáva sa bez chýb. Pretože sa paradigmy a techniky vývoja softvéru presunuli z počiatočného vývoja vodopádového softvéru na OOD / Agile a ďalšie novšie koncepcie, testovanie sa presunulo z konvenčného (tradičného) testovania na objektovo orientované testovanie (OOT). Pretože sa však vývoj vodopádov stále používa, testeri ho stále používajú.
Čo je konvenčné testovanie?
Konvenčný testovací proces prebieha väčšinou vtedy, keď sa životný cyklus vodopádu používa na vývoj softvéru v organizáciách. Konvenčné testovanie sa vždy uskutočňuje počas skúšobnej fázy životného cyklu, ktorá zvyčajne nasleduje po vývojovej fáze a pokračuje vo fáze vykonávania. Počas tejto fázy testovania sa vykonajú najmä tri druhy testovania. Testovanie systému zabezpečí, aby vlastnosti systému vyhovovali požiadavkám zákazníka zdokumentovaným v SRS (Špecifikácia softvérových požiadaviek), zvyčajne používajú prístup čiernej skrinky. Testovanie integrácie testuje predbežný návrh funkčným a dekompozičným prístupom. Integračné testovanie je založené na štruktúre návrhu pomocou prístupu zhora nadol alebo zdola nahor. Nakoniec sa pomocou jednotkových testov ubezpečí, že podrobný dizajn je správny.
Čo je objektovo orientované testovanie?
Použitie objektovo orientovanej analýzy a návrhu spolu s agilnými a inými najnovšími metodikami vývoja softvéru vedie k objektovo orientovanému testovaniu. Vývoj OO sa zvyčajne zameriava na správanie. Testovanie sa vykonáva s dôrazom na zloženie. To znamená, že dizajn sa vytvára kúsok po kúsku a je zostavený tak, aby dokončil celý systém. Pretože sa v súčasnosti pri vývoji OO používa rýchly prototyp a nejaká forma inkrementálneho prístupu, tri konvenčné úrovne testovania (testovanie systému, integrácie a jednotky) nie sú jasne viditeľné v dizajne OO (ale väčšinou existujú). Testovanie systému (v rámci testovania OO) bude mať takmer rovnaký prístup ako v prípade klasického testovania a skontroluje špecifikáciu požiadaviek (pretože požiadavky sa musia overovať bez ohľadu na proces vývoja). Testovanie jednotiek v rámci objektovo orientovaného testovania je podobné ako pri testovaní konvenčných jednotiek, základným rozdielom je však definícia použitej jednotky. V súčasnosti akceptované jednotky používané 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, keď sa na vývoj používa životný cyklus vody, 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 viac zameriava na rozklad a funkčné prístupy ako na rozdiel od objektovo orientovaného testovania, ktoré využíva zloženie. Tri úrovne testovania (systém, integrácia, jednotka) používané v konvenčnom testovaní nie sú jasne definované, pokiaľ ide o objektovo orientované testovanie. Hlavným dôvodom je to, že vývoj OO používa prírastkový prístup, zatiaľ čo tradičný vývoj nasleduje postupný prístup. Z hľadiska testovania jednotiek sa objektovo orientované testovanie zameriava na oveľa menšie jednotky v porovnaní s konvenčným testovaním.