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 86
Abonament PDF

Testare continuă = Testare automată++

Adrian Varga
QA Automation Engineer @ msg systems Romania



TESTARE

Testarea continuă este o sintagmă din ce în ce mai utilizată. Dar oare câți dintre noi știm la ce se referă? Multă lume tinde să o confunde cu testarea automată sau să o considere doar un termen mai evoluat pentru același lucru.

Testarea continuă și testarea automată sunt diferite; dacă veți înțelege diferențele veți fi pregătiți pentru a asigura calitatea aplicațiilor într-o epocă în care testarea tradițională pare să devină irelevantă. Veți fi, de asemenea, pregătiți să faceți trecerea de la rolul reactiv al testării pentru validarea cerințelor la un rol mai proactiv de "inginerie a calității", axat pe protejarea și optimizarea afacerii.

Testarea automată presupune crearea unui artefact menit să testeze o funcționalitate, un caz de utilizare (use case) sau o cerință izolată, conceput pentru a confirma în mod repetat dacă rezultatele reale în anumite puncte de control se potrivesc cu rezultatele așteptate (în funcție de cerința utilizatorului). Testarea automată este efectuată în mod tradițional la nivelul UI prin instrumente de scriere și/sau înregistrare-redare.

Testele de UI necesită constant actualizare pe măsură ce aplicația evoluează. Astfel, dacă aplicațiile se schimbă frecvent, întreținerea testelor devine o sarcină care consumă mult timp. Odată ce sarcinile de întreținere iau amploare, echipele abandonează adesea eforturile de automatizare a testelor și revin la testarea manuală. Puține echipe de testare au reușit să atingă niveluri satisfăcătoare de automatizare a testelor - chiar și în procesele clasice, de tip Waterfall. Cercetarea din industrie arată că nivelul mediu de automatizare a testelor se situează constant în jur de 20% de câțiva ani buni de zile.

Astăzi, schimbările din întreaga industrie necesită mai multă testare, în timp ce automatizarea testării este mai dificil de realizat prin instrumentele și metode tradiționale. Arhitecturile de aplicații sunt din ce în ce mai distribuite și mai complexe, cuprinzând cloud, API-uri, microservicii etc., și creând combinații practic nelimitate de protocoale și tehnologii diferite într-o singură tranzacție. Datorită evoluțiilor din Agile, DevOps și Continuous Delivery, multe aplicații sunt acum lansate și updatate unele o dată la două săptămâni, altele chiar de câteva mii de ori pe zi. Ca urmare, timpul disponibil pentru proiectarea, întreținerea și, în special, pentru execuția testelor, scade dramatic. Acum, când software- ul a devenit interfața primară a afacerii, o eroare a aplicației este un eșec al afacerii, și chiar o scăpare aparent minoră poate avea repercusiuni grave, dacă influențează experiența utilizatorului.

Testarea continuă este procesul de executare a testelor automate, ca parte a procesului de livrare a software-ului, pentru a obține cât mai rapid posibil și continuu feedback cu privire la riscurile de afaceri ale unui potențial candidat pentru lansare în producție (release candidate). Aceste informații pot fi apoi utilizate pentru a determina dacă software-ul este gata să progreseze prin procesul de dezvoltare la un moment dat.

Testarea continuă se concentrează pe riscul afacerii și oferă o perspectivă asupra deciziei de a lansa sau nu release-ul. Pentru a realiza această schimbare, trebuie să încetăm să ne întrebăm: "Am testat suficient?" și, în locul acestei întrebări, să ne concentrăm pe întrebarea: "Are release candidate- ul meu un nivel acceptabil de risc pentru afacere?"

Principalele diferențe dintre testarea continuă și testarea automată pot fi grupate în trei mari categorii: risc, amplitudine și timp.

Businessurile de astăzi nu numai că au expus multe dintre aplicațiile lor interne utilizatorilor finali, dar au dezvoltat, de asemenea, cantități mari de software suplimentar care extinde și completează aceste aplicații. Expunerea la utilizator a mai multor funcționalități inovatoare este acum un diferențiator competitiv, dar, de asemenea, crește numărul, varietatea și complexitatea potențialelor puncte de defectare. "Erorile de software" de scară largă au consecințe atât de grave asupra afacerii încât riscurile legate de aplicații sunt acum componentele proeminente ale rapoartelor financiare ale afacerilor.

Pentru a aborda provocările legate de risc, testerii ar trebui:

Chiar dacă o afacere reușește să evite erori de software de scară largă, care ajung pe prima pagină a ziarelor, chiar și apariția unor greșeli minore poate provoca probleme în zilele noastre. Dacă oricare din părțile experienței utilizatorului nu reușește să-și îndeplinească așteptările, nu numai că riscați să pierdeți acel client în favoarea unui concurent, dar, de asemenea, puteți risca daune de imagine a mărcii, dacă acel utilizator decide să-și expună problemele pe rețelele sociale.

Pentru a răspunde provocările legate de amplitudine, testerii ar trebui:

Acum, când viteza cu care organizațiile livrează software-ul a devenit un diferențiator competitiv, marea majoritate a organizațiilor se îndreaptă spre Agile și DevOps pentru a accelera procesele lor de livrare a software-ului. Acum, când procedurile Agile devin normă, testarea trebuie să înceapă în paralel cu developmentul. Dacă organizația dvs. a adoptat Agile, DevOps și efectuează Continuous Delivery, software-ul poate fi lansat la fiecare oră sau chiar mai frecvent. În acest caz, feedbackul la fiecare etapă a procesului nu poate fi doar "rapid"; trebuie să fie aproape instantaneu.

Pentru a aborda presiunilor legate de timp, testerii ar trebui:

În concluzie, testarea continuă înseamnă mai mult decât testarea automată, este o evoluție, un increment al acesteia (de aici și titlul articolului) care necesită eforturi considerabile și schimbări semnificative. Este important să admitem că în momentul actual nici un instrument sau tehnologie nu oferă instantaneu testarea continuă și că, precum Agile și DevOps, aceasta impune schimbări în rândul oamenilor, proceselor și tehnologiei. Vom aborda instrumentele actuale în articolul următor.

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

Adrian Varga a mai scris