Metodologia agilă în testarea software-ului
Ce este metodologia Agile în testare?
Metodologie Agile, adică o practică care promovează iterație continuă de dezvoltare și testare pe tot parcursul ciclului de viață al dezvoltării software a proiectului. În modelul Agile în testarea software-ului, atât activitățile de dezvoltare, cât și cele de testare sunt concurente, spre deosebire de modelul Waterfall.

Ce este Agile Software Development?
Dezvoltare software agila metodologia este unul dintre cele mai simple și eficiente procese pentru a transforma o viziune pentru o nevoie de afaceri în soluții software. Agil este un termen folosit pentru a descrie abordările de dezvoltare software care utilizează planificarea continuă, învățarea, îmbunătățirea, colaborarea în echipă, dezvoltarea evolutivă și livrarea timpurie. Încurajează răspunsuri flexibile la schimbare.
Dezvoltarea agilă de software pune accent pe patru valori de bază.
- Interacțiuni individuale și de echipă asupra proceselor și instrumentelor
- Software de lucru peste documentație completă
- Colaborarea clienților cu privire la negocierea contractelor
- Răspunsul la schimbare în urma unui plan
Model Agil Vs Model Cascada
Modelul Agile și Waterfall sunt două metode diferite pentru procesul de dezvoltare a software-ului. Deși sunt diferite în abordarea lor, ambele metode sunt utile uneori, în funcție de cerință și tipul proiectului.
Model Agil | Modelul cascadei |
---|---|
Definiția metodologiei agile în testarea software-ului: Metodologiile agile propun o abordare incrementală și iterativă a designului software | Model cascadă: Dezvoltarea software-ului curge secvenţial de la punctul de început până la punctul final. |
Proces agil în testarea software-ului este împărțită în modele individuale la care lucrează designerii | Procesul de proiectare nu este împărțit în modele individuale |
Clientul are oportunități timpurii și frecvente de a privi produsul și de a lua decizii și modificări ale proiectului | Clientul poate vedea produsul doar la finalul proiectului |
Modelul agil în testare este considerat nestructurat în comparație cu modelul în cascadă | Modelele de cascadă sunt mai sigure, deoarece sunt atât de orientate spre plan |
Proiectele mici pot fi implementate foarte repede. Pentru proiectele mari, este dificil de estimat timpul de dezvoltare. | Tot felul de proiecte pot fi estimate și finalizate. |
Eroarea poate fi remediată la mijlocul proiectului. | Abia la final se testeaza intregul produs. Dacă se găsește eroarea de cerințe sau trebuie făcute modificări, proiectul trebuie să înceapă de la început |
Procesul de dezvoltare este iterativ, iar proiectul este executat în iterații scurte (2-4) săptămâni. Planificarea este foarte puțin. | Procesul de dezvoltare este etapizat, iar faza este mult mai mare decât iterația. Fiecare fază se încheie cu descrierea detaliată a fazei următoare. |
Documentația are o prioritate mai mică decât de dezvoltare de software | Documentarea este o prioritate de top și poate fi folosită chiar și pentru instruirea personalului și upgrade-ul software-ului cu o altă echipă |
Fiecare iterație are propria sa fază de testare. Permite implementarea testării regresiei de fiecare dată când sunt lansate noi funcții sau logici. | Abia după faza de dezvoltare, faza de testare este executată deoarece părțile separate nu sunt complet funcționale. |
În testarea agilă, când o iterație se termină, caracteristicile livrabile ale produsului sunt livrate clientului. Noile funcții sunt utilizabile imediat după expediere. Este util atunci când aveți un contact bun cu clienții. | Toate caracteristicile dezvoltate sunt livrate odată după faza lungă de implementare. |
Testerii și dezvoltatorii lucrează împreună | Testerii lucrează separat de dezvoltatori |
La sfârșitul fiecărui sprint, se efectuează acceptarea utilizatorului | Acceptarea utilizatorului este efectuată la finalul proiectului. |
Necesită o comunicare strânsă cu dezvoltatorii și împreună să analizeze cerințele și planificarea | Dezvoltatorul nu se implică în procesul de cerință și planificare. De obicei, întârzieri între teste și codare |
Verificați și: - Agile vs Cascada: Cunoașteți diferența dintre metodologii
Proces agil
Verificați cele de mai jos Metodologie agilă proces pentru a furniza rapid sisteme de succes.
Sunt diferite Metode agile prezente în testarea agilă, iar acestea sunt enumerate mai jos:
Scrum
SCRUM este o metodă de dezvoltare agilă care se concentrează în mod special pe modul de gestionare a sarcinilor într-un mediu de dezvoltare bazat pe echipă. Practic, Scrum este derivat din activitatea care are loc în timpul unui meci de rugby. Scrum crede în împuternicirea echipei de dezvoltare și susține lucrul în echipe mici (de exemplu, 7 până la 9 membri). Agile și Scrum constau din trei roluri, iar responsabilitățile lor sunt explicate după cum urmează:
-
Scrum master
- Scrum master este responsabil pentru formarea echipei, întâlnirea de sprint și înlăturarea obstacolelor din calea progresului
-
Proprietarul produsului
-
Product Owner creează un backlog de produse, prioritizează backlog și este responsabil pentru livrarea funcționalității la fiecare iterație
-
-
Echipa Scrum
-
Echipa își gestionează propria muncă și organizează munca pentru a finaliza sprintul sau ciclul
-
Înapoi la produs
Acesta este un depozit în care cerințele sunt urmărite cu detalii despre numărul de cerințe (povestiri de utilizator) care trebuie completate pentru fiecare lansare. Ar trebui să fie întreținut și prioritizat de către Product Owner și ar trebui să fie distribuit echipei Scrum. Echipa poate solicita, de asemenea, adăugarea, modificarea sau ștergerea unei noi cerințe
Practici Scrum
Practicile sunt descrise în detaliu:
Fluxul de proces al metodologiilor Scrum:
Fluxul procesului de testarea scrum este după cum urmează:
- Fiecare iterație a unui scrum este cunoscută ca Sprint
- Backlogul de produse este o listă în care sunt introduse toate detaliile pentru a obține produsul final
- În timpul fiecăreia Sprint, poveștile de top ale utilizatorilor din Product backlog sunt selectate și transformate în Sprint restante
- Echipa lucrează pe backlogul de sprint definit
- Echipa verifică munca zilnică
- La sfârșitul sprintului, echipa oferă funcționalitatea produsului
Programare extremă (XP)
Tehnica de programare extremă este foarte utilă atunci când există cerințe sau cerințe în continuă schimbare din partea clienților sau când aceștia nu sunt siguri de funcționalitatea sistemului. Susține „lansări” frecvente ale produsului în cicluri scurte de dezvoltare, ceea ce îmbunătățește în mod inerent productivitatea sistemului și, de asemenea, introduce un punct de control în care orice cerințe ale clienților pot fi implementate cu ușurință. XP dezvoltă software care menține clientul în țintă.
Cerințele de afaceri sunt adunate în termeni de povești. Toate acele povești sunt stocate într-un loc numit parcare.
În acest tip de metodologie, lansările se bazează pe cicluri mai scurte numite Iterații cu o perioadă de timp de 14 zile. Fiecare iterație include faze precum codificarea, testarea unitară și testarea sistemului, în care în fiecare fază vor fi construite anumite funcționalități minore sau majore în aplicație.
Fazele programării eXtreme:
Există 6 faze disponibile în metoda Agile XP și acestea sunt explicate după cum urmează:
Planificare
-
Identificarea părților interesate și a sponsorilor
-
Cerințe de infrastructură
-
Securitate culegere și informații aferente
-
Acorduri privind nivelul de servicii și condițiile acestora
Analiză
-
Captura de povești în parcare
-
Prioritizează poveștile în parcare
-
Curățarea poveștilor pentru estimare
-
Definiți SPAN (Timp) de iterație
-
Planificarea resurselor atât pentru echipele de dezvoltare, cât și pentru echipele QA
Amenajări
-
Defalcarea sarcinilor
-
Testați pregătirea scenariului pentru fiecare sarcină
-
Cadrul de automatizare a regresiei
Execuție
-
Codificare
-
Executarea scenariilor de testare manuală
-
Generarea raportului de defect
-
Conversia cazurilor de test de regresie manual în automatizare
-
Revizuire la mijlocul iterației
-
Revizuirea la sfârșitul iterației
Ambalaj
-
Lansări mici
-
Demo și recenzii
-
Dezvoltați povești noi bazate pe nevoi
-
Îmbunătățiri de proces bazate pe comentariile de revizuire la sfârșitul iterației
Închidere
-
Lansare pilot
-
Pregătire
-
Lansarea producției
-
Garantie SLA
-
Revvezi strategia SOA
-
Suport pentru producție
Există două storyboard-uri disponibile pentru a urmări activitatea zilnic, iar acestea sunt enumerate mai jos pentru referință.
-
Carton de poveste
-
Acesta este un mod tradițional de a colecta toate poveștile într-o tablă sub formă de note de tip stick pentru a urmări activitățile zilnice XP. Deoarece această activitate manuală implică mai mult efort și timp, este mai bine să treceți la un formular online.
-
-
Storyboard online
-
Instrumentul online Storyboard poate fi folosit pentru a stoca poveștile. Mai multe echipe îl pot folosi în scopuri diferite.
-
Metodologii Crystal
Metodologia cristalului se bazează pe trei concepte
-
Navlosire: Diverse activități implicate în această fază sunt crearea unei echipe de dezvoltare, efectuarea unei analize preliminare de fezabilitate, elaborarea unui plan inițial și ajustarea metodologiei de dezvoltare.
-
Livrare ciclică: Faza principală de dezvoltare constă din două sau mai multe cicluri de livrare, în timpul cărora
- Echipa actualizează și rafinează planul de lansare
- Implementează un subset de cerințe printr-unul sau mai multe iterații de integrare de testare a programului
- Produsul integrat este livrat utilizatorilor reali
- Revvizualizarea planului de proiect și metodologia de dezvoltare adoptată
- Învelire: Activitățile desfășurate în această fază sunt implementarea în mediul utilizatorului, revizuirile și reflecțiile după implementare.
Metoda de dezvoltare software dinamică (DSDM)
DSDM este a Dezvoltarea rapidă a aplicațiilor (RAD) a dezvoltării software și oferă un cadru agil de livrare a proiectelor. Aspectul important al DSDM este că utilizatorilor li se cere să se implice activ, iar echipelor li se oferă puterea de a lua decizii. Livrarea frecventă a produsului devine accent activ cu DSDM. Tehnicile utilizate în DSDM sunt
- Timp BoxING
- Regulile MoscoW
- Prototyping
Proiectul DSDM constă din 7 faze
- Pre-proiect
- Studiu de fezabilitate
- Studiu de afaceri
- Iterația modelului funcțional
- Proiectați și construiți iterație
- Punerea în aplicare
- Post-proiect
Dezvoltare bazată pe funcții (FDD)
Această metodă se concentrează pe caracteristicile de „proiectare și construire”. Spre deosebire de alte metode Agile din inginerie software, FDD descrie faze foarte specifice și scurte de lucru care trebuie realizate separat pentru fiecare caracteristică. Acesta include trecerea pe domeniu, inspecția de proiectare, promovarea la construirea, inspecția codului și proiectarea. FDD dezvoltă produse menținând următoarele lucruri în țintă
- Modelarea obiectelor de domeniu
- Dezvoltare după caracteristică
- Componentă/Clasă de proprietate
- Echipe de caracteristici
- inspecţiile
- Configurare Management
- Construcții obișnuite
- Vizibilitatea progresului și a rezultatelor
Dezvoltare software Lean
Metoda de dezvoltare software Lean se bazează pe principiul „Producere la timp”. Acesta vizează creșterea vitezei de dezvoltare a software-ului și scăderea costurilor. Dezvoltarea Lean poate fi rezumată în șapte pași.
- Eliminarea deșeurilor
- Amplificarea învățării
- Amânarea angajamentului (hotărârea cât mai târziu posibil)
- Livrare devreme
- Împuternicirea echipei
- Clădire Integrity
- Optimizați întregul
Kanban
Kanban a apărut inițial din cuvântul japonez care înseamnă, un card care conține toate informațiile necesare pentru a fi făcute asupra produsului în fiecare etapă de-a lungul drumului său până la finalizare. Acest cadru sau metodă este destul de adoptat în metoda de testare a software-ului, în special în conceptele Agile.
Scrum Vs Kanban
Scrum | Kanban |
---|---|
În tehnica scrum, testul trebuie defalcat astfel încât să poată fi finalizat într-un singur sprint | Nu este prescrisă o anumită dimensiune a articolului |
Prescrie un backlog de produse prioritizat | Prioritizarea este opțională |
Echipa Scrum se angajează într-o anumită cantitate de muncă pentru iterație | Angajamentul este optional |
Graficul de ardere este prescris | Nu este prescrisă o anumită dimensiune a articolului |
Între fiecare sprint, o tablă scrum este resetată | O tablă Kanban este persistentă. Limitează numărul de articole în starea fluxului de lucru |
Nu poate adăuga elemente la iterația în curs | Poate adăuga articole ori de câte ori capacitatea este disponibilă |
WIP limitat indirect | WIP limitat direct |
Iterații timebox prescrise | Iterații în timebox opționale |
Verificați și: - Kanban vs. Scrum: Care este diferența?
Metrici agile
Valorile care pot fi colectate pentru utilizarea eficientă a Agile sunt:
-
Factorul de tragere
-
Efort în ore care nu contribuie la obiectivul de sprint
-
Factorul de tragere poate fi îmbunătățit prin reducerea numărului de resurse partajate, reducând cantitatea de muncă necontributivă
-
Estimările noi pot fi mărite cu procentul factorului de tragere - Estimare nouă = (estimare veche+factor de tragere)
-
-
Viteză
-
Cantitatea de backlog (povestiri ale utilizatorilor) convertită în funcționalitatea livrabilă a sprintului
-
-
Numărul de teste unitare adăugate
-
Interval de timp necesar pentru a finaliza construirea zilnică
-
Erori detectate într-o iterație sau în iterațiile anterioare
-
Scurgere defect de producție