Cadrul de automatizare a testelor agile
⚡ Rezumat inteligent
Automatizarea testelor Agile aplică verificări automate în cadrul unor sprinturi scurte, unde cerințele se schimbă săptămânal, iar o suită construită pentru o versiune stabilă în cascadă devine rapid o povară de întreținere, mai degrabă decât o plasă de siguranță.
Testare de automatizare agilă
Testarea automatizării agile este practica utilizării automatizării testelor în cadrul unui proces de livrare Agile. Scopul său este de a face dezvoltarea de software mai eficientă și mai eficace, protejând în același timp calitatea și controlând timpul și resursele consumate de o versiune. Deoarece testele sunt scrise odată cu munca de funcționalitate, practica depinde în mare măsură de coordonarea dintre dezvoltatori și testeri.
Încă de când metodologia Agile și-a propus să elimine realitățile laborioase ale modelului waterfall, influența sa s-a resimțit în testarea automatizării Cele două discipline trebuie combinate în mod deliberat:
Automatizare în Waterfall vs. automatizare în Agile
Într-un ciclu de viață tradițional de testare a software-ului, testarea automatizată devine fezabilă odată ce aplicația este stabil și cerințele sunt stabilitePresupune o o perioadă considerabilă de timp, specialiști în automatizare cu înaltă calificare și un cost de configurare vizibil. Scopul principal este de a reduce costurile pe termen lung și de a confirma că nu au fost introduse defecte noi în jurul cazurilor de testare existente.
Testarea automată nu este exploratorie prin natura sa, deoarece rolul său principal este de a economisi timp și de a reduce costurile. Nu este conceput pentru a scoate la iveală defecte noi și inovatoare. Testarea automată confirmă în mare parte comportamentul care există deja.
Prin urmare, cele două setări impun cerințe foarte diferite unei suite de teste:
| Factor | Automatizare în cascadă | Automatizare în Agile |
|---|---|---|
| Starea aplicației | Stabil și semnat înainte de începerea scriptării | Schimbarea fiecărui sprint, adesea în timpul scriptării |
| Timp disponibil | O fază dedicată de automatizare | Orice se încadrează într-un sprint de una până la patru săptămâni |
| Cine scrie scenarii | O echipă separată de specialiști în automatizare | Echipa de livrare, testerii și dezvoltatorii împreună |
| Scopul principal | Reducerea costurilor pe termen lung într-o suită extinsă de regresii | Feedback rapid asupra incrementului tocmai construit |
| Risc de întreținere | Scăzut, deoarece cerințele se modifică lent | Ridicat, deoarece cerințele se schimbă constant |
Cum să automatizezi în metodologia Agile
Prin definiția sa, metodologia Agile elimină documentația plictisitoare, astfel încât ideile noi să poată fi implementate rapid, iar oamenii să poată interacționa liber. Aceasta favorizează munca exploratorie în detrimentul hârțogăriei:
Există o contradicție reală între filozofiile fundamentale ale metodologiei Agile și testarea automată. Echipele Agile o rezolvă prin restrângerea a ceea ce automatizează, în loc să automatizeze mai puțin: verificările sunt scrise în același sprint ca și funcționalitatea, împinse la nivelul unității și API-ului, unde sunt cel mai ieftin de întreținut, și rulează la fiecare compilare.
Puncte fundamentale pentru automatizarea agilă a testelor
Înainte de a automatiza capacitatea unui sprint, cântărește punctele care decid dacă un script poate fi finalizat:
- Timp de proiectare și codare: Fiecare script trebuie conceput, codificat și revizuit ca și codul de producție.
- Validare în funcție de datele de testare: Scriptul finalizat trebuie validat cu datele de testare existente înainte ca cineva să poată avea încredere în el.
- Scopul testului: Testele funcționale și cele de regresie au costuri de întreținere diferite și durate de valabilitate diferite.
- Sprint lungime: Un sprint durează între una și patru săptămâni, cel mai frecvent două, ceea ce rareori lasă loc pentru un efort mare de scriptare.
Un al doilea factor este schimbarea cerințelor. Agile este, prin definiție, o tehnică de răspuns la schimbările determinate de client, așadar se pretează la ajustări frecvente pe parcursul dezvoltării.
Testarea automatizată, în schimb, este cea mai utilă în cazul unor cerințe stabile. Nu se pretează bine la fluctuația constantă a unei metodologii Agile, motiv pentru care alegerea a ceea ce se automatizează are o pondere mai mare decât cantitatea de lucru automatizată.
Instrumente de automatizare agile
Selectarea unui aspect relevant instrument de automatizare este un alt factor important în adoptarea testării automate în cadrul unei metodologii Agile. Instrumentele de automatizare licențiate, de exemplu, impun criterii stricte de acces de securitate pentru diferite tipuri și niveluri de utilizatori, ceea ce limitează cine poate accesa resursele aparținând cadrului de automatizare a testării respective.
Metodologia agilă, prin contrast, pune accentul pe colaborarea deschisă și interacțiunea nelimitată între membrii echipei. Politicile de acces restrictiv acționează împotriva acestei coeziuni și pot produce rezultate care nu sunt nici utile, nici propice succesului proiectului.
Prioritatea este de a livra scripturi de automatizare de calitate în timpul permis de un proces Agile. Alegeți cu atenție cazurile de testare candidate, astfel încât scripturile rezultate să poată fi reutilizate ulterior și totuși finalizate în timpul alocat.
Chiar și într-un cadru Agile, unele teste trebuie încă acoperite - în special testele de regresie. Următoarea secțiune analizează situațiile în care testarea automată se potrivește și modul în care fiecare se corelează cu testarea Agile.
Testarea automatizării Concepts Când este aplicat în Agile
Tabelul de mai jos ia cele șapte condiții clasice care justifică automatizarea unui test și oferă răspunsul Agile pentru fiecare. Doar trei se traduc clar într-un sprint Agile, iar toate trei au formă de regresie:
| # | Conceptul de testare automată | Răspunsul metodologiei Agile |
|---|---|---|
| 1 | Testul trebuie repetat des. | Aici intervine conceptul de testare de regresie. |
| 2 | Fluxul de lucru al testului și validarea acestuia evoluează și se schimbă lent în timp. | Nu este util pentru testarea Agile, deoarece testarea Agile implică modificări frecvente ale cerințelor. |
| 3 | Testul validează un proces de afaceri sau un flux de lucru, mai degrabă decât aspectul, culoarea sau aspectul tabelului. | Acest scenariu poate fi considerat ca fiind implicat în testarea manuală. |
| 4 | Testul produce rezultate pentru un organism de reglementare care solicită ca aceste rezultate să fie înregistrate electronic și arhivate ca dovadă formală a conformității. | Nu este potrivit pentru metodologia Agile, deoarece un nivel exhaustiv de documentație nu face parte din metodologia Agile. |
| 5 | Testul este foarte repetitiv sau are mulți pași care trebuie efectuați exact la fel de fiecare dată, ceea ce face necesară evitarea oboselii testerului manual. | Nu este potrivit pentru metodologia Agile. |
| 6 | Rezultatul testului (acceptat sau respins) este destul de ușor de determinat și de înregistrat cu instrumentul de automatizare selectat. | Potrivit pentru acele teste de regresie din timpul testării Agile care necesită abilități repetitive și laborioase. |
| 7 | Testul trebuie să introducă o cantitate semnificativă de date în aplicație. | Poate fi încorporat ca testare de regresie. |

.jpg)


