ABONAMENTE VIDEO REDACȚIA
RO
EN
×
▼ LISTĂ EDIȚII ▼
Numărul 11
Abonament PDF

Testarea în Cloud

Vlad Zeciu
Senior QA Engineer
@Small Footprint
DIVERSE


Î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

  • SaaS - Software as a Service: adică închirierea de licențe software (pe bază de abonament). Mai exact, SaaS reprezintă o metodă de a furniza acces la licențe software și funcționalităților acestora printr-un serviciu Web-based. Folosirea acestei metode duce la eliminarea nevoi de a instala și rula aplicația local ceea ce va duce la ușurarea mentenanței și a suportului. Exemple de SaaS: CMS, CRM, Email, Virtual Desktop, Communications, Games, etc
  • IaaS - Infrastructure as a Service: reprezintă închirierea de resurse hardware (spațiu de stocare, memorie și procesor). Acestea similar cu SaaS, odată externalizate vor aduce o relaxare a mentenanței și a suportului pe local, focusul putând mutat spre alte detalii. Exemple de IaaS: Virtual Machines, Servers, Storage, Load Balancers, Network, etc.

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

  • PaaS - Platform as a Service: închirierea de platforme complete pentru development ce includ sistemele de operare, mediile de programare, bazele de date și web-serverele
  • NaaS - Network as a Service: închirierea rețelei, serviciilor de interconectare, VPN, optimizarea resurselor alocate, şamd.

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:

  • Stress Testing
  • Load Testing
  • Performance Testing
  • Functional Testing
  • Compatibility Testing
  • Browser Performance Testing
  • Latency Testing

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

  • Costuri reduse odată mutați în Cloud; scăpăm de grija întreținerii unui Cloud privat atât din punct de vedere a resurselor hardware cât și a resurselor umane implicate în acest scop.
  • Spațiu de stocare foarte mare și accesibil de oriunde; de pe device-uri mobile dar și PC-uri
  • Rularea de teste automatizate ce au fost inițial înregistrate și verificate local;
  • Flexibilitatea la schimbarea sistemelor de operare, browser-elor;
  • Mobilitate mare pentru departamentul de testare, acolo unde acesta este distribuit în mai multe locații; aici testarea va avea un mare avantaj, timpul petrecut în sincronizarea environment-urilor de test scade la minim.
  • Relaxare în ceea ce privește mentenanța serverelor de test pentru că trecând pe Cloud, aceasta grija se externalizează și ea

Dezavantajele mutării in Cloud

  • Configurația inițială presupune niște costuri pentru mutarea testelor și adaptarea acestora la environmentul nou pe care Cloud-ul le are. De aici se pleacă de obicei în luarea unei decizii dacă merită schimbat modul de testare curent sau nu;
  • Securitatea de asemenea poate reprezenta încă o problemă pentru anumite tipuri de aplicații;
  • Rezultate diferite provenite din același testcase datorate schimbării performanței environmentului pe care providerul de servicii le poate avea;

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

LANSAREA NUMĂRULUI 87

Prezentări articole și
Panel: Project management

Marți, 24 Septembrie, ora 18:00
Impact Hub, București

Înregistrează-te

Facebook Meetup

Conferință

Sponsori

  • ntt data
  • 3PillarGlobal
  • Betfair
  • Telenav
  • Accenture
  • Siemens
  • Bosch
  • FlowTraders
  • MHP
  • Connatix
  • UIPatj
  • MetroSystems
  • Globant
  • Colors in projects