devops testing tutorial
Tutorial de testare DevOps: Un sondaj recent RightScale a constatat că 54% dintre companii au adoptat DevOps și interesul în jurul DevOps crește rapid.
În acest articol, vom afla cum această nouă metodologie de dezvoltare software va avea impact asupra QA și cum funcționarea QA în ansamblu ar trebui să evolueze pentru a accepta această schimbare.
Verificați => Completați DevOps Tutorial Series
În acest articol, vom afla mai multe despre DevOps și cum va avea impact asupra QA și a funcțiilor sale.
instrument de încărcare pentru testarea performanței
Ce veți învăța:
Ce este DevOps?
DevOps - este o combinație de Develapment &Peeratii - este o metodologie de dezvoltare software care urmărește să integreze toate funcțiile de dezvoltare software, de la dezvoltare la operațiuni în cadrul aceluiași ciclu.
Acest lucru necesită un nivel mai ridicat de coordonare în cadrul diferitelor părți interesate în procesul de dezvoltare software (și anume Dezvoltare, QA și operațiuni )
Ciclul DevOps
Un ciclu DevOps ideal ar începe de la:
- Codul de scriere Dev
- Construirea și implementarea de binare într-un mediu QA
- Executarea cazurilor de testare și în cele din urmă
- Implementarea în producție într-un flux integrat lin.
Evident, această abordare pune un mare accent pe automatizarea construcției, implementării și testării. Utilizarea instrumentelor de integrare continuă (CI), instrumentele de testare a automatizării devin o normă într-un DevOps ciclu.
De ce DevOps?
Deși există diferențe subtile între Testare Agile și DevOps , cei care lucrează cu Agile vor găsi DevOps puțin mai familiarizați cu care să lucreze (și eventual să adopte). În timp ce principiile Agile sunt aplicate cu succes în iterațiile de dezvoltare și QA, este o poveste diferită (și adesea un os de dispută) din partea operațiunilor. DevOps propune remedierea acestei lacune.
Acum, în loc de integrare continuă, DevOps implică „dezvoltare continuă” , unde codul a fost scris și angajat pentru Controlul versiunilor, va fi construit, implementat, testat și instalat pe mediul de producție care este gata să fie consumat de utilizatorul final.
Acest proces îi ajută pe toți din întregul lanț, deoarece mediile și procesele sunt standardizate. Fiecare acțiune din lanț este automatizată. De asemenea, oferă libertate tuturor părților interesate de a-și concentra eforturile asupra proiectării și codificării unui livrabil de înaltă calitate, mai degrabă decât să se îngrijoreze de diferitele procese de construcție, operațiuni și QA.
Reduce drastic timpul de viață la aproximativ 3-4 ore, de la scrierea și angajarea codului de timp, până la implementarea în producție pentru consumul utilizatorului final.
Pe scurt, DevOps este o extensie a Agile sau îmi place să-i spun „Agile pe Steroizi”.
Rolul QA modificat în DevOps
În mod tradițional, QA ar obține o versiune care este implementată în mediul lor desemnat, iar QA ar începe apoi Funcţional & Testarea regresiei . În mod ideal, versiunea ar sta cu QA-ul timp de câteva zile înainte de semnarea QA-ului pe build. Toți acești pași se schimbă în DevOps.
Modificări QA pentru testarea DevOps:
- QA este necesar pentru a-și alinia eforturile în ciclul DevOps.
- Trebuie să se asigure că toate cazurile de testare sunt automatizate și asigură o acoperire de cod de aproape 100%.
- Aceștia trebuie să se asigure că mediile lor sunt standardizate și că implementarea pe casetele lor QA este automatizată.
- Toate sarcinile lor de pre-testare, curățarea, sarcinile de post-testare etc. sunt automatizate și aliniate cu ciclul de integrare continuă.
După cum sa menționat deja, DevOps necesită un nivel ridicat de coordonare între diferitele funcții ale lanțului livrabil. Aceasta înseamnă, de asemenea, că granițele dintre diferitele roluri ale contribuabililor din lanț devin poroase.
DevOps îi încurajează pe toți să contribuie la lanț . Deci, printre altele, un dezvoltator poate configura implementări. Inginerii de implementare pot adăuga cazuri de testare la depozitul QA. Inginerii QA își pot configura cazurile de testare a automatizării în lanțul DevOps.
În mod colectiv, toată lumea din lanț este responsabilă pentru calitatea și actualitatea livrabilelor.
descărcare gratuită a aplicației de conversie YouTube în mp3
DevOps și Test Automation
Pentru a obține o astfel de viteză și agilitate, este important să automatizați toate procesele de testare și să le configurați pentru a rula automat atunci când implementarea este finalizată în mediul QA. Pentru realizarea acestei integrări sunt folosite instrumente de testare automatizate specializate și instrumente de integrare continuă.
Acest lucru necesită, de asemenea, construirea unui cadru matur de testare a automatizării, prin care se pot realiza rapid noi cazuri de testare.
Strategia de testare DevOps: sfaturi pentru succesul DevOps
- Trebuie identificate cazurile de testare care trebuie executate pentru o anumită versiune.
- Execuția testului ar trebui să fie în esență slabă.
- QA și Dev trebuie să stea împreună și să identifice zonele afectate din cauza unei anumite construcții și să execute acele cazuri de test aferente, plus un test de sănătate.
- De asemenea, trebuie să configurați instrumente specializate de analiză și acoperire a codului pentru a vă asigura că atingeți o acoperire de cod aproape 100%.
- Conceptul de executare toate cazurile de test de regresie pentru un test de testare devin în curând învechite.
- Strategia în jurul testării noilor caracteristici trebuie formalizată, iar versiunile intermediare pot fi furnizate către QA, care, la rândul său, ar crea scripturi de testare și ar rula aceste teste de automatizare pe versiunile intermediare până când codul devine suficient de stabil pentru a fi implementat în mediul de producție .
- Toate mediile necesare testării trebuie standardizate, iar implementările trebuie automatizate.
- Folosind diverse tehnici de automatizare, QA ar trebui să poată declanșa teste de automatizare pe diferite medii multiplataforme (și cross-browser în cazul aplicațiilor web).
- Executarea în paralel a testelor ajută la reducerea duratei de viață, care la rândul său este esența unei implementări de succes DevOps.
- Criteriile de ieșire trebuie să fie stabilite pentru fiecare rundă, astfel încât atunci când rezultatele testelor să fie readuse în lanț, să se ia o decizie de producere.
- Blocarea sau erorile critice găsite trebuie raportate și remediate și transmise prin același lanț de evenimente înainte ca codul să fie implementat în mediul de producție.
Monitorizarea aplicației
QA ar trebui, de asemenea, să poată detecta problemele din timp și să le raporteze proactiv. Pentru a realiza acest lucru, trebuie să configureze monitorizarea în mediul de producție pentru a putea expune erorile înainte de a provoca un eșec.
Configurarea contoarelor specializate, cum ar fi timpul de răspuns, utilizarea memoriei și a procesorului etc., poate oferi multe informații despre experiența utilizatorului final.
De exemplu , dacă timpul mediu de răspuns pentru conectare crește treptat pe parcursul diferitelor versiuni, QA ar trebui să raporteze proactiv această problemă pentru optimizarea codului de autentificare, altfel versiunile viitoare ar putea provoca frustrarea utilizatorului final din cauza timpilor de răspuns ridicați.
QA poate utiliza, de asemenea, un mic subset de cazuri de testare cu prioritate ridicată existente pentru a fi executate periodic la producție, pentru a monitoriza activ mediul. Erori precum „Această eroare apare uneori” sau „ Nu poate reproduce ”Poate fi surprins prin această strategie care, în cele din urmă, face aplicația mai stabilă și, de asemenea, devine mai mulțumiți de utilizatorii finali.
Din nou, aceste monitoare trebuie configurate pentru a rula automat cu rapoarte bogate (cum ar fi jurnalele și capturile de ecran ale eșecurilor etc.).
Concluzie
Cascada a dat loc modelului V, care la rândul său a fost înlocuit de Agile ca alegere preferată pentru dezvoltarea de software.
DevOps este viitorul. Este un ciclu de îmbunătățire continuă pe care îl suferă din când în când modelele de dezvoltare software. Trebuie să o îmbrățișați, să o înțelegeți și să o inculcați.
Trebuie să stăpâniți diferitele instrumente de automatizare și integrare continuă, astfel încât eforturile dvs. de automatizare să adauge valoare lanțului și să fie suficient de slabe pentru a se adapta rapid la schimbări. S-ar putea să lucrați la proiecte care ar putea implica alfa , beta și UAT medii înainte de a fi implementate în mediul de producție.
Conceptul rămâne în esență același. Automatizarea și mai multă automatizare sunt nucleul unui ciclu DevOps de succes. Dar, în calitate de QA, ar trebui să puteți trage o linie cu privire la cât de multă automatizare este prea multă automatizare.
Despre autor: Aniket Deshpande lucrează ca QA Manager la AFour Technologies , Pune și lucrează în domeniul testării software-ului în ultimii 9+ ani în diferite domenii și platforme. Este pasionat de DevOps și lucrează ca consultant pentru a ghida organizațiile în adoptarea strategiilor de testare DevOps.
Dacă sunteți interesat să aflați mai multe sau doriți să implementați DevOps și abordarea de test asociată în organizația dvs., nu ezitați să a lua legatura autorul.
Ce părere aveți despre testarea DevOps? Credeți că obținerea dezvoltatorilor și a operațiunilor care lucrează împreună pot aduce beneficii proiectului?
cum se creează cazuri de testare junit în java
Spuneți-ne comentariile / sugestiile dvs. despre acest articol.
Lectură recomandată
- Testare continuă în DevOps
- Tutorial DevOps: Ghidul final pentru DevOps (25+ Tutoriale)
- Demistificarea DevOps: Tutorial video (Partea 1)
- 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)
- Ce este testarea software-ului? 100+ Tutoriale gratuite de testare manuală
- Testarea funcțională Vs testarea non-funcțională
- Testarea alfa și testarea beta (un ghid complet)