Werken in de cloud, ook vaak aangeduid als cloud computing, is via een netwerk gebruikmaken van op aanvraag beschikbaar gestelde hardware, software en gegevens. Dat is een groot verschil met traditionele IT-systemen. Afhankelijk van de clouddienst, worden de IT-systemen of delen daarvan niet in het eigen rekencentrum van de organisatie beheerd. Dat beheer doet de leverancier van clouddiensten.

Software-as-a-Service

Er bestaan verschillende vormen van clouddiensten, maar Software-as-a-Service (SaaS) is in relatie tot testen een belangrijke. Bij SaaS biedt de cloudleverancier applicaties aan via het netwerk (internet). Via een webbrowser kunnen deze applicaties worden gebruikt alsof zij op de eigen pc draaien. Microsoft Office 365 is zo’n SaaS. De gebruiker kan de functionaliteit van Word, Excel en PowerPoint gebruiken, zonder dat deze op de eigen hardware is geïnstalleerd. Voordeel hiervan is, dat deze software onafhankelijk van het systeem van de gebruiker werkt, of dit nu Windows, MacOS of Linux is.

Vooral niet-functionele aspecten

Bij het testen van een SaaS-gebaseerd systeem krijgt de tester, naast functionaliteit, met een aantal vooral niet-functionele aspecten te maken. In onderstaande paragrafen kijken we naar een aantal daarvan.

Beschikbaarheid en continuïteit

De applicatie die je gebruikt, draait op systemen die via het openbare netwerk (internet) met de organisatie zijn verbonden. Dat verhoogt het risico dat door netwerkproblemen de verbinding verbroken wordt. Dit kan als gevolg hebben dat de systemen korte of langere tijd niet beschikbaar zijn en het werk op een afdeling stil komt te liggen. Door de onderbreking kan zelfs verlies van gegevens optreden. Omdat het operationele beheer buiten de eigen organisatie plaatsvindt, volstaat dan meestal niet een telefoontje naar de helpdesk.

Belangrijke tests zijn hier:

  • Resilliance test (veerkracht): de mate waarin het systeem bestand is tegen bepaalde mate van onderbreking.
  • Fail-over test: test waarbij onderzocht wordt wat de impact van een verstoring is op de organisatie.
  • Back-up & restore test: getest wordt of na het terugzetten van een back-up inderdaad de juiste gegevens beschikbaar zijn.

Succesvol verlopen tests tonen aan dat de continuïteit van de organisatie zeker is.

Compatibiliteit

De organisatie hoeft zich geen zorgen te maken over het al dan niet compatibel zijn van systemen die draaien in de cloudomgeving. Dat is een verantwoordelijkheid van de cloudleverancier. Toch is compatibiliteit een belangrijk aspect dat we moeten testen. Die test richt zich op de verschillende browsers die binnen de organisatie worden gebruikt. Op details kunnen deze browsers net niet allemaal hetzelfde werken in combinatie met de clouddienst. Door multi-browsertest controleert de tester of de browsers in gelijke omstandigheden identiek reageren door op alle browsers exact dezelfde test uit te voeren.

Performance, Load & Stress

SaaS-gebaseerde systemen draaien niet op het eigen netwerk. Het kan zelfs zijn dat de systemen ver weg in het buitenland draaien. Die afstand kan van invloed zijn op de prestaties van de clouddienst. De organisatie zal afspraken maken over de responsetijden die acceptabel zijn onder verschillende omstandigheden van gebruik.

Peformance, Load & Stress tests dienen aan te tonen dat de clouddienst volgens afspraak presteert. Van belang zijn hierbij de momenten van piekgebruik zoals bij aanvang van de werkdag en na afloop van de lunch. Een test waarbij alle medewerkers tegelijkertijd van de systemen gebruikmaken, kan goed aantonen of ook de maximaal gewenste performance en load worden gehaald.

Privacy en security

Afhankelijk van de geboden SaaS-dienst kunnen ook de ingevoerde en verwerkte gegevens op de systemen van de cloudleverancier worden opgeslagen. Dan is het van belang om vast te stellen of die gegevens goed tegen ongeoorloofd gebruik zijn beschermd. Daarnaast zijn zeker bij gebruik van clouddiensten de aspecten van Secure Software Development (SSD) van belang. Door middel van securitytests kan worden vastgesteld of de systemen van de cloudleverancier aan de eisen voldoen (zie ook DKTP Cyber Security).

Integratie- en ketentest

Meestal worden niet alle systemen van een organisatie als clouddienst afgenomen. Dat betekent dat ook integratie met de eigen front- of backofficesystemen moet plaatsvinden. Hiertoe moet de tester een aantal keten-integratietests voorbereiden en uitvoeren. Ook bij deze integratie zullen security-aspecten worden getest (zie ook Ketenintegratietest door DKTP).

Maar ook integratie op kleinere schaal is van belang. Een voorbeeld hiervan is het lokaal kunnen printen vanuit de clouddienst. Ook hiervoor zal de tester een aantal tests voorbereiden.

Testen van afspraken

In de bovenstaande paragrafen is een aantal aspecten genoemd die volgen uit contracten en afspraken, die tussen de organisatie en de cloudleverancier zijn opgesteld. Deze afspraken liggen meestal vast in een Service Level Agreement of SLA. Deze SLA vormt de testbasis voor het testen of de clouddienst en de leverancier aan de afspraken voldoen.

Testen om te meten

Over het algemeen testen we om te controleren of een systeem op bepaalde eigenschappen aan de verwachting voldoet. Dat doen we door een uitgangssituatie te bepalen, testacties uit te voeren en te controleren of de status van het systeem daarna aan de voorspelde situatie voldoet. Bij het testen van clouddiensten komt daar soms nog een aspect bij: het meten of de leverancier aan de verplichtingen voldoet. Tests die zich bijvoorbeeld richten op performance en beschikbaarheid, kunnen gedurende de looptijd van het contract gebruikt worden om het nakomen van verplichtingen te meten.

Conclusie

Bij het testen van clouddiensten gaat het om een beperkt aantal testsoorten: de integratie- en acceptatietest. Verder richt het testen zich vooral op de afspraken met de leverancier over het gedrag van de dienst, zoals performance, beschikbaarheid en security. Die niet-functionele aspecten vragen van de testers en testmanager specifieke kennis van die aspecten én van de methoden om die aspecten te testen. Niets is voor de gebruikers frustrerender dan een niet of traag werkend systeem en voor de organisatie als de gegevens onbedoeld publiek beschikbaar komen.

Menu