your test professionals

clock

Ma - Vr 8.00 - 18:00
Za & Zo gesloten

position pin

Dalsteindreef 2002
1112 XC Diemen

Dynamische systeem analyse bij software testen

Dynamische systeem analyse

Voor het testen van software onderscheiden we 8 verschillende methoden. Elk van deze methoden onthult fouten en bugs in software op een andere manier. Eén van deze testmethoden noemen we de dynamische systeem analyse. Deze methode wordt in de praktijk vaak toegepast. 

In dit artikel leggen we uit wat de dynamische systeemanalyse inhoudt. Ook bespreken we het verschil tussen de dynamische en de statische systeemanalyse. Tenslotte bespreken we twee verschillende soorten dynamische systeemanalyses.

Dynamische systeem analyse

Bij een dynamische systeemanalyse wordt een software systeem getest en geëvalueerd terwijl de software draait. Er wordt dus niet alleen naar de broncode op zich gekeken, maar naar de software als een werkend geheel. Een dynamische systeemanalyse wordt ook wel een “dynamic code scanning” genoemd. 

Omdat de software draait tijdens het testen, is deze methode een goede manier om bugs, geheugenproblemen en crashes die zich voordoen tijdens het runnen van de software op te sporen en op te lossen.

Het verschil met statische analyse

In het vorige artikel op onze blog hebben we de statische analyse besproken. Dit is een testmethode waarbij de broncode van een software systeem wordt getest, zonder dat deze code draait op het moment van testen. Daar zit hem ook gelijk het verschil in met de dynamische systeemanalyse. Bij een dynamische systeemanalyse wordt de broncode namelijk wel uitgevoerd tijdens het testen.

De namen van beide testmethoden verklappen dit verschil ook al. Statisch doet vermoeden dat er geen sprake is van “bewegende” of draaiende software en dynamisch juist wel.

Dynamische expliciete tests en dynamische impliciete tests

Bij dynamische testen onderscheiden we twee verschillende soorten tests: impliciete tests en expliciete tests. Bij een dynamisch expliciete tests worden er voorafgaand aan de test een aantal testcases opgesteld. Ook worden de verwachte uitkomsten van deze testcases bedacht. 

Nadat de testcases en de bijbehorende uitkomsten bedacht zijn, worden de testcases in de software ingevoerd. Bij een software systeem met een user interface kan de testcase via het scherm worden ingevoerd. Dit kan ook geautomatiseerd worden met bepaalde testing tools. Zo kunnen capture and playback tools gebruikt worden om de input van de tester op te nemen en vervolgens volautomatisch te herhalen.

Dit bespaart de tester tijd, aangezien hij of zij slechts één of enkele keren de testcase in de interface hoeft in te voeren om deze vervolgens meerdere malen geautomatiseerd te kunnen herhalen. Bovendien kunnen deze tools de kwaliteit van het testen verhogen. Bij elke menselijke handeling bestaat er een kans op fouten. Dankzij deze tools hoeven er minder menselijke handelingen uitgevoerd te worden, wat de kans op fouten door menselijk handelen verkleint.

Naast de dynamisch expliciete test bestaat er dus ook de zogeheten dynamisch impliciete test. Bij deze test worden er niet van tevoren testcases opgesteld met de bijbehorende verwachte uitkomsten. Er worden wel fouten in de software gevonden, maar dit gebeurt tijdens andere expliciete testen.

Kort samengevat verschillen dynamische testen dus van statische testen in het feit dat er bij een dynamische test wel code wordt uitgevoerd en bij een statische test niet. Dynamische testen kunnen we onderverdelen in expliciete en impliciete testen.

Meer weten? Neem nu contact met ons op.

Vul hier uw gegevens in: