Geplaatst op 10-08-2010 in Advies
De
ontwikkeling van een applicatie is een ingewikkeld proces, waar de kans
op menselijke fouten en onvolkomenheden altijd aanwezig is. Om de
kwaliteit te waarborgen is het belangrijk deze fouten (bugs) zo snel
mogelijk te signaleren en te verhelpen. Dit wordt bereikt door de applicatie continu te
testen.
Ieder project begint met een functioneel ontwerp, waarin de beoogde applicatie uitgewerkt wordt op papier. Op basis hiervan gaan een programmeur en ontwerper aan de slag om het product te ontwikkelen. Er wordt parallel aan het ontwikkelproces ook een grondig testproces doorlopen door deskundige testers. Hiermee zorgen wij ervoor dat de applicatie bij oplevering optimaal werkt en de kans op fouten tot een minumum beperkt wordt.
Bij de ontwikkeling van een applicatie of website is er onderscheid te maken tussen de interface (dat wat de eindgebruiker op het scherm ziet) en de programmatuur (het deel van de software dat de informatie uit een database haalt, verwerkt en weergeeft in de interface). In beide disciplines kunnen onvolkomenheden optreden en beide moeten dus onderworpen worden aan tests. Hieronder worden de verschillen toegelicht.
Een webapplicatie of website kan in verschillende browsers
worden geopend. Hoewel Internet Explorer (van Microsoft) het meest
gangbaar is, levert deze browser (en de verschillende versies) het
meeste problemen op bij de ontwikkeling van interfaces. Ondanks dat er
een W3C standaard is voor het maken van websites, zitten er
fouten in de browsers die ervoor zorgen dat niet iedere pagina hetzelfde weergegeven wordt.

Een aantal browsers op een rij (Internet Explorer, Mozilla Firefox, Apple Safari, Google Chrome)
Om
ervoor te zorgen dat alle schermen consistent worden weergegeven
(conform het grafisch ontwerp) worden de schermen gecontroleerd in
minimaal 10 verschillende browsers. Yes2web gebruikt hiervoor speciale
teststations waarmee wij in de meestgebruikte moderne browsers en
besturingssystemen kunnen testen.
Deze
procedure geldt niet alleen voor pc gebruikers. Er wordt ook gecontroleerd of
een webapplicatie zijn integriteit behoudt op mobiele apparaten zoals de iPhone en de Blackberry. Waarschijnlijk
worden er ook e-mails verstuurd door de applicatie, in dat geval worden
ook deze templates in 15 verschillende e-mailprogramma’s getest. Onder
e-mailprogramma’s zijn de verschillen in weergave nog groter.
Bij een webapplicatie komen vaak verschillende acties voor, zoals registreren, inloggen, profiel wijzigen, instellingen wijzigen en
webpagina’s doorlopen. Dit zijn maar enkele voorbeelden uit de
honderden acties die een gebruiker vaak zal uitvoeren binnen een
webapplicatie.
Tijdens
het testen van functionaliteiten wordt gekeken of alle functies naar
behoren werken, conform de specificaties in het functioneel ontwerp.
Neem als voorbeeld de registratieprocedure: Een gebruiker kan zich door het
invullen van een formulier aanmelden bij een webapplicatie of -service. Bij het testen kijken wij of het systeem de ingevulde data van
de gebruiker werkelijk opslaat (‘registreert’). Daarna wordt de
registratieprocedure nogmaals doorlopen om te controleren of het systeem
ook dubbele inschrijvingen voorkomt. Ook het invullen van een foutief
e-mailadres wordt in een test-case opgenomen. Voor elke functie binnen
een applicatie wordt een testcase opgezet.
Het handmatig testen van alle functionaliteiten is een tijdrovend proces. Dit wordt daarom geautomatiseerd, zodat periodiek alle testcases razendsnel uitgevoerd kunnen worden en bijvoorbeeld direct na het doorvoeren van een wijziging gecontroleerd kan worden of deze wijziging elders in de applicatie problemen veroorzaakt. Hieronder volgt een korte toelichting op de hiervoor gebruikte applicaties.
Selenium
is een testtool waarmee webapplicaties in iedere moderne webbrowser
getest kunnen worden. Het programma simuleert de interactie met een
website door verschillende commando’s die overeenkomen met menselijke
acties. Denk hierbij aan: klikken, openen, navigeren, vergelijken en bevestigen.
Bij het bouwen van testcases, delen we iedere functionaliteit in kleine stappen in, die automatisch doorlopen worden: Cases. Deze testcases worden vervolgens gebundeld tot een grote test suite en kunnen door een simpel commando automatisch doorgenomen worden. Binnen enkele seconden tot minuten weten wij dan of de applicatie naar verwachting functioneert of dat er wijzigingen gemaakt moeten worden.
Door vaak te testen kan snel zicht worden verkregen op welke onderdelen van een webapplicatie gereed zijn en welke nog afgerond moeten worden. Hiermee kunnen we er zeker van zijn dat de applicatie volledig volgens specificaties opgeleverd wordt. De kans op onverwachte bugs wordt hiermee ook minimaal gehouden en hoeven er geen extra kosten gemaakt te worden om deze te verhelpen.
Dankzij het automatiseren van testen kunnen wij sneller testen zonder verlies van kwaliteit. Een voorbeeld hiervan is het invullen van een uitgebreid webformulier. Een menselijke tester zou gemiddeld 5 minuten per keer bezig zijn met invullen. Dankzij onze tests kunnen wij dit reduceren tot 10 seconden. Aangezien het gemiddelde formulier honderden keren getest wordt, is de besparing aanzienlijk.
Door grondige tests uit te voeren op uw applicatie, wordt de kans op onverwachte fouten zeer klein gehouden. Met onze tests simuleren we verschillende gebruikerscenario’s, waardoor de kans op het ontstaan van onverwachte bugs heel klein wordt. De belangrijkste functionaliteiten oftewel processen worden stapsgewijs doorlopen. Hierdoor krijgen wij snel inzicht in wat gereed is en wat nog afgerond moet worden. Als de applicatie eventueel voor welk reden dan ook gewijzigd moet worden qua functionaliteit, kunnen de tests ook eenvoudig aangepast worden door de generieke opbouw die wij hanteren.
Tijdens de ontwikkeling is het belang van grondig testen evident. Na oplevering van de website zijn de ontwikkelde testcases echter nog steeds waardevol om de applicatie te monitoren. Door regelmatig alle testcases te doorlopen weten we zeker dat alles nog naar behoren functioneert.
Wanneer uw applicatie toe is aan verandering of uitbreiding, bieden de geautomatiseerde tests ook uitkomst. Aanpassingen en uitbreidingen op een systeem kunnen in hele onverwachte (andere) delen van dezelfde applicatie fouten opwekken. Met tests worden deze fouten in een vroeg stadium ondervangen. Dit levert een snellere oplevering van stabielere uitbreidingen.
Hieronder vindt u een tweetal voorbeeldcases van complexe applicaties die door Yes2web zijn ontwikkeld.
Dit is een webapplicatie waarmee de consumenten
een rapport kunnen genereren waarmee inzicht in financiën verkregen wordt.
De applicatie biedt diensten voor verschillende soorten gebruikers. FinanScan biedt meer dan 600 acties die goed moeten functioneren bij
oplevering.
Om die acties telkens handmatig achter elkaar te testen zou een eeuwigheid duren. Yes2web heeft daarom een testomgeving opgezet die elke actie/functie doorloopt en controleert. De tests zijn opgebouwd volgens het functioneel ontwerp om consistentie te houden met het beoogde doel van de applicatie. Na iedere uitbreiding wordt met behulp van de tests in luttele seconden de hele applicatie tegen het licht gehouden.

De website zakelijkenummers.nl is heeft als doel om 0800/0900/088-nummers te verkopen. Het is van essentieel belang dat een potentiële klant vlekkeloos het bestelproces kan doorlopen en zich zonder fouten succesvol als klant kan aanmelden.
De test omgeving is zo ontwikkeld dat het in staat is zelf nummers te genereren om te kijken of deze nog beschikbaar zijn. Met een beschikbaar nummer wordt vervolgens automatisch het bestelproces doorlopen om te controleren of de bestelling correct in alle databases wordt weggeschreven.
Testen is niet alleen de sleutel tot hoogwaardige en betrouwbare software, maar kan ook tot flinke tijdbesparing leiden. Met de enorme wildgroei aan browsers is het daarnaast van groot belang web applicaties in alle actuele versies te controleren. Door Yes2web ontwikkelde applicaties worden uiteraard gedurende het gehele traject getest, maar het is ook mogelijk webapplicaties ontwikkeld door derden te laten testen en monitoren.
Geïnteresseerd? Neem contact op. Benieuwd naar de overige diensten van Yes2web?
« Terug naar Advies