Software QA voor SaaS
Op het eerste gezicht zou software QA (Quality Assurance) voor een SaaS-applicatie niet anders moeten zijn dan voor traditionele oplossingen. We doen tenslotte dezelfde testen als vroeger. Er is een ontwikkelmethode, requirements, releaseplannen, testcases, enzovoort. Wat kan er anders zijn?
Er zijn echter een belangrijke verschillen. Die verschillen kunnen van invloed zijn op de kwaliteit van de applicatie en je geloofwaardigheid. Om dit te begrijpen, moeten we eerst inzien dat SaaS anders is.
Het bovenstaande heeft meer gevolgen voor de Software QA dan je denkt. Hieronder staat een lijst met belangrijke onderwerpen waar SaaS de QA beïnvloed:
SaaS-ontwikkelaars zetten hun software op hun eigen hardware. Een slechte performance verhoogt de operationele kosten en kunnen een faillissement betekenen. QA-teams moeten het gedrag van veel users tegelijkertijd testen en iedere release valideren op schaalbaarheid.
SaaS-applicaties implementeren we achter een eigen firewall. De meeste bedrijfsapplicaties hebben echter sterke behoeften aan koppelingen. Met API’s is meestal voorzien in de integratie met derden. Dit is eigenlijk een verhulde zegen omdat het een eenvoudige interface biedt voor QA om de belangrijkste bedrijfsfunctionaliteit te testen via een eenvoudig te automatiseren interface. QA-teams moeten wel weten hoe ze het SOA-platform het best kunnen testen.
Als SaaS-ontwikkelaar neem je, zowel juridisch als moreel, de verantwoordelijkheid op je voor het veiligstellen van kritieke klantdata. Ieder beveiligingsprobleem kan je bedrijf doen sluiten. Als een QA-team moet je belangrijke web-exploits kennen en testen.
Het SaaS-model is een zegen voor het supportteam. Ze hoeven geen rekening meer te houden met het OS, de servers en de geïnstalleerde software bij de klant. Support ondersteunt alleen de SaaS applicatie in de productie omgeving. De testomgeving moet wel een nauwkeurige replicatie van de productieomgeving zijn, inclusief alle infrastructuur voor load-balancing en clustering.
Als de software voldoet aan de functionele requirements en aan de prestatiecriteria, voldoet het dan ook aan de SLA’s? Hoe garandeer je dat de software zich aan de uptime in SLA blijft voldoen? QA speelt hierin een grote rol en valideert of de software voldoet aan de SLA’s.
QA-managers die voor SaaS-ontwikkelaars werken, moeten rekening houden met de bovenstaande punten bij het maken van een teststrategie voor hun SaaS-toepassing.
Voor de software QA van een SaaS platform geldt dat je verschillende soorten testen moet uitvoeren.
Een overzicht van de verschillende testen:
Net als bij andere applicaties zorgen we ervoor dat de functionaliteit werkt zoals verwacht.
Hiervoor gebruiken we de reguliere testtechnieken zoals:
Je kunt een combinatie van fysieke en virtuele machines inzetten om ervoor te zorgen dat de testers kunnen werken op Windows, Mac en Linux. Dit geldt eveneens voor de browsers: Chrome, IE, Firefox en Safari.
De SaaS applicatie moet grote hoeveelheden gebruikers aan kunnen. Om dit te kunnen testen moet je de systeem zwaar belasten, eventueel met simulators.
Als SaaS provider moet je er voor zorgen dat alle gebruikers met het systeem kunnen werken met goede reactietijden. Dit geldt ongeacht waar ze zich bevinden, hetzij uit de VS, Nederland, India, Argentinië of Australië.
Voor deze test kan je emulators gebruiken. Dit kan je niet 100% vertrouwen en het beste kan je daarvoor een aantal lokale gebruikers zoeken die bereid zijn om een reeks testen uit te voeren en hun resultaten te rapporteren.
SaaS ontwikkelaars zorgen ervoor dat niemand het systeem of platform kan beschadigen (bewust of per ongeluk). Hiervoor test je of zaken als cross-site scripting en andere gaten in de beveiliging zijn geblokkeerd.
Dit is iets waar we bij traditionele applicaties zelden over nadenken: Hoe implementeer je de nieuwe release terwijl het systeem draait. Of, indien nodig, hoe minimaliseer je de downtime voor de gebruikers?
Dit is iets dat systeembeheer moet regelen, maar omdat het gevolgen heeft voor de gebruikers moet je het wel voortdurend testen.
Een SaaS platform wordt meestal internationaal gebruikt. De gebruikers zitten over de hele wereld. Al deze gebruikers moeten een zorgeloze ervaring hebben.
Software QA testen en activiteiten moeten dit waarborgen en moet je daarom voortdurend evalueren. Quality Assurance voor SaaS is niet statisch maar moet Agile meebewegen met de internationale ontwikkelingen. Voortdurend moet je testcases toevoegen of verwijderen. Het belangrijkste is dat je let op de complete end-to-end gebruikerservaring en je niet beperkt tot de functionele testen.
Bottom line blijkt dat men aan Quality Assurance bij SaaS applicatie hogere eisen stelt dan bij traditionele systemen.
Discussieer mee op LinkedIn.
Mogelijk is dit een vertaling van Google Translate en kan fouten bevatten. Klik hier om mee te helpen met het verbeteren van vertalingen.