Metodologii de testare a software-ului: Aflați modele QA

Cuprins:

Anonim

Ce este metodologia de testare a software-ului?

Metodologia de testare a software-ului este definită ca strategii și tipuri de testare utilizate pentru a certifica că aplicația sub testare îndeplinește așteptările clientului. Metodologiile de testare includ testări funcționale și nefuncționale pentru validarea AUT. Exemple de metodologii de testare sunt testarea unitară, testarea integrării, testarea sistemului, testarea performanței etc. Fiecare metodologie de testare are un obiectiv de testare definit, o strategie de testare și rezultate.

Notă : Deoarece testarea software-ului este o parte integrantă a oricărei metodologii de dezvoltare, multe companii folosesc termenul metodologii de dezvoltare și metodologii de testare în mod colocvial. Prin urmare, metodologiile de testare s-ar putea referi, de asemenea, la cascadă, Agile și alte modele QA în comparație cu definiția de mai sus a metodologiilor de testare. Discuțiile despre diferite tipuri de testare nu adaugă valoare cititorilor. Prin urmare, vom discuta diferitele modele de dezvoltare.

În acest tutorial, veți învăța-

  • Model cascadă
  • Dezvoltare iterativă
  • Metodologie agilă
  • Programare extremă
  • Ce metodologie software să alegeți?
  • Cum se configurează metodologiile de testare a software-ului?

Modelul cascadei

Ce este?

În modelul cascadă, dezvoltarea software-ului progresează prin diferite faze, cum ar fi Analiza Cerințelor, Proiectarea etc - secvențial .

În acest model, faza următoare începe doar când faza anterioară este finalizată.

Care este abordarea de testare?

Prima fază a modelului de cascadă este faza de cerințe în care toate cerințele proiectului sunt complet definite înainte de a începe testarea. În această fază, echipa de testare face brainstorming cu scopul testării, strategia de testare și elaborează un plan de testare detaliat.

Doar după finalizarea proiectării software-ului, echipa va trece la executarea cazurilor de testare pentru a se asigura că software-ul dezvoltat se comportă așa cum se aștepta.

În această metodologie, echipa de testare trece la faza următoare numai când faza anterioară este finalizată.

Avantaje

Acest model de inginerie software este foarte simplu de planificat și gestionat. Prin urmare, proiectele, în care cerințele sunt clar definite și menționate în prealabil, pot fi ușor testate folosind un model de cascadă.

Dezavantaje

În modelul cascadă, puteți începe cu faza următoare numai după finalizarea fazei anterioare. Prin urmare, acest model nu poate găzdui evenimente neplanificate și incertitudine.

Această metodologie nu este potrivită pentru proiecte în care cerințele se schimbă frecvent.

Dezvoltare iterativă

Ce este?

În acest model, un proiect mare este împărțit în părți mici și fiecare parte este supusă mai multor iterații ale modelului cascadă. La sfârșitul unei iterații, se dezvoltă un nou modul sau se îmbunătățește un modul existent. Acest modul este integrat în arhitectura software și întregul sistem este testat împreună

Care este abordarea de testare?

De îndată ce iterația este finalizată, întregul sistem este supus testării. Feedbackul de la testare este disponibil imediat și este încorporat în următorul ciclu. Timpul de testare necesar în iterații succesive poate fi redus pe baza experienței acumulate din iterații anterioare.

Avantaje

Principalul avantaj al dezvoltării iterative este că feedback-ul testului este disponibil imediat la sfârșitul fiecărui ciclu.

Dezavantaje

Acest model mărește semnificativ cheltuielile de comunicare, deoarece, la sfârșitul fiecărui ciclu, trebuie să se ofere feedback despre rezultatele, efortul etc.

Metodologie agilă

Ce este?

Metodologiile tradiționale de dezvoltare software funcționează pe premisa că cerințele software rămân constante pe tot parcursul proiectului. Dar, odată cu creșterea complexității, cerințele suferă numeroase schimbări și evoluează continuu. Uneori, clientul însuși nu este sigur ce vrea. Deși modelul iterativ abordează această problemă, se bazează în continuare pe modelul cascadei.

În metodologia Agile, software-ul este dezvoltat în cicluri rapide, incrementale. Interacțiunile dintre clienți, dezvoltatori și clienți sunt accentuate mai degrabă decât procesele și instrumentele. Metodologia agilă se concentrează pe răspunsul la schimbare mai degrabă decât pe o planificare amplă.

Care este abordarea de testare?

Testarea incrementală este utilizată în metodele de dezvoltare agile și, prin urmare, fiecare versiune a proiectului este testată temeinic. Acest lucru asigură că orice erori din sistem sunt remediate înainte de următoarea versiune.

Avantaje

Este posibil să faceți modificări în proiect în orice moment pentru a respecta cerințele.

Această testare incrementală minimizează riscurile.

Dezavantaje

Interacțiunea constantă a clientului înseamnă presiune suplimentară asupra timpului asupra tuturor părților interesate, inclusiv a clientului însuși, a dezvoltării software și a echipelor de testare.

Programare extremă

Ce este?

Programarea extremă este un tip de metodologie agilă care crede în cicluri scurte de dezvoltare. Un proiect este împărțit în sarcini simple de inginerie. Programatorii codifică o piesă simplă de software și se întorc la client pentru feedback. Punctele de recenzie de la client sunt încorporate, iar dezvoltatorii continuă cu următoarea sarcină.

În programatorii de programare extremă, de obicei, lucrează în perechi.

Programarea extremă este utilizată în locuri în care cerințele clienților sunt în continuă schimbare.

Care este abordarea de testare?

Programarea extremă urmează o dezvoltare bazată pe test care este descrisă după cum urmează -

  1. Adăugați un caz de testare în suita de testare pentru a verifica noua funcționalitate care încă nu a fost dezvoltată
  2. Rulați toate testele și, evident, noul caz de testare adăugat trebuie să eșueze, deoarece funcționalitatea nu este încă codificată
  3. Scrieți un cod pentru a implementa caracteristica / funcționalitatea
  4. Rulați din nou suita de testare. De data aceasta, noul caz de testare ar trebui să treacă, deoarece funcțional a fost codat

Avantaje

Clienții care au în minte un design software vag ar putea folosi programarea extremă

Testarea continuă și integrarea continuă a versiunilor mici asigură furnizarea codului software de înaltă calitate

Dezavantaje

Întâlnirile dintre echipa de dezvoltare software și clienți se adaugă cerințelor de timp.

Ce metodologie software să alegeți?

Există o mulțime de metodologii disponibile pentru dezvoltarea software-ului și testarea corespunzătoare a acestuia. Fiecare tehnică și metodologie de testare este concepută pentru un scop specific și are meritele și demersurile sale relative.

Selectarea unei anumite metodologii depinde de mulți factori, cum ar fi natura unui proiect, cerința clientului, programul proiectului etc.

Din perspectiva testării, unele metodologii împing pentru testarea intrărilor la începutul ciclului de viață al dezvoltării, în timp ce altele așteaptă până când un model de lucru al sistemului este gata.

Cum se configurează metodologiile de testare a software-ului?

Metodologiile de testare a software-ului nu trebuie configurate doar pentru a testa codul software-ului. Ar trebui luată în considerare imaginea de ansamblu, iar obiectivul principal al proiectului ar trebui să fie satisfăcut cu metodologia de testare.

Programare

Programarea realistă este cheia implementării metodologiei de testare de succes, iar programul trebuie să răspundă nevoilor fiecărui membru al echipei.

Livrabile definite

Pentru a menține toți membrii echipei pe aceeași pagină, ar trebui furnizate rezultate bine definite. Livrabilele trebuie să conțină conținut direct, fără nicio ambiguitate.

Abordarea testului

Odată ce planificarea este completă și livrabilele definite sunt puse la dispoziție, echipa de testare ar trebui să poată formula abordarea corectă a testului. Documentele de definiție și întâlnirile cu dezvoltatorii trebuie să indice echipa cea mai bună abordare de testare care poate fi utilizată pentru proiect.

Raportarea

Raportarea transparentă este foarte dificil de realizat, dar acest pas determină eficiența abordării de testare utilizate în proiect.