logo_newTocmai ti-ai sustinut propunerea legata de testarea automatizata in fata managerilor tai si ea a fost acceptata. In mod surprinzator, au fost impresionati de modul in care strategia ta poate sa mareasca ritmul testarii. Sau, fiind convinsi de beneficiile testarii automatizate, te-au rugat sa pui in practica acest proces. In orice caz acum ai un proiect pe care trebuie sa il pui in practica si o serie de deadlineuri.

Obiectivul automatizarii este sa simplifice cat mai mult procesul de testare cu un nivel scazut de efort. Valoarea acestui proces tine de faptul ca perioada de timp necesara pentru automatizare este mai mica decat timpul economisit cu ajutorul acestui proces. Presupunerea este ca nu ai un numar infinit de resurse si timp pentru a produce rezultate vizibile.

Acest lucru arata cat de important este sa dezvolti o strategie potrivita de automatizare. Aspecte precum complexitatea proiectului, metodologiile folosite, tehnologia, dimensiunea si impartirea geografica a echipei sunt provocari care afecteaza implementarea unui proces de automatizare.

Chiar daca nu exista o strategie 100% sigura exista o serie de factori care pot creste rata de succes pentru un asemenea proces.

Impactul metodologiilor in procesul de automatizare

Atunci cand folosesti Agile, este incurajata descoperirea problemelor cat mai devreme. Dezvoltarea, pe de o parte, si integrarea si performanta pe de alta parte, trebuie sa fie executate simultan. In primul rand, este important sa automatizezi aspecte legate de functionalitate care sunt critice pentru business si sunt utilizate intens. Din punct de vedere al criteriilor pentru teste, modelul Low Hanging Fruit poate fi utilizat pentru a genera un impuls initial – pentru a face vizibile rezultatele pozitive – sau pentru a creste ritmul de lucru al echipei de automatizare. Insa acest aspect este vazut ca un anti-model pe termen lung. Un alt lucru pe care trebuie sa il avem in vedere atunci cand folosim Agile este ca procesul de automatizare va functiona o perioada cu anumite greseli pana cand ele sunt rezolvate.

Cu Waterfall, testarea este asociata cu un nivel ridicat de efort catre finalul proiectului. Aceasta metoda nu este predictibila cu privire la ce se intampla dupa perioada de testare (lansare sau esec) si din ce in ce mai multe persoane renunta la ea. Insa, din punctul de vedere al unui inginer de automatizare, metoda Waterfall ofera anumite beneficii, printre care se numara posibilitatea de selecta testele la inceputul procesului de dezvoltare.

Tehnologia

Selectarea instrumentelor corecte pentru automatizare implica evaluarea unor criterii diferite pentru fiecare metodologie de dezvoltare. In Agile, daca un instrument gratuit satisface nevoile de testare atunci poate sa fie adoptat de intreaga echipa. Invers, daca este nevoie de resurse financiare destul de mari pentru a achizitiona anumite instrumente atunci nu toata echipa va avea acces la ele.

Pe masura ce proiectul creste, o parte din echipa va realiza probabil ca instrumentele de testare gratuite au anumite limitari si vor descoperi anumite oportunitati de a imbunatati rezultatul schimband anumiti parametri. Programele de tip open source sunt mai usor de personalizat si s-ar putea sa fie o alegere mai buna in special atunci cand proiectul tau foloseste tehnologii noi care sunt in faza de beta si nu exista instrumente de testare pentru ele.

Stabilitatea aplicatiei si ciclul de viata

Cerintele si stabilitatea aplicatiei sunt doi factori care pot influenta efortul de automatizare si revizie. Din moment ce acesti factori nu se afla sub controlul inginerului, ele pot fi diminuate alegand ce si cand sa automatizezi. Un indicator bun aici este momentul in care echipa de dezvoltare incepe procesul de constructie – in acest moment cerintele ar trebui sa fie destul de sigure. Stabilitatea aplicatiei este un factor mai greu de controlat. Din nou, atunci cand este posibil, amanarea procesului pana cand functiile aplicatiei pot sa fie exersate manual este o abordare buna. Un efort minim de revizie si mentenanta este un factor cheie in strategia de automatizare.

Deciziile de automatizare pot sa varieze in functie de etapa ciclului de viata al aplicatiei. Este util sa impartim criteriile de selectie in 3 categorii principale:

Impactul asupra proiectului

Un alt factor cheie este complexitatea. Este preferabil sa automatizezi un set de teste bine echilibrate intre complex, complexitate medie si scenarii simple. De asemenea selectia trebuie facuta cu scopul de a creste ritmul testarii. Identificarea acelor teste care consuma cel mai mult timp si automatizarea lor va avea un efect pozitiv asupra ciclului de testare. Inceperea procesului de automatizare cu cele mai mici sau mai rapide teste nu este util.

In cele din urma, nu toti factorii pot fi luati in considerare cand se iau decizii legate de automatizare. Fiecare aspect poate avea un anumit impact in functie de context. Principalul obiectiv pe care trebuie sa il avem in vedere este sa alegem o strategie de automatizare care sa aiba un impact vizibil si puternic asupra proiectului.