Huvudskillnad: Statisk provning är testning som händer även innan programvarans skriftliga kod exekveras. Dynamisk testning sker i en körtidsmiljö, vilket innebär att koden utförs med säkerhetsanalys för att se hur den körs.
Statisk testning testar det som händer även innan programvarans skriftliga kod exekveras. Utvecklaren får möjlighet att gå igenom kodningen med en fin tandad kam för att se om det finns några fel. Det gör det också möjligt för dem att se om koderna överensstämmer med lokala lagar. Statisk provning uppmuntrar brister och ger utvecklaren möjlighet att rätta till dem innan utförandet händer. I vissa fall kan utvecklaren också identifiera någon skadlig kod som kan orsaka problem under körningen. Statisk provning kallas ofta verifiering: utvärderingen av utvecklingsprocessen.
Jämförelse mellan statisk och dynamisk testning:
Statisk testning | Dynamisk provning | |
Avrättning | Händer utan kodens exekvering | Involver utförandet av koden |
Undersökning | Undersökas manuellt eller någon statisk analysverktyg används | Undersökas genom att ge en uppsättning ingångar, så se om resultatet matchar de förväntade resultaten |
Tid | Testning sker tidigt innan produktutvecklingen ens har börjat | Händer efter att produkten har utvecklats |
Typer av defekter | Saknade krav, Designfel, Syntaxfel, etc. | Variablerna är inte konstanta, kontrollera om utmatningen överensstämmer med de förväntade värdena |
Testtekniker | Informella recensioner, Tekniska recensioner, Walkthrough, Inspection, Static code Review | Unit Testing, Integration Testing, System Testing |
Kompilering | Hitta buggar före kompilering | Hitta buggar efter sammanställning |
Typ | Förebyggande | Bota |
Kosta | Är mer kostnadseffektiv | Är jämförelsevis dyrare |
Skede | Utfört i verifieringsfasen | Utfärdad i valideringsfasen |
Tid | Är mindre tidskrävande | Är mer tidskrävande |
Image Courtesy: qcboss.wordpress.com, guru99.com