continuous testing devops
Ce este testarea continuă și testarea continuă a conductei în DevOps?
Sper că v-ați bucurat cu toții de ultimul tutorial Implementare continuă în DevOps .
Știm importanța testării în orice livrare de software și DevOps fiind un ciclu scurt de livrări, este imposibil să rulați toate cazurile de testare proiectate de fiecare dată manual, când o singură linie de cod este actualizată în instrumentul de control al versiunilor și acolo este continuu testarea și conducta automată de testare continuă intră în imagine în DevOps.
Lectură sugerată => DevOps Training Tutorial de la Scratch
Beneficiile CT:
-
- Calitatea și viteza sunt avantajele uriașe ale CT.
- Feedback mai rapid și mai rapid asupra codului.
- Sporește încrederea echipei și îi încurajează să se îmbunătățească continuu.
VIDEO Partea 3 Blocul 4: Testarea continuă- 14 minute 39 secunde
cum se deschide un fișier XML în Chrome
Transcriere:
În acest bloc, vom afla despre Testarea continuă și conducta de testare continuă detaliat.
Testarea continuă este un alt proces important al conductei de livrare continuă împreună cu integrarea continuă, într-o conductă, include, diferite faze de testare în care testele automate sunt executate împreună cu porțile automate de calitate între ele.
Astfel, testarea continuă este, executând teste automate, continuu și în mod repetat în raport cu baza de cod și diferitele medii de implementare.
În principal, testele unitare, analiza statică a codului, analiza codului de securitate, testele de integrare, testele de încărcare și performanță fac parte dintr-o testare continuă care se execută într-o conductă automată de testare continuă.
Deoarece integrarea continuă și desfășurarea continuă sunt numite CI, CD, testarea continuă este mai des numită CT.
Dacă vedeți această diagramă, care este o conductă de livrare continuă, această conductă include două conducte, una este o conductă de construcție care este o conductă CI sau o conductă de integrare continuă, care constă în declanșare automată de construire, compilare, construire și implementare.
Cealaltă este o conductă de testare, care este o conductă de testare continuă
Acum, să vedem mai multe despre testarea continuă.
Știm importanța testării, testarea fiecărei linii de cod ... testarea de fiecare dată ... și testarea în diferite etape și este aproape imposibil să rulați toate testele proiectate de fiecare dată manual când o linie de cod este actualizată în controlul versiunii.
Acolo apare testarea continuă.
Deci, cu excepția cazului în care codul care intră în conducta integrată continuă automată, este testat temeinic și asigură calitatea necesară, nu este utilă lansarea software-ului către clienți. Adică calitatea nu poate fi asigurată decât dacă codul este testat temeinic.
Deci, testarea continuă, așa cum s-a definit mai devreme, este de a executa diferite tipuri de teste, continuu pe baza codului și pe diferite medii pe care este implementat, așa cum este predefinit și proiectat în conducta de livrare continuă.
Așa cum vedeți în imagine, testele unitare se întâmplă pe serverul CI însuși, care testează fiecare unitate a sistemului în mod izolat.
Testele de integrare au loc în mediul de integrare, care verifică practic componentele integrate împreună. Teste de sistem în mediul de testare a sistemului în care sistemul BIG cu toate componentele și interfețele integrate sunt testate prin scenarii la nivel de sistem într-un mediu de testare a sistemului și așa mai departe.
Și profunzimea testării progresează adesea pe măsură ce simularea mediului se apropie de producție.
Testarea continuă devine progresiv mai dură și mai lungă odată cu progresul către mediul de producție, deoarece trebuie să adăugăm încet o serie de teste și teste mai complicate pe măsură ce codul se maturizează și complexitatea mediului avansează.
Nu este vorba că aceleași cazuri de testare ar fi rulate pe tot parcursul, cazurile de testare trebuie actualizate de fiecare dată la diferite faze și scripturile automatizate sunt actualizate, pe măsură ce codul devine mai maturizat, progresează către un nivel mai ridicat de mediu în care configurațiile și infrastructura de asemenea avans, până când intră în producție.
Deci, chiar și timpul necesar pentru a rula testele crește pe măsură ce testarea progresează spre punctul de eliberare, cum ar fi testarea unitară poate dura foarte puțin timp pentru a rula, în timp ce unele teste de integrare sau unele teste de sistem sau teste de încărcare ar putea dura câteva ore lungi pentru a rula sau ar putea dura câteva zile să fug.
ce mașini virtuale desktop rulează pe sistemul de operare Windows
Aici testarea continuă ar fi în principal executarea automată a cazurilor de testare automată cu un declanșator. Dar, după cum am definit mai devreme, livrarea continuă implică și anumite teste manuale și porți, în care anumite teste sunt efectuate manual, înainte de a fi introduse în producție.
Aceste porți de calitate intermediară la fiecare etapă a testării și crește încrederea în cod.
Deci, conducta de testare continuă ca atare include testarea unitară împreună cu verificări preliminare de securitate automate. Apoi intră într-un nivel de integrare de testare, unde se execută teste de integrare automată, apoi la un nivel de sistem în care scenariile la nivel de sistem sunt automatizate și rulate.
Aici sunt realizate chiar și anumite scenarii de testare a performanței.
Apoi trece la „Testarea acceptării” care include practic testele de acceptare a site-ului automat și apoi la „Testarea acceptării utilizatorului”, care ar putea fi o execuție manuală și include participarea utilizatorului final la efectuarea testelor și aceasta va fi un fel de semnare finală pe produs sau o caracteristică, în care poarta manuală este invocată și finalizată pe site-ul de producție.
Deci, practic, pe măsură ce testele continue progresează, complexitatea testelor și a mediului de testare crește și ajunge la mediul care este mai aproape de producție precum simularea.
Nu trebuie să menționez în mod specific că toate aceste etape de testare includ teste de verificare a construcțiilor, teste de sănătate, teste de fum și teste de regresie, din nou, așa cum am spus, depinde de ceea ce proiectăm în testarea continuă și conducta de livrare.
Aceasta este conducta tipică de testare continuă, poate fi proiectată de echipă pe baza tipului de produs și a diferitelor niveluri de testare și tipuri de testare pe care le solicită produsul.
Testarea continuă necesită integrarea cadrului de automatizare cu instrumentul de control al versiunii și CI și diversele instrumente automatizate pentru a efectua testarea funcțională și nefuncțională în diferite faze ale testării, cum ar fi:
- Sonar pentru analiza statică a codului,
- Fortificați pentru o analiză sigură a codului,
- Seleniu pentru testare funcțională,
- Dispozitiv de încărcare pentru testarea sarcinii etc.,
Microsoft TFS, Jenkins, bucătar, marionetă sunt câteva instrumente disponibile pe piață pentru proiectarea conductei CI-CD.
Problema este că este posibil ca aceste instrumente să nu accepte automatizarea completă, în funcție de instrumentul de control al versiunii utilizat, așa că puține organizații pot prefera să dezvolte propriile cadre de automatizare, care să permită automatizarea de la capăt la cap a conductei de livrare din cod. se angajează la livrarea codului.
Deci, testarea continuă fiind o parte foarte importantă a testării asigură calitatea produsului sau a lansării și ar trebui să fii foarte atent la selectarea unui instrument, cadru etc., care determină în primul rând calitatea și viteza de livrare.
Așadar, configurarea conductei de testare continuă corectă necesită un pic mai mult de timp în conducta de livrare continuă. Nu doar pe partea de instrument și cadru, ci și pe partea de cazuri de testare. Testarea continuă include, de asemenea, definirea conductei de implementare în cadrul.
Deoarece CT necesită implementarea automată a construirii pe diferite medii în diferite faze, ceea ce necesită automatizarea implementării și configurarea mediilor prin scripturi automatizate.
Aceste scripturi automatizate care includ configurarea infrastructurii și a configurațiilor de mediu ca cod sunt verificate în instrumentul de control al versiunii, iar conducta de livrare îl preia din instrumentul de control al versiunilor pentru a efectua implementarea. Aceasta se numește conducta de implementare.
Acum, să venim la beneficiile CT,
Obținerea calității și vitezei este cel mai mare avantaj al testării continue.
Spre deosebire de versiunile anterioare, unde testarea se întâmpla doar la final, testarea pe tot parcursul este conceptul de testare continuă și, prin urmare, testarea continuă într-o conductă de livrare, permite echipei să introducă porți de calitate oriunde și orice număr de porți de calitate, doresc, pentru pentru a atinge gradul de calitate de care au nevoie.
Deci, dacă nu, codul eșuează pentru testare la un anumit punct sau poartă dintr-o conductă, echipa se poate întoarce și poate eșua automat întreaga implementare până la acel moment.
Acest lucru oferă o indicație clară atât echipei Dev, cât și echipei Ops că lipsește ceva acolo și echipa poate lucra pentru a remedia problema. Deci, acesta este avantajul și flexibilitatea conductelor de testare continuă.
Deci, introducerea porților de calitate la diferite faze de testare guvernează calitatea codului mai bine în conductă.
Cu cât numărul de porți pe care le trece codul, cu atât mai mult va fi încrederea echipei în cod că poate ajunge la producție la un nivel mai ridicat de calitate.
Deci, testarea continuă sporește încrederea echipei și îi încurajează să se îmbunătățească continuu.
În ansamblu, dacă echipa nu neglijează cu adevărat niciunul dintre eșecurile testului la nici o fază de testare sau porți de calitate în conductă, cu siguranță testarea continuă va fi un bonus pentru atingerea obiectivelor de înaltă calitate.
dfs și bfs c ++
Deci, pentru a încheia testarea continuă, chiar de la testele unitare care se execută în etapa preliminară prin testarea acceptării, testarea performanței și chiar anumite teste manuale care urmează să fie rulate sunt FOARTE FOARTE critice pentru definirea testării continue în conducta DevOps.
Aceasta completează discuția noastră cu privire la subiectele din partea a 3-a, integrare continuă, livrare continuă și testare continuă.
În viitorul nostru tutorial, vom discuta mai multe despre Gestionarea configurației, gestionarea lansărilor și monitorizarea performanței aplicației.
Lectură recomandată
- Implementare continuă în DevOps
- Livrare continuă în DevOps
- Top 10 instrumente de testare continuă pentru testarea DevOps (Lista 2021)
- Cele mai bune instrumente de testare software 2021 (Instrumente de automatizare a testelor de calitate)
- Tutorial DevOps Testing: Cum va afecta DevOps testarea QA?
- Recapitularea tutorialelor video DevOps
- Integrare continuă în DevOps
- Descărcare eBook Descărcare Primer