Parastā testēšana pret objektorientēto testēšanu
Programmatūras testēšana ir viens no svarīgākajiem posmiem programmatūras izstrādes procesā. Programmatūras testēšana nodrošina, ka izstrādātā programmatūra atbilst visām klientu prasībām un darbojas bez kļūdām. Tā kā programmatūras izstrādes paradigmas un metodes ir mainījušās no sākotnējās ūdenskrituma programmatūras izstrādes uz OOD/Agile un citām jaunākām koncepcijām, arī testēšana ir pārgājusi no parastās (tradicionālās) testēšanas uz objektorientēto testēšanu (OOT). Taču, tā kā ūdenskrituma izstrāde joprojām tiek izmantota, testētāji joprojām izmanto parasto testēšanu.
Kas ir parastā pārbaude?
Konvencionālais testēšanas process notiek galvenokārt tad, kad ūdenskrituma dzīves cikls tiek izmantots programmatūras izstrādei organizācijās. Parastā testēšana vienmēr notiek dzīves cikla testa fāzē, kas parasti seko izstrādes fāzei un turpinās ieviešanas fāzē. Šajā testēšanas posmā galvenokārt tiks veiktas trīs veidu pārbaudes. Sistēmas testēšana pārliecināsies, ka sistēmas līdzekļi atbilst klientu prasībām, kas dokumentētas SRS (Software Requirements Specification), parasti izmantojot melnās kastes pieeju. Integrācijas testēšana pārbauda sākotnējo dizainu, izmantojot funkcionālo un dekompozīcijas pieeju. Integrācijas testēšana balstās uz dizaina struktūru, izmantojot lejupejošu vai augšupēju pieeju. Visbeidzot, vienību testi pārliecinās, vai detalizētais dizains ir pareizs.
Kas ir objektorientētā pārbaude?
Objektorientētas (OO) analīzes un dizaina izmantošana, kā arī Agile un citas jaunākās programmatūras izstrādes metodoloģijas noved pie objektorientētās testēšanas. OO attīstība parasti ir vērsta uz uzvedību. Testēšana tiek veikta, liekot uzsvaru uz sastāvu. Tas nozīmē, ka dizains tiek veidots pa gabalu un salikts kopā, lai pabeigtu visu sistēmu. Tā kā mūsdienās OO izstrādē tiek izmantota ātra prototipēšana un daži pakāpeniskas pieejas veidi, trīs parastie testēšanas līmeņi (sistēmas, integrācijas un vienības testēšana) nav skaidri redzami OO dizainā (tomēr tie pastāv vairumā gadījumu). Sistēmas testēšanai (saskaņā ar OO testēšanu) tiks izmantota tāda pati (melnās kastes) pieeja kā parastajai testēšanai, un tiks pārbaudīta prasību specifikācija (jo prasības ir jāpārbauda neatkarīgi no izstrādes procesa). Vienību testēšana objektorientētā testēšanā ir līdzīga parastajai vienību pārbaudei, taču galvenā atšķirība ir izmantotās vienības definīcija. Pašlaik vienību testēšanai tiek izmantotas klases un metodes.
Kāda ir atšķirība starp parasto testēšanu un objektorientēto testēšanu?
Konvencionālā testēšana ir tradicionālā pieeja testēšanai, ko galvenokārt veic, kad izstrādei tiek izmantots ūdenskrituma dzīves cikls, savukārt objektorientētā testēšana tiek izmantota, ja uzņēmuma programmatūras izstrādei tiek izmantota objektorientēta analīze un dizains. Parastā testēšana vairāk koncentrējas uz dekompozīcijas un funkcionālām pieejām, nevis uz objektu orientētu testēšanu, kurā tiek izmantots sastāvs. Trīs testēšanas līmeņi (sistēma, integrācija, vienība), ko izmanto parastajā testēšanā, nav skaidri definēti, kad runa ir par objektu orientētu testēšanu. Galvenais iemesls tam ir tas, ka OO izstrāde izmanto pakāpenisku pieeju, bet tradicionālā izstrāde seko secīgai pieejai. Runājot par vienību testēšanu, objektorientētā testēšanā tiek izmantotas daudz mazākas vienības, salīdzinot ar parasto testēšanu.