Porovnávacia tabuľka
Základ pre porovnanie | Testovanie jednotiek | Testovanie systému |
---|---|---|
základné | Zameriava sa na funkčné overenie komponentov. | Otestuje systém po jeho integrácii do väčšieho systému. |
nasledovne | Špecifikácia modulov | Špecifikácia požiadavky |
Viditeľnosť kódových údajov | za predpokladu | Neboli poskytnuté |
Lešenie | Požadovaný | Nepotrebujete ovládače / stub |
Dôraz | O správaní jedného modulu. | Funkcie systému. |
Definícia testovania jednotky
Jednotkové testovanie je technika zdôvodnenia najmenších jednotiek v softvéri. Tieto najmenšie súčasti softvéru sa testujú izolovane. Komponent ovládača je zodpovedný za generovanie volaní metód pre testované súčasti. Zložka, ktorá využíva metódu, je imitovaná ako stub . Tieto výhonky sú počiatočnou náhradou nesprávne umiestnených metód.
Jednotkový test je riadený testom na bielej krabici a kroky v testovaní jednotky sa vykonávajú pre viaceré komponenty súčasne. Zdôrazňuje to, testovanie správneho toku údajov pozdĺž modulových rozhraní, pretože ak sa ignoruje, ostatné testy sa stanú neistými.
Operácie stubu
- Stub môže vykonávať jasne napísanú napodobeninu úlohy komponentu.
- Po vykonaní komponentu sa môže správa zobraziť.
Ani jedna z vyššie uvedených operácií by sa mohla vykonať naraz. Testovanie jednotky je dôležitou súčasťou testovania softvéru, ktorá zabezpečuje rýchlejší vývoj, ladenie, návrh zvuku, dokumentáciu a mechanizmus spätnej väzby a ďalej znižuje celkové náklady.
Definícia testovania systému
Systémové testovanie overuje správanie celého systému. Vykonáva rôzne testy v progresii. Avšak tieto testy majú zreteľný zámer a kontrolujú, či všetky komponenty systému fungujú správne integrovaným spôsobom alebo nie.
Pri tomto testovaní sú testovacie prípady navrhnuté podľa špecifikácie požiadaviek a jeho kód je podobný čiernej skrinke. Vývojári, ktorí majú široké znalosti a viditeľnosť o štruktúre systému, obvykle vykonávajú testovanie systému.
Typy testovania systému:
Existuje niekoľko foriem testovania systému, z ktorých je niekoľko z nich opísaných nižšie.
- Testovanie obnovenia : Tento typ testu spôsobuje, že softvér odmietol niekoľkými spôsobmi, aby skontroloval správny proces obnovy.
- Bezpečnostné testovanie : Bezpečnostné testovanie overuje bezpečnostný mechanizmus a zabraňuje prenikaniu systému.
- Stresové testovanie : Je to testovacia technika, pri ktorej sú potrebné abnormálne podmienky zdrojov, ako je množstvo, frekvencia a objem.
- Testovanie výkonnosti : Testovanie výkonnosti sa zameriava na výkon runtime softvéru vo vzťahu k celému systému.
Kľúčové rozdiely medzi testovaním jednotiek a testovaním systému
- Testovanie jednotky pracuje na špecifikácii modulu. Na rozdiel od toho testovanie systému spĺňa integrovanú požiadavku špecifikácie pre softvér aj hardvér.
- Pri testovaní jednotky sú podrobnosti kódu viditeľné pre tester, zatiaľ čo v testovaní systému to nie je. Dôvodom je to, že jednotkové testy môžu vykonávať vývojár modulu, ale testovanie systému je väčšia úloha, v ktorej tester a vývojár sú dvaja jednotlivci, ktorí vykonávajú rôzne operácie.
- Testovanie jednotky používa techniku lešenia, kde vygenerovaný kód nie je súčasťou softvéru a ktorého jediným účelom je vyviesť testovanie. Naopak, systémové testovanie nepoužíva techniku lešenia.
- Pri testovaní jednotiek sa dôraz kladie na jeden modul, zatiaľ čo pri testovaní systému sa berú do úvahy všetky funkcie systému.
Vzťah medzi jednotkovým testovaním a systémovým testovaním v kontexte stratégie testovania softvéru:
Podľa nižšie uvedenej schémy testovanie jednotky začína od stredu a zameriava sa na každú softvérovú jednotku (komponent) podľa implementácie. Nasleduje integračné testovanie, kde sa skúma návrh a konštrukcia softvérovej architektúry. Keď ideme von, testovanie validácie sa stretne, keď sú platné požiadavky na špecifikáciu požiadaviek. Testovanie systému sa nachádza na vonkajšej strane, ktorá testuje softvér a ostatné časti systému ako integrovaný komponent.
záver
Testovanie jednotky je testovacia technika, v ktorej je testovaná najmenšia jednotka programu. Na druhej strane testovanie systému závisí od špecifikácie konštrukcie na vysokej úrovni a kontroluje, či implementácia systému spĺňa špecifikáciu systémovej požiadavky alebo nie.