Ce este testarea de regresie?
๐ Rezumat inteligent
Testarea de regresie este un tip de testare software efectuatฤ pentru a confirma cฤ modificฤrile sau actualizฤrile recente nu au afectat negativ funcศiile existente. Acest proces reia cazurile de testare executate anterior pentru a se asigura cฤ funcศiile principale ale software-ului continuฤ sฤ funcศioneze conform aศteptฤrilor dupฤ orice modificฤri de cod, remedieri de erori sau adฤugฤri de noi funcศionalitฤศi.
Ce este testarea de regresie?
Testarea regresiei este definit ca un tip de testare software pentru a confirma cฤ un program recent sau o modificare a codului nu a afectat negativ caracteristicile existente. De asemenea, putem spune cฤ nu este altceva decรขt o selecศie completฤ sau parศialฤ a cazurilor de testare deja executate care sunt re-executate pentru a ne asigura cฤ funcศionalitฤศile existente funcศioneazฤ bine.
Acest tip de testare se face pentru a se asigura cฤ noile modificฤri ale codului nu au efecte secundare asupra funcศionalitฤศilor existente. Se asigurฤ cฤ vechiul cod รฎncฤ funcศioneazฤ odatฤ ce sunt efectuate cele mai recente modificฤri ale codului.
๐ รnscrie-te pentru proiectul gratuit de testare a regresiei live
De ce testarea regresiei?
Procesul de testare de regresie este esenศial รฎn domeniul de aplicare a testฤrii. Deoarece poate identifica dacฤ modificฤrile sau รฎmbunฤtฤศirile codului introduc noi defecte sau perturbฤ testele funcศionale existente.
Fฤrฤ un proces de testare de regresie, chiar ศi modificฤri minore ale codului pot avea ศansa de a duce la erori costisitoare. Prin urmare, este o practicฤ sistematicฤ pentru a ajuta la menศinerea calitฤศii software-ului. Aceastฤ metodฤ ajutฤ la prevenirea reapariศiei problemelor cunoscute ศi sporeศte รฎncrederea รฎn software.
Cรขnd putem efectua teste de regresie?
Iatฤ scenariile รฎn care puteศi aplica procesul de testare de regresie.
Noua funcศionalitate este adฤugatฤ aplicaศiei: Acest lucru se รฎntรขmplฤ atunci cรขnd sunt create funcศii sau module noi รฎntr-o aplicaศie sau un site web. Regresia este efectuatฤ pentru a vedea dacฤ funcศiile existente funcศioneazฤ ca de obicei odatฤ cu introducerea noii caracteristici.
รn cazul necesitฤศii de modificare: Cรขnd are loc orice schimbare semnificativฤ รฎn sistem, se utilizeazฤ testarea de regresie. Acest test este efectuat pentru a verifica dacฤ aceste schimbฤri au afectat funcศiile care erau acolo.
Dupฤ remedierea unui defect: Dezvoltatorii efectueazฤ teste de regresie dupฤ remedierea unei erori รฎn orice funcศionalitate. Acest lucru se face pentru a determina dacฤ modificฤrile fฤcute รฎn timpul remedierii erorii au afectat alte caracteristici existente conexe.
Odatฤ ce problema de performanศฤ este remediatฤ: Dupฤ remedierea oricฤror probleme de performanศฤ, procesul de testare de regresie este declanศat pentru a vedea dacฤ a afectat alte teste funcศionale existente.
รn timpul integrฤrii cu un nou sistem extern: Procesul de testare de regresie end-to-end este necesar ori de cรขte ori produsul se integreazฤ cu un nou sistem extern.
Cum se face testarea de regresie รฎn testarea software-ului
Dupฤ cum am discutat anterior, testarea de regresie este declanศatฤ pe baza oricฤrei modificฤri aduse software-ului. Poate fi o remediere a erorilor, integrarea de noi funcศii ศi aศa mai departe. Ori de cรขte ori are loc o astfel de muncฤ, echipa QA realizeazฤ urmฤtoarele activitฤศi prezentate mai jos. Aceste sarcini sunt efectuate รฎnainte de a รฎncepe ciclul de execuศie a testului de regresie.
- Discutaศi cu echipa de dezvoltare despre modulele ศi bibliotecile specifice care au fost atinse รฎn timpul schimbฤrii
- Discutaศi cu proprietarul produsului despre modificarea noii caracteristici ศi aflaศi cum aceasta trece sau afecteazฤ alte funcศionalitฤศi.
- Identificaศi testele din suita de teste existentฤ pe care testerii trebuie sฤ le execute pentru a regresa caracteristicile existente.
Pot fi efectuate diferite tehnici de testare a regresiei pentru asigurarea eficientฤ a calitฤศii software-ului:
Retestaศi toate
Aceasta este una dintre metodele pentru testarea regresiei, รฎn special utilizรขnd o suitฤ de testare a regresiei. รn acest caz, toate testele din grupul sau suita de teste existente ar trebui reexecutate. Aceasta este o metodฤ costisitoare, deoarece necesitฤ mult timp ศi resurse.
Selectarea testului de regresie
Selecศia testului de regresie este o tehnicฤ รฎn care sunt executate unele cazuri de testare selectate dintr-o suitฤ de teste. Ajutฤ la testarea dacฤ codul modificat afecteazฤ aplicaศia software sau nu. Aici, cazurile de testare sunt clasificate รฎn douฤ pฤrศi. Cazurile de testare reutilizabile pot fi utilizate รฎn cicluri de regresie ulterioare, รฎn timp ce cazurile de testare รฎnvechite nu pot fi utilizate รฎn ciclurile urmฤtoare.
Prioritizarea cazurilor de testare
Prioritizarea cazurilor de testare depinde de impactul asupra afacerii, de criticitate ศi de testele funcศionale utilizate frecvent. De asemenea, prioritizarea cazurilor de testare pe baza prioritฤศii reduce foarte mult efortul de executare a testelor de regresie.
Selectarea cazurilor de testare pentru testarea regresiei
Din datele din industrie s-a constatat cฤ un numฤr mare de defecte raportate de clienศi s-au datorat remedierii erorilor de ultimฤ orฤ. Acest lucru a dus la efecte secundare, prin urmare, selectarea Cazuri de testare pentru testarea regresiei nu este o sarcinฤ uศoarฤ.
O suitฤ eficientฤ de teste de regresie poate fi creatฤ prin selectarea urmฤtoarelor tipuri de cazuri de testare -
- Cazuri de testare de la funcศionalitฤศi/module care au defecte frecvente.
- Funcศionalitฤศi care sunt mai vizibile pentru utilizatori
- Cazuri de testare care verificฤ caracteristicile de bazฤ ale produsului
- Testaศi cazuri de funcศionalitฤศi care au suferit modificฤri mai recente.
- Toate cazurile de testare a integrฤrii
- Toate cazurile de testare complexe
- Cazuri de testare a valorii limitฤ
- Calea fericitฤ selectatฤ ศi cazuri de testare negative
Instrumente de testare a regresiei
Dacฤ software-ul dumneavoastrฤ suferฤ modificฤri frecvente, costurile de testare de regresie vor creศte. Deoarece execuศia manualฤ a cazurilor de testare creศte timpul de execuศie a testului, precum ศi costurile. Automatizarea cazurilor de testare de regresie este alegerea inteligentฤ รฎn astfel de cazuri. Amploarea automatizฤrii depinde de numฤrul de cazuri de testare care rฤmรขn reutilizabile pentru cicluri de regresie succesive.
Urmฤtoarele sunt cele mai importante instrumente utilizate atรขt pentru automatizarea testelor funcศionale, cรขt ศi a celor de regresie รฎn ingineria software:
1) testRigor
testRigor vฤ ajutฤ sฤ exprimaศi direct testele ca specificaศii executabile รฎn limba englezฤ simplฤ. Utilizatorii cu toate abilitฤศile tehnice pot construi teste end-to-end de orice complexitate, acoperind paศii de pe mobil, web ศi API. Paศii de testare sunt exprimaศi la nivelul utilizatorului final รฎn loc sฤ se bazeze pe detalii de implementare, cum ar fi XPaths sau CSS Selectori.
Caracteristici:
- Versiune publicฤ gratuitฤ pentru totdeauna
- Testele sunt รฎn englezฤ
- Utilizatori nelimitaศi ศi teste nelimitate
- Cel mai simplu mod de a รฎnvฤศa automatizarea
- Recorder pentru paศi web
- Integrari cu CI/CD ศi managementul cazurilor de testare
- Testare e-mail ศi SMS
- Web + Mobil + paศi API รฎntr-un singur test
Selenium: Selenium este cel mai folosit instrument open-source folosit pentru automatizarea aplicaศiilor web. Selenium poate fi folosit pentru testarea regresiei bazatฤ pe browser. Acceptฤ limbaje de programare precum Java, Ruby, Python, Etc
Test rapid profesional (QTP): HP Quick Test Professional este un software automat conceput pentru a automatiza cazurile de testare funcศionale ศi de regresie. Foloseศte limbajul VB Script pentru automatizare. Este un instrument bazat pe date, bazat pe cuvinte cheie.
Tester funcศional raศional (RFT): IBMTesterul funcศional raศional al lui este a Java instrument utilizat pentru automatizarea cazurilor de testare a aplicaศiilor software. Acesta este folosit รฎn principal pentru automatizarea cazurilor de testare de regresie ศi se integreazฤ ศi cu Rational Test Manager.
Tipuri de testare de regresie
Iatฤ diferitele tipuri de teste de regresie:
1) Testarea regresiei unitare (URT)
Aceasta este o abordare foarte concentratฤ รฎn care doar secศiunea modificatฤ trece sub testul de regresie รฎn loc de regiunea de impact. รn acest fel, celelalte porศiuni ale modulului rฤmรขn neafectate.
Exemplu
Ca de exemplu, รฎn versiunea 1, a fost gฤsitฤ o problemฤ ศi a fost raportatฤ dezvoltatorului.
Sฤ presupunem cฤ a fost o eroare รฎn funcศionalitatea de conectare. Deci, dezvoltatorul o remediazฤ, adaugฤ remedierea erorilor รฎn Build 2 ศi o trimite. Echipa de testare verificฤ numai dacฤ funcศia de conectare funcศioneazฤ conform aศteptฤrilor, รฎn loc sฤ verifice alte funcศii.
2) Testarea regresiei regionale (RRT)
รn testarea regresiei regionale, sunt testate zonele de modificare ศi impact. Aceastฤ zonฤ este examinatฤ pentru a afla dacฤ vreun modul de รฎncredere ar putea fi afectat de modificฤri.
Exemplu: รn acest exemplu, รฎn prima versiune, modulele A, B, C ศi D sunt trimise pentru testare de cฤtre dezvoltator. Testerul gฤseศte erori รฎn modulul B, aศa cฤ aplicaศia este returnatฤ dezvoltatorului pentru a remedia erorile.
Odatฤ ce dezvoltatorul remediazฤ erorile din a doua versiune din modulul B, acesta este trimis din nou inginerului de testare. Inginerul de testare aflฤ cฤ modulul de fixare B a afectat A ศi C.
Prin urmare, testerul verificฤ modificฤrile modulului B รฎn a doua versiune. Apoi, testeazฤ ศi regiunile de impact din A ศi C pentru a identifica modul รฎn care au fost afectate.
Notฤ: รn timpul testฤrii de regresie, existฤ o posibilฤ problemฤ care poate apฤrea aceastฤ problemฤ de mai jos.
Problemฤ:
- รn versiunea 1, clienศii solicitฤ de obicei modificฤri, modificฤri ศi caracteristici adฤugate.
- Aceastฤ solicitare este apoi trimisฤ atรขt echipei de dezvoltare, cรขt ศi echipelor de testare.
- Echipa de dezvoltare face apoi modificฤrile. Apoi, inginerul de testare trimite un e-mail clientului, informรขndu-l despre zonele pe care modificarea le va afecta.
- Apoi, conducฤtorul de testare adunฤ lista zonelor afectate de la client, dezvoltatori ศi departamentul de testare.
- Lista de impact este apoi trimisฤ inginerilor de testare, care รฎncep testarea regresiei.
Acest tip de metodฤ de testare creeazฤ lacune de comunicare. Dezvoltatorii ศi clienศii nu pot reveni รฎntotdeauna la e-mailuri; prin urmare, nu existฤ o imagine de ansamblu adecvatฤ a zonei de impact.
Soluลฃie: Pentru a elimina acest tip de problemฤ, echipa de testare poate aranja o รฎntรขlnire odatฤ ce noua versiune ajunge dupฤ remedieri de erori, funcศii noi ศi modificฤri. Aceastฤ รฎntรขlnire va avea loc pentru a discuta dacฤ modulele sunt afectate din cauza modificฤrilor.
Va exista o rundฤ de testare pentru a gฤsi impacturi, astfel รฎncรขt sฤ poatฤ crea o listฤ de impact. Cablul de testare adaugฤ numฤrul maxim de zone din regiunea de impact รฎn aceastฤ listฤ.
Iatฤ mai jos cum va arฤta procesul:
- โTest de verificare a construiriiโ pentru a verifica principalele capabilitฤศi ale aplicaศiei.
- Testarea tuturor funcศiilor noi.
- Examinarea caracteristicilor modificate sau modificate.
- Retestarea erorilor.
- Apoi, รฎn sfรขrศit, analiza zonei de impact utilizรขnd testarea regresiei regionale.
3) Testarea regresiei complete (FRT):
Aceastฤ testare acoperฤ toate funcศionalitฤศile unei aplicaศii. Testarea de regresie completฤ este de obicei efectuatฤ รฎn versiunile ulterioare. Astfel, puteศi utiliza FRT dupฤ primele lansฤri ศi ca test final รฎnainte de lansare.
รn a doua sau a treia versiune, clientul sau proprietarul afacerii pot cere modificฤri. De asemenea, pot solicita noi funcศionalitฤศi ศi/sau raporta defecte. Echipa de testare efectueazฤ apoi o analizฤ de impact, face toate modificฤrile ศi efectueazฤ un test final complet al produsului.
De exemplu, a patra versiune este versiunea finalฤ รฎnainte de lansare. Aศadar, รฎn aceastฤ versiune, echipa de testare efectueazฤ un test complet sau retestare a produsului รฎn loc de doar zona de impact sau o caracteristicฤ. Acest lucru se face dupฤ modificฤrile ศi testele din versiunile 4, 1 ศi 2.
Pentru a efectua o testare completฤ de regresie, trebuie sฤ luaศi รฎn considerare urmฤtoarele circumstanศe:
- Modificฤrile sunt efectuate asupra componentelor de bazฤ ale aplicaศiei. De exemplu, dacฤ existฤ o modificare รฎntr-un fiศier rฤdฤcinฤ al unei aplicaศii sau modulelor de bazฤ, atunci รฎntreaga aplicaศie trebuie sฤ fie regresatฤ. Dacฤ se fac numeroase modificฤri.
4) Testarea regresiei corective:
Aceastฤ testare se efectueazฤ atunci cรขnd nu sunt aduse modificฤri caracteristicilor. Astfel de teste pot fi efectuate cu cazuri existente.
5) Retestaศi toate testele de regresie:
รn aceastฤ formฤ de testare, toate modificฤrile minore pรขnฤ la majore fฤcute รฎn aplicaศie de la origine sau build 1 sunt retestate.
Aceastฤ testare se efectueazฤ atunci cรขnd toate celelalte teste de regresie nu reuศesc sฤ identifice cauza principalฤ a problemelor.
6) Testarea de regresie selectivฤ:
Acest lucru este efectuat pentru a verifica cum reacลฃioneazฤ codul atunci cรขnd un cod nou este adฤugat la program. Pentru a efectua acest test, se foloseศte un subset din cazurile existente pentru a-l face eficient ศi rentabil. Criteriile pentru selectarea unui subset se bazeazฤ pe modulele de cod modificate, dependenศe, criticitatea funcศionalitฤศii afectate ศi datele istorice ale defectelor.
7) Testarea regresiei progresive:
Acest tip de testare de regresie produce rezultate importante atunci cรขnd sunt fฤcute modificฤri specifice รฎn program ศi sunt create noi cazuri de testare.
Vฤ ajutฤ sฤ vฤ asiguraศi cฤ nicio componentฤ din versiunile mai vechi nu a fost afectatฤ รฎn cea mai recentฤ versiune.
8) Testarea regresiei parศiale:
Testarea de regresie parศialฤ este utilizatฤ pentru a verifica dacฤ noile modificฤri sau รฎmbunฤtฤศiri ale codului nu au un impact negativ asupra funcศionalitฤศii existente. Totuศi, spre deosebire de un test de regresie completฤ, care presupune retestarea รฎntregii aplicaศii, รฎn testarea de regresie parศialฤ, ne concentrฤm doar pe anumite pฤrศi ale software-ului afectate de modificฤrile recente.
Prin urmare, scopul principal al testฤrii regresiei parศiale este de a economisi timp ศi resurse, evitรขnd retestarea pฤrศilor neschimbate ale aplicaศiei. Cazurile de testare pentru testarea regresiei parศiale sunt selectate cu atenศie pe baza analizei de impact a modificฤrilor codului. Identificarea cazurilor de testare corecte care sฤ fie incluse รฎn suita de teste de regresie parศialฤ este crucialฤ. Lipsa cazurilor de testare critice poate duce la probleme trecute cu vederea.
Testare de regresie automatฤ
Dupฤ cum am menศionat mai devreme, automatizarea testelor de regresie este necesarฤ atunci cรขnd existฤ mai multe versiuni. De asemenea, este necesar pentru mai multe cicluri de regresie ศi numeroase activitฤศi repetitive. Deoarece efectuarea mai multor cicluri de testare รฎntre versiuni necesitฤ foarte mult timp.
Cu toate acestea, cu automatizare, puteศi testa de mai multe ori. Acest lucru necesitฤ scrierea de scripturi de testare de automatizare pentru execuศie, care necesitฤ planificare ศi proiectare relevante. รn astfel de teste, echipa nu poate รฎncepe direct cu automatizarea. Prin urmare, trebuie sฤ implicฤm atรขt echipe de testare manualฤ, cรขt ศi de automatizare pentru a acoperi acest domeniu. Iatฤ cum se efectueazฤ testarea de regresie automatฤ:
Pas 1) Echipa de testare manualฤ verificฤ toate cerinศele ศi identificฤ regiunea de impact. Dupฤ acest proces, ei trimit pachetul de testare a cerinศelor echipei de automatizare sau inginerului de automatizare.
Pas 2) Echipa de testare manualฤ รฎncepe sฤ testeze noile module, รฎn timp ce echipa de testare a automatizฤrii scrie scriptul ศi automatizeazฤ cazul de testare.
Pas 3) รnainte de a utiliza aceastฤ metodฤ a unui test de regresie, echipa de automatizare identificฤ cazurile care vor sprijini automatizarea.
Pas 4) Ei convertesc acele teste de regresie รฎn scripturi, รฎn funcศie de cazurile care pot fi automatizate.
Pas 5) รn timpul procesului de scriptare, echipa de automatizare se referฤ la cazurile de testare de regresie. Ei fac acest lucru deoarece s-ar putea sฤ nu deศinฤ produsul, nici instrumentul ศi cunoศtinศele aplicaศiei.
Pas 6) Cรขnd scripturile de testare sunt finalizate, echipa de automatizare le va executa pe noua aplicaศie.
Pas 7) Dupฤ execuศie, rezultatul informeazฤ dacฤ testul a fost susศinut sau eศuat.
Pas 8) Dacฤ testul eศueazฤ, acesta este din nou verificat folosind metoda de testare manualฤ, iar dacฤ problema existฤ, aceasta este raportatฤ dezvoltatorului respectiv.
Notฤ: Dupฤ ce eroarea este remediatฤ, problema ศi zona de impact sunt trimise testerului manual pentru retestare, iar echipa de automatizare reexecutฤ scriptul.
Pas 9) Acest proces continuฤ pรขnฤ cรขnd toate caracteristicile de regresie nou adฤugate primesc un statut de Adoptare.
Iatฤ beneficiile testฤrii de regresie automate:
- reutilizabil: Scripturile sale de testare sunt reutilizabile รฎn mai multe versiuni.
- Precizie: Instrumentele de automatizare executฤ sarcina redundant, reducรขnd ศansa de eroare.
- Salveaza timp: Este mai rapid decรขt procesul manual de testare funcศionalฤ ศi este eficient รฎn timp.
- Execuศie lot: Este posibil sฤ executaศi toate scripturile simultan ศi paralel รฎn testarea automatฤ.
- Nu este necesarฤ creศterea resurselor: Testul de regresie este obligat sฤ creascฤ cu fiecare nouฤ lansare. Cu toate acestea, nu este necesar sฤ adฤugaศi resurse noi pentru automatizare.
Cum se aleg cazurile de testare pentru testarea de regresie?
Iatฤ cum puteศi selecta cazul potrivit pentru testarea regresiei.
- รnศelegeศi sfera modificฤrilor ศi determinaศi pฤrศile aplicaศiei care au fost modificate, adฤugate sau remediate. Vฤ puteศi concentra apoi asupra acestor zone pentru testarea regresiei.
- Aveศi o suitฤ care acoperฤ funcศionalitatea criticฤ ศi menศine aceasta ca bazฤ pentru testarea regresiei. Dupฤ cum sa discutat mai devreme, este foarte recomandat sฤ aveศi aceste teste automatizate.
- Prioritizeazฤ testele pe baza criticitฤศii funcศionalitฤศii, a impactului asupra utilizatorului final ศi a datelor istorice ale defectelor.
Cele mai bune practici de testare a regresiei
Mai jos sunt cรขteva practici cheie pe care ar trebui sฤ le urmaศi atunci cรขnd menศineศi testele de regresie.
Automatizaศi oriunde este posibil
Testarea automatฤ de regresie reduce efortul de testare ศi permite executarea rapidฤ a unui numฤr mare de cazuri de testare.
Integrare continuฤ
รncorporarea testฤrii de regresie รฎn conductele CI/CD asigurฤ cฤ testele sunt rulate automat ori de cรขte ori sunt efectuate modificฤri รฎn baza de cod.
Selectarea cazului de testare
Identificaศi ศi menศineศi un subset de cazuri de testare care reprezintฤ funcศionalitatea de bazฤ ศi zonele cu risc ridicat. De asemenea, le puteศi alege pe cele legate direct de modificฤrile efectuate, deoarece rularea tuturor cazurilor de testare anterioare poate fi nepracticฤ.
Execuศie regulatฤ
Executaศi teste de regresie รฎn mod regulat, mai ales dupฤ fiecare schimbare de cod. Acest lucru ajutฤ la identificarea problemelor la รฎnceputul procesului de dezvoltare.
Managementul datelor de testare
Asiguraศi-vฤ cฤ datele de testare utilizate pentru testele de regresie sunt consecvente ศi uศor de gestionat, deoarece problemele legate de date pot afecta rezultatele testelor.
Managementul mediului
Menศineศi medii de testare consistente ศi reproductibile. Aceasta include utilizarea aceloraศi sisteme de operare, browsere ศi configuraศii de dispozitiv utilizate รฎn producศie.
รnregistraศi ศi urmฤriศi defectele
Orice defecte descoperite รฎn timpul testฤrii de regresie trebuie รฎnregistrate, urmฤrite ศi gestionate. Prioritizeazฤ rezoluศia lor รฎn funcศie de gravitate.
Abilitatea de Reus
Creaศi scripturi de testare reutilizabile ศi date de testare pentru a reduce duplicarea ศi pentru a รฎmbunฤtฤศi mentenabilitatea.
Testarea regresiei ศi managementul configuraศiei
Managementul configuraศiei รฎn timpul testฤrii de regresie devine imperativ รฎn mediile agile รฎn care un cod este modificat continuu. Pentru a asigura teste de regresie eficiente, respectaศi urmฤtoarele:
- Codul testat de regresie ar trebui sฤ fie sub un instrument de gestionare a configuraศiei.
- Nu trebuie permisฤ codificarea modificฤrilor รฎn timpul fazei de testare a regresiei. Codul de testare de regresie trebuie menศinut imun la modificฤrile dezvoltate.
- Baza de date utilizatฤ pentru testarea regresiei trebuie izolatฤ. Nu trebuie permise modificฤri ale bazei de date
Diferenศa dintre testarea din nou ศi testarea regresiei
Retestarea รฎnseamnฤ testarea funcศionalฤ a defectului sau a erorii din nou pentru a se asigura cฤ codul este remediat. Dacฤ nu este remediat, defectul trebuie redeschis. Dacฤ este remediat, defectul este รฎnchis.
Testarea de regresie รฎnseamnฤ testarea aplicaศiei software atunci cรขnd suferฤ o modificare a codului. Se face pentru a se asigura cฤ noul cod nu a afectat alte pฤrศi ale software-ului.
Iatฤ mai jos diferenศele principale dintre aceste douฤ teste:
| retestarea | Testare de regresie |
|---|---|
| Este construit special pentru remedierea defectelor. | Testarea de regresie se face รฎn principal pentru a verifica dacฤ modificฤrile codului au afectat alte funcศionalitฤศi. |
| Retestarea nu verificฤ celelalte versiuni ศi verificฤ doar dacฤ funcศionalitฤศile deteriorate sunt restaurate. | Se concentreazฤ pe versiunile anterioare ศi testeazฤ dacฤ funcศiile anterioare รฎncฤ funcศioneazฤ conform aศteptฤrilor. |
| Fiecare test este specific | Regresia este un test generic. |
| Aceastฤ testare este pentru cazurile de testare nereuศite. | Este pentru cazurile de testare trecute. |
| Verificฤ defecte specifice, deci nu poate fi automatizat. | Poate fi automatizat. De asemenea, foarte recomandat sฤ fie automatizat, aศa cum am discutat mai devreme. |
| Retestarea nu este รฎntotdeauna o parte a unui ciclu de testare, deoarece este necesarฤ numai atunci cรขnd sunt gฤsite erori. | Regresia este รฎntotdeauna o parte a testฤrii, deoarece de fiecare datฤ cรขnd un cod este schimbat, acest test trebuie efectuat pentru a รฎnศelege dacฤ funcศionalitatea produsului este stabilฤ. |
| Este o testare cu prioritate ridicatฤ, deoarece se concentreazฤ pe probleme cunoscute. | Aceasta este o testare cu prioritate scฤzutฤ, deoarece este o testare generalฤ a posibilelor defecte. |
| Aceastฤ testare nu necesitฤ timp, deoarece funcศioneazฤ pe un defect specific. | Deoarece implicฤ o zonฤ mare a software-ului, prin urmare, este consumator de timp. |
| Determinฤ defectele cu aceleaศi date ศi mediu cu o intrare diferitฤ ศi o versiune nouฤ. | Aceastฤ testare poate obศine cazuri din manuale de utilizare, rapoarte de defecte ศi specificaศii funcศionale. |
| Retestarea nu poate fi efectuatฤ fฤrฤ prima testare. | Se realizeaza atunci cand modificari si modificari sunt obligatorii in proiectul existent. |
De asemenea, consultaศi lista completฤ a diferenศelor de mai sus aici.
Avantajele ศi dezavantajele testฤrii de regresie
Avantaje
- Testarea de regresie รฎmbunฤtฤศeศte calitatea produselor.
- Cu aceastฤ testare, vฤ asiguraศi cฤ modificฤrile ศi remedierea erorilor nu au schimbat funcศionalitฤศile ศi caracteristicile existente.
- Deoarece paturile de regresie sunt rulate pe funcศii existente, putem garanta cฤ defectele mai vechi sunt acoperite ศi de asemenea.
- Faciliteazฤ dezvoltarea eficientฤ a produsului.
- Puteศi obศine o satisfacศie ridicatฤ a utilizatorilor cu aceastฤ testare รฎn vigoare.
- รn general, menศine stabilitatea software-ului.
Dezavantaje
- Ar trebui sฤ fie efectuatฤ de fiecare datฤ cรขnd se face o micฤ modificare, deoarece cea mai micฤ schimbare poate aduce probleme รฎn modulele existente.
- Acest test poate consuma mult timp atunci cรขnd este efectuat manual, necesitรขnd teste repetate.
Provocฤri รฎn testarea regresiei
Urmฤtoarele sunt principalele probleme de testare pentru efectuarea testelor de regresie:
- Cu rulฤri succesive de regresie, suitele de testare devin destul de mari. Din cauza constrรขngerilor de timp ศi buget, รฎntreaga suitฤ de teste de regresie nu poate fi executatฤ
- Minimizarea suitei de teste รฎn timp ce atingeศi maximul rฤmรขne o provocare
- Determinarea frecvenศei testelor de regresie, adicฤ dupฤ fiecare modificare sau fiecare actualizare de build sau dupฤ o grฤmadฤ de remedieri de erori, este o provocare.
Aplicarea practicฤ a exemplului de testare de regresie cu un videoclip
Clic aici dacฤ videoclipul nu este accesibil
Exemplu de testare de regresie โ Amazon
Luaศi รฎn considerare gigantul comerศului electronic Amazon, care este o afacere de mai multe miliarde de dolari care se bazeazฤ pe site-ul sฤu web pentru generarea de venituri. Pentru a-ศi menศine funcศionalitatea, fiabilitatea ศi performanศa, testarea regresiei joacฤ un rol crucial.
Sฤ luฤm un scenariu de adฤugare a unei noi categorii de produse.
Sฤ ne imaginฤm cฤ Amazon decide sฤ-ศi extindฤ ofertele de produse prin introducerea unei noi categorii numite โDispozitive pentru casฤ inteligentฤโ alฤturi de categoriile existente precum โElectronicsโ ศi โรmbrฤcฤminteโ.
Cazurile posibile de regresie ar fi:
Funcศionalitatea paginii principale: Verificaศi dacฤ pagina principalฤ afiศeazฤ noua categorie โDispozitive inteligente pentru casฤโ alฤturi de cele existente, fฤrฤ probleme de afiศare.
Navigare pe categorii: Asiguraศi-vฤ cฤ utilizatorii pot naviga fฤrฤ probleme la pagina categoriei โDispozitive inteligente pentru casฤโ ศi pot reveni la pagina principalฤ fฤrฤ probleme.
Funcศionalitate de cฤutare: Asiguraศi-vฤ cฤ bara de cฤutare returneazฤ cu exactitate rezultate pentru dispozitivele inteligente pentru casฤ atunci cรขnd utilizatorii le cautฤ ศi nu le amestecaศi cu alte produse.
Conturi de utilizator: Verificaศi dacฤ conturile de utilizator pot fi create, actualizate ศi utilizate pentru achiziศionarea de dispozitive inteligente pentru casฤ ศi alte produse.
Procesarea plฤศii: Testaศi gateway-uri de platฤ specifice achiziศiilor ศi garantaศi tranzacศii sigure ศi fฤrฤ erori.
Recepศie mobilฤ: Verificaศi dacฤ site-ul web rฤmรขne adaptabil la dispozitivele mobile, permiศรขnd utilizatorilor sฤ acceseze ศi sฤ cumpere dispozitive inteligente pentru casฤ pe diverse dispozitive.
Dacฤ oricare dintre aceste cazuri de testare de regresie eศueazฤ, aceasta indicฤ o problemฤ cu funcศionalitatea existentฤ a site-ului web din cauza adฤugฤrii noii categorii de produse. Aceastฤ problemฤ ar trebui documentatฤ ศi rezolvatฤ imediat. รn plus, ca Amazon continuฤ sฤ-ศi extindฤ ofertele ศi sฤ facฤ modificฤri site-ului sฤu, aceste teste de regresie ar trebui sฤ fie executate pentru a menศine o experienศฤ de cumpฤrฤturi online de รฎncredere. Instrumentele automate de testare pot simplifica acest proces.






