Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
1. Statická analýza: Zahŕňa to preskúmanie kódu * bez jeho vykonania. Metódy zahŕňajú:
* Kontrola kódu: Ručné kontroly kódu pre chyby, nezrovnalosti v štýle, zraniteľné miesta zabezpečenia a dodržiavanie kódovacích štandardov. Často sa to robí v spolupráci.
* Nástroje analýzy statického kódu: Automatizované nástroje, ktoré analyzujú kód pre potenciálne chyby, zraniteľné miesta a problémy s kvalitou kódu. Príklady zahŕňajú Sonarqube, Findbugs a Lint. Tieto nástroje môžu identifikovať veci, ako sú výnimky na ukazovateľ ukazovateľov, úniky pamäte a neisté postupy kódovania.
* Kontrola dizajnu: Preskúmanie architektúry softvéru, dizajnérske dokumenty a špecifikácie s cieľom identifikovať potenciálne problémy na začiatku životného cyklu vývoja.
2. Dynamická analýza: Zahŕňa to spustenie softvéru a pozorovanie jeho správania. Metódy zahŕňajú:
* Testovanie: To je rozhodujúce a zahŕňa rôzne techniky:
* Testovanie jednotiek: Testovanie jednotlivých komponentov alebo modulov softvéru.
* Testovanie integrácie: Testovanie interakcie medzi rôznymi komponentmi.
* Testovanie systému: Testovanie celého systému ako celku.
* Testovanie akceptácie: Testovanie softvéru, aby sa zabezpečilo, že spĺňa požiadavky používateľa.
* regresné testovanie: Retestovanie po zmenách, aby sa zabezpečilo, že nový kód nezlomil existujúcu funkčnosť.
* Testovanie výkonu: Posúdenie rýchlosti, škálovateľnosti a stability softvéru pri rôznych zaťaženiach. Zahŕňa to testovanie záťaže, testovanie napätia a vytrvalostné testovanie.
* Testovanie zabezpečenia: Identifikácia zraniteľností, ktoré by útočníci mohli využiť. Zahŕňa to testovanie penetrácie, skenovanie zraniteľnosti a bezpečnostné audity.
* Testovanie použiteľnosti: Pozorovanie používateľov, ktorí interagujú so softvérom na identifikáciu oblastí na zlepšenie používateľského rozhrania a používateľských skúseností.
* ladenie: Používanie nástrojov ladenia na prechádzanie kódu, skontrolujte premenné a identifikovať hlavnú príčinu chýb.
* Monitorovanie: Pozorovanie správania softvéru vo výrobnom prostredí s cieľom identifikovať prekážky, chyby a ďalšie problémy. To často zahŕňa zbierku ťažby a metriky.
* Profiling: Analýza výkonu softvéru na identifikáciu oblastí na optimalizáciu.
3. Reverzné inžinierstvo: Zahŕňa to analýzu kompilovaného kódu alebo spúšťacieho systému na pochopenie jeho funkčnosti, často bez prístupu k zdrojovému kódu. Používa sa to na rôzne účely vrátane analýzy bezpečnosti, testovania kompatibility a vytvárania riešení.
Použité nástroje a techniky:
* Debuggers (napr. GDB, LLDB): Na prechod cez kód a kontrolu premenných.
* Profilery (napr. Valgrind, YourKit): Na identifikáciu prekážok výkonu.
* riadiace systémy verzie (napr. Git): Na sledovanie zmien a spoluprácu pri kontrole kódu.
* Vydávajú sledovače (napr. Jira, problémy s githubom): Na správu správ o chybách a požiadavkách na funkcie.
* Automatizované testovacie rámce (napr. JUnit, Pytest): Na písanie a spustenie automatizovaných testov.
* nástroje statickej analýzy (ako je uvedené vyššie): Pre automatické detekcie vôní kódu a potenciálnych chýb.
Použité špecifické metódy a nástroje do veľkej miery závisia od kontextu:typ softvéru, fáza vývoja, dostupné zdroje a ciele skúšky. Komplexné vyšetrenie často zahŕňa kombináciu techník statickej a dynamickej analýzy.