În zilele noastre testarea automată devine o necesitate, deoarece sistemele cresc tot mai mari și mai complexe. Dat fiind faptul că tehnologia se schimbă, testarea trebuie să se adapteze. Prin urmare, începe cu pași mărunți folosind diferite modalități de abordare la scară mică pentru a vedea ce se potrivește mai bine înainte de a începe să mergi mai departe.
Pentru a avea succes cu testarea automată este nevoie atât de ingeniozitate cât și de perseverență.
Ce factori contribuie la succesul testării automate? Ce factori comuni determină nereușita testării automate?
Nu există răspunsuri universale simple la aceste întrebări, dar câteva elemente comune există. Două dintre ele ar fi problemele de management și arhitectura.
Suport din partea managementului pentru automation - setarea de obiective realiste și furnizarea resurselor necesare pentru dobândirea randamentului investițiilor.
Durata verificării zilnice a mediilor de testare (9 environments) .
manual \~ 30 minute/environment
Identificarea problemelor majore de configurare în doar câteva minute (ex. probleme de deployment, servicii care nu au pornit).
Probleme care nu au fost găsite în urma execuției manuale.
Testerul funcțional are mai mult timp pentru explorare.
Acoperirea funcțională (scenarii de testare).
->2013(regression - executat numai manual) - 4 releases/an
->2015(regression - executat manual + automat) - 8 releases/an
=> CÂȘTIGUL: numărul de release-uri s-a dublat în 2 ani (testarea automată a avut o contribuție pentru aceasta).
Testarea automată este parte din ciclul de dezvoltare (cu livrare continuă).
Echipa independentă, care lucrează Scrum (testeri & developeri).
Mod de lucru definit și documentat.
Pilot - scop: Definirea strategiei prin automatizarea diferitelor părți ale sistemelor.
Etapa 1 - scop: Automatizarea unui subset de teste, prin care se verifică în fiecare dimineață mediile de lucru [\~30 teste].
Etapa 2 - scop: Extensia verificării de dimineață [400+ teste].
Toate mediile de dezvoltare + Integration + Acceptance,
Team City,
Sunt realizate prin efectuare de click-uri pe link-uri și compararea de elemente.
Toate testele sunt independente.
Pot fi rulate pe orice browser.
Testele au la bază pattern-ul A-A-A (arrange-act-assert)
De obicei sunt verificări dacă un element există sau dacă un element conține o anumită valoare.
Testele au la bază pattern-ul A-A-A (arrange-act-assert) .
Toate testele sunt independente.
Dezvoltarea testelor automate necesită aceeași disciplină ca și dezvoltarea soft-ului.
Experimentarea unei probleme poate să fie cea mai bună modalitate de a găsi o soluție mai bună.
Fără suport din partea programatorilor, testarea automată poate fi mai dificilă.
Review-urile sunt benefice nu doar din punct de vedere tehnic, dar și din punct de vedere al share-ingului de idei și brainstorming.
Testele automate trebuie să fie accesibile și ușor de citit de către oricine și ar trebui să permită executarea lor în mod manual.
Dacă înveți din greșeli, atunci nu ai eșuat total. Orice eșec sau greșeală devine o sursă de informație care poate fi împărtășită.
Documentează costurile și beneficiile testări automate pentru a putea evidenția investiția făcută în testarea automată.