TSM - Testarea în Cloud

Vlad Zeciu - Senior QA Engineer


În ziua de azi toată lumea vorbește despre Cloud, despre cum să ne mutăm activitățile pe Cloud, cum să câștigăm timp folosind avantajele oferite de acesta. Dar până la urmă ce este de fapt acest Cloud și cine are grijă ca totul să meargă bine în interiorul lui?

"Cloudul este un mecanism complex format dintr-o multitudine de servicii software și hardware adaptabile la nevoile clienților".

Serviciile oferite de Cloud se împart în două mari categorii: SaaS și IaaS

În alte variante serviciile oferite de Cloud mai conțin de asemenea PaaS și NaaS:

Câteva din avantajele oferite de Cloud ar fi mobilitatea, viteza, capacitatea de stocare relativ nelimitată, puterea de procesare și memorie cu mult superioare, lipsa grijilor în ceea ce privește mentenanța software și hardware.

Alte avantaje pe care un manager le urmărește în mod particular ar putea fi reducerea cheltuielilor cu licențele software și hardware, dimensionarea costurilor în funcție de nevoi și transformarea costurilor de capital în costuri operaționale.

Cine oferă aceste servicii? În general companiile mari gen HP, Keynote Systems, Advaltis, Compuware, Load Impact, SOASTA, etc. Aceștia se folosesc de serviciile de hardware vândute sau închiriate de Amazon, Google, Microsoft, etc.

Testarea în Cloud

Testarea este o provocare pentru multe proiecte, în special pentru aplicațiile mari unde business-ul și performanța au de suferit condiții "grele" de utilizare. Cantitatea de testcase-uri poate varia de la câteva sute la câteva mii, iar toate acestea necesită resurse semnificative de hardware și timp de execuție. Să nu mai vorbim de numărul mare de resurse umane necesare pentru a putea acoperi aceste nevoi. Cloud-ul vine în întâmpinarea acestor probleme și oferă potențialul de abordare a acestora. Acesta oferă resurse precum virtualizarea hardware-ului în mod eficient, stocare nelimitată și servicii de software și hardware care pot ajuta la reducerea timpului de execuție.

Cu toate aceste avantaje, migrarea în Cloud este o operațiune destul de costisitoare, iar uneori nu este neapărat cea mai bună soluție la toate problemele de testare.

Așadar ce ar trebui luat în considerare înainte să ne mutam testarea în Cloud?

A. Caracteristicile aplicației

Cloud-ul ne poate ajuta atunci când avem nevoie de conexiuni din diferite locații geografice cum ar fi un site de socializare sau video-streaming. Testarea firewall-urilor și load-balancerelor implică cheltuieli hardware, software și întreținerea acestora. În cazul aplicațiilor unde rata de creștere a numărului de utilizatori este imprevizibilă sau unde avem multe medii de deployment, Cloudul se arată din nou mai eficient decât abordarea tradițională.

B. Tipurile de teste pe care dorim să le facem

Dintre cele mai populare activități de testare pe care le putem face în Cloud:

Mutarea în Cloud se face de obicei pentru activități ce țin de testarea performanței și simularea unui trafic cât mai apropiat de realitate, distribuit in locații diverse. Aici, Cloudul se remarcă prin adaptabilitate și rapiditate în ceea ce privește rezultatul final.

Pașii de urmat

Așadar după ce am stabilit că ne mutăm în Cloud cu testarea, care ar fi următorii pașii de făcut?

În prima fază avem de identificat și stabilit care sunt scenariile pe care un utilizator al aplicației le va face. Extragem testcase-urile și trecem la următoarea fază. Aceste două etape sunt sau ar trebui oricum acoperite de la începutul sprintului/proiectului.

Al treilea pas, cel de selecție a Cloud Service Provider-ului, trebuie făcută in concordanta cu specificul aplica si rezultatele pe care dorim să le obținem. De asemenea trebuie ținut cont de serviciile pe care Providerul le furnizează. Lista de Cloud Service Providers fiind una foarte dinamică, trebuie să avem în vedere să nu rămânem în urmă în perioada imediat următoare ținând cont de cerințele și expectanțele pe care noi le avem.

Al patrulea și al cincilea pas, Setup Infrastructure și Leverage Cloud Servers presupun stabilirea hardware-ului necesar rulării testelor, calibrarea și optimizarea serverelor din Cloud ca să corespundă setup-ului de producție în care aplicația noastră va rula.

Evident, începem rularea testelor, monitorizarea și apoi extragerea rezultatelor relevante, a rezultatelor care ne interesează de fapt pe noi.

Flow-ul pare relativ ușor și simplu din schema de mai sus dar totuși ar fi câteva sfaturi pentru o migrare cu succes. Unul dintre acestea este înțelegerea platformei pe care se va muta testarea și a configurației acesteia. Un alt punct de care trebuie ținut cont înainte să ne mutam în Cloud este identificarea tipurilor de testare ce se pretează a fi mutate din interiorul companiei în exterior. Nu toate se pretează sau merită a fi mutate.

Avantajele mutării in Cloud

Dezavantajele mutării in Cloud

Concluzii

Vedem în jurul nostru tot mai multe companii care oferă servicii de Cloud, în special de storage. Avem și companii orientate spre servicii mai specializate cum ar fi testarea. Decizia de a muta testarea în Cloud este până la urmă nu doar o decizie ce ține de factori tehnici ci și o decizie de ordin financiar. Avantajele pe termen scurt pentru o aplicație mare probabil nu vor fi vizibile, dar în timp cu siguranță acestea se vor face simțite, investiția fiind amortizată. Așadar, ne mutăm testarea în Cloud?

Referințe:

http://cloudcomputing.sys-con.com

http://wikipedia.org

http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5463680