Cloud computing is een wezenlijke verandering in het realiseren en gebruiken van informatiesystemen. Dit feit is voldoende reden om het fenomeen cloud services te bekijken vanuit testperspectief.
De cloud krijgt vanuit de testgemeenschap weinig aandacht. Dat is best opmerkelijk, want bijna alle organisaties maken de beweging naar de cloud. Onderzoek wijst uit dat veel testers wel degelijk aan het testen zijn in cloudgerelateerde projecten. Denk hierbij aan het testen van mobiele apps die met cloudservices communiceren om hun functionaliteit te kunnen leveren. De cloud confronteert testers met aanvullende (nieuwe) risico’s die op een juiste manier geadresseerd moeten worden.
Cloud computing verandert de rol van de testmanager. Wat opvalt, is een verschuiving en verbreding van de aandacht. Het is zaak om voor, tijdens en na de implementatie betrokken te zijn. Naast het testen van de functionaliteit spelen ook technische eisen en regelgeving een steeds grotere rol. De testmanager moet er ook rekening mee houden dat het gebruik van cloud services een vorm van outsourcing is. Testmanagement zal hierdoor steeds meer tot testregie verworden.
Aanvullende risico’s
Het gebruik van cloud computing brengt zoals aangegeven aanvullende risico’s met zich mee. Door het intensieve gebruik van internet komen risico’s op gebied van security en performance direct naar boven. Het is echter niet gelimiteerd tot deze twee risicogebieden, denk hierbij bijvoorbeeld aan:
- Beschikbaarheid en continuïteit
- Functionaliteit
- Beheerbaarheid
- Wet- en regelgeving
- Leveranciers en uitbesteding
Afhankelijk van de impact worden de risico’s afgedekt met testmaatregelen. Al tijdens de selectie van een service (en de leverancier) is het belangrijk om testspecialisten aan te haken. Zodoende kunnen potentiële risico’s omgevormd worden tot selectiecriteria.
Vervolgens vindt testen plaats tijdens het implementatietraject. Natuurlijk gaat dit voor een aantal zaken nog net als vóór cloud computing. Er zijn aanpassingen aan de traditionele testaanpak nodig en er moeten nieuwe maatregelen voor cloudspecifieke aspecten geïntroduceerd worden. Hoe test je bijvoorbeeld de schaalbaarheid die de cloud biedt? En hoe kun je vaststellen of alle verschillende platformen worden ondersteund? Zo is bijvoorbeeld het aantal verschillende Android-devices van ongeveer vierduizend in 2012 naar twintigduizend in 2014 gegroeid.
End-to-end integratietest
De verbreding van het testvak blijft ook na implementatie van de service zichtbaar. De enige manier om echt te weten te komen of een leverancier zich aan de gemaakte afspraken (sla’s) houdt, is door dit te monitoren. Dit is te bereiken door het inrichten van een frequent uitgevoerde end-to-end integratietest. De essentie van deze test is dat veranderingen opgemerkt worden. Niet alleen veranderingen in de service, maar ook in de volledige keten in samenhang met de onderliggende infrastructuur. Denk aan problemen die kunnen optreden door de introductie van nieuwe protocollen op internet (zoals de invoering van IPv6, die in Nederland nog steeds niet volledig doorgevoerd is).
Cloud computing verbreedt de focus van testen. Zowel ten aanzien van de risico’s als van de fase waarin testen betrokken is. Cloud computing vereist dus een verdere evolutie van het testvak, zowel voor testmanagement als testuitvoering. De impact op testen mag dus niet worden onderschat!