Čo je statické testovanie?
Z mnohých používaných techník je statické testovanie ďalšou metódou, ktorá pomáha pri zisťovaní porúch softvéru. Statické testovanie to robí bez skutočného vykonania testovacieho prípadu. Zahŕňa preskúmanie kódu a tiež kontrolu potrebného dokumentu, ktorý je zahrnutý, ale nevyžaduje vykonanie programu. Je to v rozpore s jeho náprotivkom dynamického testovania v prípade zapojenia programu a jeho vykonávania.
Statické testovanie predstavuje osvedčený spôsob zlepšenia kvality a produktivity pri vývoji a testovaní softvéru. Pomáha testerom alebo vývojárom opraviť ich chyby v ranej fáze vývoja softvéru. Môže sa to robiť ručne alebo pomocou nástroja. Existujú rôzne recenzie, návody, inšpekcie a analýzy, ktoré pomáhajú pri hľadaní problémov bez vykonania.
Prečo vykonávať statické testovanie?
Statické testovanie pomáha pri hľadaní skorých defektov. Tieto nedostatky, ak sa zistia v počiatočných fázach, sa dajú napraviť a nebudú pokračovať ďalej. Časové harmonogramy vývoja sa znižujú, pretože kód je možné rýchlo rozvíjať podľa pokynov.
Keďže problémy by sa našli v skorších fázach, náklady na testovanie by sa znížili v dôsledku ušetrenia veľa času. To všetko zlepšuje kvalitu vývoja. Zvyšuje sa aj produktivita vývojárov, pretože už majú k dispozícii súbor usmernení, prehľadov, inšpekcií atď. (O ktorých sa diskutuje v neskorších fázach tohto článku). Znižuje to tiež počet defektov, ktoré sa vyskytujú v neskoršej fáze testovania.
Aký je rozsah statického testovania?
- Statické testovanie sa môže použiť na testovanie jednotkových testovacích prípadov. Toto je úplná počiatočná fáza, v ktorej sa môžu vyskytnúť problémy. Ďalšou oblasťou, v ktorej je statické testovanie užitočné, je dokument o obchodných požiadavkách. Pomáha preskúmať požiadavky a dospieť k legitímnym potrebám systému. Môže sa použiť aj v prípadoch, keď sú prípady použitia na obrázku.
- Ďalšími oblasťami, v ktorých môže statické testovanie urobiť zázraky oznámením problémov, sú funkčné požiadavky, prototyp, dokument so špecifikáciou prototypu, testovacie údaje, dokument matrice sledovateľnosti, školiace príručky a dokumenty atď. v automatizácii a testovaní výkonu, kde sa problémové oblasti dajú vopred nájsť.
Ako sa vykonáva statické testovanie?
Ak chcete vykonať statické testovanie, je potrebné postupovať niekoľkými spôsobmi. Kontrola by sa mala vykonať úplne, aby sa skontrolovala a navrhla aplikácia. Statické testovanie sa zameriava hlavne na kontroly. Môže sa viesť kontrolný zoznam, v ktorom sa každý dokument uvádza tak, aby sa zabezpečilo úplné pokrytie všetkých preskúmaní.
Pri tomto testovaní sa vykonáva niekoľko činností, ktoré sú uvedené nižšie:
- Overenie požiadavky použitia: V tejto validácii sú identifikované a validované všetky akcie koncového používateľa. Kontroluje tiež všetky rôzne vstupné a výstupné akcie, ktoré sú spojené s prípadom použitia. Viac detailov týkajúcich sa prípadu použitia, tým väčšia je presnosť testovacích prípadov, ktoré sa vytvoria.
- Overenie funkčných požiadaviek: Pomáha pri zaznamenávaní všetkých funkčných zmien, zmien databázy, rozhraní zoznamu, požiadaviek na sieť, hardvérových a softvérových zmien. Je to krok na zabezpečenie toho, aby sa zaznamenali a implementovali všetky potrebné zmeny.
- Preskúmanie architektúry: Kompletná architektúra projektu vyžaduje servery, ktoré sú prítomné na rôznych miestach, sieťových diagramoch, definíciách protokolov, prístupe k databáze, vyrovnávaniu záťaže atď. Pomáha to získať úplný prehľad o použitom zariadení a návrhu architektúry.
- Validácia prototypu alebo obrazovky: Zahŕňa validáciu požiadaviek a prípady použitia, ktoré sú na nich založené.
- Overenie slovníka polí: Všetky polia použité v používateľskom rozhraní vyžadujú vykonanie overovacieho testu. Rôzne polia musia skontrolovať minimálnu a maximálnu dĺžku, uviesť rôzne hodnoty, chybové správy atď. Je veľmi dôležité tieto polia vypísať a uistiť sa, že sú validované.
Pri použití statického testovania vo vašom toku by ste mali mať na pamäti, že produkt sa kontroluje ručne alebo pomocou určitých nástrojov. Existujú dva typy techník statického testovania. Ide predovšetkým o preskúmania a testovanie pomocou nástrojov.
Techniky statického testovania
Techniky zapojené do testovania sú uvedené nižšie:
- Neformálne recenzie
- návody
- Technické recenzie
- inšpekcia
- Statická analýza
Dovoľte nám uviesť stručný prehľad všetkých týchto techník.
1) Neformálne recenzie
- Toto je úplne prvé preskúmanie, ktoré sa začína v počiatočnej fáze dokumentu. Ako už názov napovedá, dá sa to urobiť neformálne medzi dvoma ľuďmi, do ktorých sa neskôr môže pridať viac ľudí. V tomto dokumente nie je zahrnutý žiadny postup, a preto sa na preskúmanie nevykonáva žiadna dokumentácia. Zvyšuje kvalitu pripravovaného dokumentu. Aj keď existuje veľa spôsobov, ako vykonať formálne testovanie, bežne používané sú neformálne. Tento proces prechádza 6 krokmi. Tie obsahujú:
- plánovanie
- Výkop
- príprava
- Kontrolné stretnutie
- Prepracuj
- Nasleduj
- Formálne plánovanie preskúmania sa týka moderátora, ktorý preverí tabuľku a postará sa o naplánovanie podrobností plánovacej relácie. Uskutočňuje sa úvodné stretnutie as cieľom dosiahnuť súdržné a jasné porozumenie všetkým účastníkom sa poskytne časový harmonogram na zdokumentovanie a vykonanie potrebných zmien.
- Krátky úvod je venovaný téme všetkým. Potom účastníci individuálne preskúmajú každý dokument a zdieľajú svoje artefakty s recenzentom. Potom sa uskutoční formálne preskúmanie na revíznom stretnutí, ktoré označí všetky problémy, o ktorých sa diskutovalo, a prijme sa konečné rozhodnutie. Zaznamenávajú sa aj všetky konkrétne problémy. Na základe týchto kontrol sú všetky zistené nedostatky prepracované. Následne sa kontrolujú zmeny, ktoré sa očakávajú.
- Autor preberá zodpovednosť za tieto vady, pretože nie je potrebné na každej závode pracovať. Moderátor potom skontroluje, či boli alebo neboli prijaté všetky očakávané kroky. Všetky chyby sa zaznamenávajú s návrhmi na zlepšenie procesu. Úlohou moderátora je skontrolovať všetky metriky a vyhodnotiť výstupné kritériá pri diskusných a akčných položkách.
2) Návod
- V návode sú zapojení iní a získava sa kolektívna spätná väzba od tímu, takže existuje spoločné porozumenie, ktoré spĺňa účel dokumentu. Tím nemusí robiť podrobnú štúdiu. Autori sú už na túto recenziu pripravení. Mal by sa vyhodnotiť všetok predkladaný obsah. Navrhované riešenia by sa mali pred diskusiou validovať.
- Dokument, ktorý je predmetom kontroly, prechádza jeho autorom a ostatní ľudia sú požiadaní o kontrolu a poskytnutie stanoviska k dokumentu. Existuje mnoho spätných väzieb, ktoré sa zohľadňujú. Podrobné vysvetlenie pomáha účastníkom získať jasný obraz. Môžu si tento kód preštudovať a pred stretnutím ho skontrolovať. Pomáha pri vytváraní dokumentu na vyššej úrovni.
- Je tu obsiahnutá široká časť, ktorá zaisťuje, že sa nevynechá žiadny aspekt požiadaviek. Vytvorí sa spoločné porozumenie okolo dokumentu a navrhnú sa riešenia alebo alternatívy.
3) Technické preskúmanie
- Toto je formálne stretnutie, na ktorom sa diskutuje o technickom obsahu dokumentu. Vyžaduje sa usmernenie odborníka. Zameriava sa na získanie hodnoty technických poznatkov prítomných v projekte. Pomáha pri konzistentnosti a zabezpečuje správnosť všetkých technických údajov. Pri technickej kontrole sa očakáva dosiahnutie konsenzu o technických aspektoch všetkých dokumentov.
- Po dokončení dokumentácie sa od odborníkov žiada, aby vykonali neformálne preskúmanie. Títo odborníci môžu byť architekti, hlavní dizajnéri, kľúčoví používatelia atď. Súčasťou tohto prehľadu môžu byť aj kolegovia programátori alebo kolegovia. V tomto preskúmaní môžu posúdiť všetky technické koncepcie. Zabezpečila tiež, aby sa správne koncepty používali na správnom mieste.
4) Kontrola
- Toto je najformálnejší druh preskúmania, ktoré sa koná. Tu vedie proces inšpekcie vedúci alebo vyškolený tím. Pred stretnutím sú pripravení všetci recenzenti a dokumenty. Kontrola zabezpečí kontrolu celého výrobku a zistenie chýb. Všetky zistené chyby musia byť zaznamenané v protokoloch. Inšpekcia sa zameriava na zlepšenie kvality kontrolovaného dokumentu.
- Je efektívny pri hľadaní chýb a vytvára dokumenty, ktoré majú veľmi vysokú úroveň kvality. Je to tiež spôsob, ako si všimnúť predchádzajúce chyby a znova podobné chyby. Všetky zistené chyby sa zaznamenajú a prediskutujú. Ďalšia diskusia o týchto dokumentoch sa uskutoční až po odstránení nedostatkov. Zameriava sa na nájdenie defektov v ranom štádiu a následne do značnej miery zvyšuje kvalitu softvéru.
Nástroje na statické testovanie
Nástroje statickej analýzy používajú najmä vývojári. Môžu byť považované za rozšírenie kompilátorov. Niektorí kompilátori majú tiež funkciu statickej analýzy. Kontroluje statické požiadavky a analyzuje aj statickú analýzu webových stránok. Použitím týchto nástrojov je možné kód vytvoriť tak, aby bol ľahko zrozumiteľný.
Pomocou týchto nástrojov je možné stanoviť normy kódovania. Tento krok sa zameriava na testovanie techniky, návrhu a kódu pomocou automatizovaných nástrojov. Dôraz je kladený na softvérový kód. Používajú ho vývojári pred a počas testovania integrácie.
Rôzne nástroje zapojené do statického testovania sú tieto:
- Normy kódovania: Na to, aby vývojári postupovali jednotne, je potrebné zabezpečiť, aby sa dodržiavali všetky stanovené štandardy kódovania. Na kontrolu týchto noriem je možné použiť nástroje. Ak sa na tento účel nepoužíva žiadny nástroj, potom je menej prísne dodržiavanie kódovacieho štandardu.
- Metriky kódu: Štrukturálne atribúty kódu sa môžu merať pomocou metrík kódu. Keď softvér pokračuje v budovaní, kód je zložitý. Metriky kódu pomáhajú pri navrhovaní efektívnych a môžu mať aj alternatívy pri prepracovávaní kódu.
- Štruktúra kódu: Štruktúra kódu, ako je riadiaci tok, dátové štruktúry a ich tok, sa rozhoduje v tejto fáze. Pracuje na postupnosti, v ktorej sa inštrukcie vykonávajú v programe. To zahŕňa slučky a iterácie, rôzne podmienky, ktoré sa majú použiť v programe. Kód, ktorý sa vôbec nepoužíva, známy tiež ako mŕtvy kód, je možné v tejto fáze identifikovať a odstrániť. Priebeh programu rozhoduje o údajových položkách, ktoré sú prístupné, a potom je možné podľa toho vykonať zmeny v kóde. Možno identifikovať všetky dátové štruktúry vrátane zložitých dátových štruktúr.
Výhody a nevýhody
Nižšie sú uvedené niektoré výhody a nevýhody statického testovania
výhody
- Testovanie zvyčajne vykonávajú odborníci, ktorí majú dobré technické znalosti a znalosti o kódovaní.
- Túto techniku je možné použiť na to, aby bola schopná a pohotová pri hľadaní chýb.
- Pri tomto testovaní je možné použiť nástroje automatizácie, vďaka ktorým je proces skenovania a kontroly rýchly.
- Pokiaľ ide o statické testovanie, chyby sa dajú zistiť v počiatočnom štádiu, a teda sa znížia náklady na vyriešenie týchto problémov.
- Všetky riziká sa dajú ľahko zmierniť použitím automatizačných nástrojov.
nevýhody
- Problémy a slabé stránky môžu spôsobiť problém, keď sa kód spustí v reálnom čase
- Tieto nástroje skenujú iba kód
- Statické testovanie je pri manuálnom vykonávaní veľmi náročné na čas.
- Nástroje automatizácie môžu niekedy poskytovať falošne pozitívne a negatívne prípady. Tiež skenujú iba kód, ktorý môže viesť k funkčným poruchám.
záver
Statické testovanie je najjednoduchším a najúčinnejším spôsobom zistenia chýb v kóde v skoršej fáze. Kódex je preskúmaný odborníkmi a problémy sú zachytené pred dosiahnutím testovania. Pomáha tiež pri stanovovaní štandardov kódu, ktoré môžu dodržiavať všetci.
Toto testovanie zvyčajne robia vývojári, a preto je možné technické problémy obmedziť v ranom štádiu. Znižuje riziko výrobných chýb v dôsledku hlúpeho problému s dokumentáciou. Všetky tieto skutočnosti sú overené vopred, a preto vedú k menším problémom.
Odporúčané články
Toto bol sprievodca statickým testovaním. Tu diskutujeme o tom, ako sa vykonáva, o technikách, nástrojoch, výhodách a nevýhodách statického testovania. Viac informácií nájdete aj v ďalších navrhovaných článkoch -
- Čo je virtualizácia v cloud computingu?
- Funkčné testovanie vs nefunkčné testovanie
- Kariéra v testovaní softvéru
- Rozhovor Otázky na testovanie softvéru
- Slovník v Pythone