7. Testen
Het build proces
Als de programma code volledig is en er staan geen “syntax”-fouten meer in dan kan je het project laten “builden”.
Dit “build” proces houdt in dat de broncode wordt gecompileerd volgens de gebruikte programmeertaal. Het resultaat is dan een uitvoerbaar programma of een tussentijdse vertaling van de broncode (intermediate language).
De ontwikkelomgeving gaat de tussentijdse vertaling samenvoegen met code uit de gebruikte noodzakelijke bibliotheken.
Aan het einde van het build proces kan je de applicatie uitvoeren.
Android Studio produceert een *.apk bestand dat kan geïnstalleerd worden op een tablet of smartphone met het besturingssysteem Android.
Visual Studio produceert een *.exe bestand dat kan uitgevoerd worden op een laptop of PC met het besturingssysteem Windows.
Nota: sommige programmeertalen worden geïnterpreteerd wat betekent dat de programmaregels direct worden vertaald en uitgevoerd.
Debuggen
In een IDE (Integrated Development Environment) zijn de nodige voorzieningen getroffen om de programmacode te testen op fouten (in de “Debug” menu-ingang).
Door in de programma code “breakpoints” te plaatsen kan je de uitvoering van het programma tijdelijk onderbreken om de inhoud van de variabelen en opslagstructuren te controleren.
Je kan daarna (of van in het begin) stapsgewijs verder door het programma gaan en daarbij stukken code binnengaan (“step into”). Bij een functie aanroep kan je beslissen om de regels van de functie één voor één te laten uitvoeren om eventuele logische fouten op te sporen.
Je kan ook beslissen om de functie in zijn geheel te laten uitvoeren (“step over”). Als je merkt dat er geen fouten aanwezig zijn bij het uitvoeren van enkele regels van de functie dan kan je uit de functie stappen (“step out”).
In het onderstaande voorbeeld wordt het Debug panel van Android Studio getoond tijdens een debug sessie. De inhoud van enkele variabelen wordt getoond.
Loggen
Tijdens het uitvoeren van een programma in de ontwikkelomgeving wordt er ook een log-bestand bijgehouden van alle operaties die uitgevoerd werden. Men spreekt hier van een “trace” of “backtrace” waarmee men wil aangeven dat je in de lijst terug kunt gaan naar de vorige stappen die werden uitgevoerd.
In Android Studio wordt hiervoor het “Logcat” venster gebruikt. In dit venster verschijnen ook de “run-time” fouten. Dit zijn onvoorziene fouten die optreden bij de uitvoering van het programma. Hierdoor stopt het programma en wordt er bv. op het Android apparaat een foutmelding getoond.
In het onderstaande voorbeeld is het programma gestopt omdat er een “String resource ID” niet werd gevonden (“ResourcesNotFoundException”).
Testmodules schrijven
Tijdens de uitvoering van een programma kan je tussentijdse inhoud van variabelen op het scherm tonen bv. in PHP met het “echo” of “var_dump” commando, in java voor Android met het “Toast” object, in C# (Visual Studio) met een “MessageBox.Show()” instructie.
In grote projecten wordt hier handig gebruik van gemaakt. Men schrijft dan speciale testmodules of test programma’s die de inhoud van de variabelen tonen in de verschillende omstandigheden die in het te testen programma zijn voorzien.
Door in het testprogramma variabelen een verschillende waarde te geven kan men nagaan hoe het te testen programma reageert op deze waarden. Men kiest bv. waarden die toegelaten zijn en waarden die niet toegelaten zijn.
Als men het bereik van een numerieke variabele wil testen zal men de hoogste en de laagste waarden invullen en het testprogramma laten lopen.