ABONAMENTE VIDEO REDACȚIA
RO
EN
NOU
Numărul 150
Numărul 149 Numărul 148 Numărul 147 Numărul 146 Numărul 145 Numărul 144 Numărul 143 Numărul 142 Numărul 141 Numărul 140 Numărul 139 Numărul 138 Numărul 137 Numărul 136 Numărul 135 Numărul 134 Numărul 133 Numărul 132 Numărul 131 Numărul 130 Numărul 129 Numărul 128 Numărul 127 Numărul 126 Numărul 125 Numărul 124 Numărul 123 Numărul 122 Numărul 121 Numărul 120 Numărul 119 Numărul 118 Numărul 117 Numărul 116 Numărul 115 Numărul 114 Numărul 113 Numărul 112 Numărul 111 Numărul 110 Numărul 109 Numărul 108 Numărul 107 Numărul 106 Numărul 105 Numărul 104 Numărul 103 Numărul 102 Numărul 101 Numărul 100 Numărul 99 Numărul 98 Numărul 97 Numărul 96 Numărul 95 Numărul 94 Numărul 93 Numărul 92 Numărul 91 Numărul 90 Numărul 89 Numărul 88 Numărul 87 Numărul 86 Numărul 85 Numărul 84 Numărul 83 Numărul 82 Numărul 81 Numărul 80 Numărul 79 Numărul 78 Numărul 77 Numărul 76 Numărul 75 Numărul 74 Numărul 73 Numărul 72 Numărul 71 Numărul 70 Numărul 69 Numărul 68 Numărul 67 Numărul 66 Numărul 65 Numărul 64 Numărul 63 Numărul 62 Numărul 61 Numărul 60 Numărul 59 Numărul 58 Numărul 57 Numărul 56 Numărul 55 Numărul 54 Numărul 53 Numărul 52 Numărul 51 Numărul 50 Numărul 49 Numărul 48 Numărul 47 Numărul 46 Numărul 45 Numărul 44 Numărul 43 Numărul 42 Numărul 41 Numărul 40 Numărul 39 Numărul 38 Numărul 37 Numărul 36 Numărul 35 Numărul 34 Numărul 33 Numărul 32 Numărul 31 Numărul 30 Numărul 29 Numărul 28 Numărul 27 Numărul 26 Numărul 25 Numărul 24 Numărul 23 Numărul 22 Numărul 21 Numărul 20 Numărul 19 Numărul 18 Numărul 17 Numărul 16 Numărul 15 Numărul 14 Numărul 13 Numărul 12 Numărul 11 Numărul 10 Numărul 9 Numărul 8 Numărul 7 Numărul 6 Numărul 5 Numărul 4 Numărul 3 Numărul 2 Numărul 1
×
▼ 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

NUMĂRUL 149 - Development with AI

Sponsori

  • Accenture
  • BT Code Crafters
  • Accesa
  • Bosch
  • Betfair
  • MHP
  • BoatyardX
  • .msg systems
  • P3 group
  • Ing Hubs
  • Cognizant Softvision
  • Colors in projects