Testarea Sistemului și Tipuri de Testare
76 Questions
5 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Care dintre următoarele afirmații descrie cel mai bine testarea sistemului (system testing)?

  • Este realizată de dezvoltatori în timpul procesului de codare.
  • Se concentrează exclusiv pe cerințele funcționale.
  • Verifică funcționalitatea模块lor individuale ale software-ului.
  • Se concentrează pe comportamentul sistemului ca un întreg și verifică scenarii complete end-to-end. (correct)
  • Testarea de acceptanță (acceptance testing) are ca scop principal identificarea defectelor software.

    False (B)

    Ce tip de testare de acceptanță este realizată de obicei de angajații companiei?

    Alpha testing

    Integrarea mixtă combină abordarea de integrare _________ cu cea _________

    <p>bottom up, top down</p> Signup and view all the answers

    Asociază tipul de test de acceptanță cu descrierea sa:

    <p>UAT = Verifică dacă software-ul îndeplinește nevoile și așteptările utilizatorilor finali. BAT = Evaluează dacă software-ul susține procesele de afaceri și obiectivele organizației. CAT = Verifică dacă software-ul îndeplinește toate cerințele contractuale. OAT = Verifică dacă software-ul poate fi operat și întreținut în mediul de producție.</p> Signup and view all the answers

    Care este scopul principal al testării software?

    <p>De a identifica și corecta erorile (A)</p> Signup and view all the answers

    Testarea exhaustivă este întotdeauna posibilă și necesară.

    <p>False (B)</p> Signup and view all the answers

    Cum se numește fenomenul în care testele își pierd eficacitatea dacă sunt repetate fără a fi actualizate?

    <p>paradoxul pesticidelor</p> Signup and view all the answers

    Conform principiului defect clustering, dacă se găsește un defect într-un modul, există șanse mari să existe și ______.

    <p>altele</p> Signup and view all the answers

    Asociază tipurile de testare cu descrierile lor:

    <p>Testarea manuală = Verificarea aplicației de către un tester uman fără scripturi Testarea automată = Utilizarea scripturilor pentru a efectua teste repetibile</p> Signup and view all the answers

    Care dintre următoarele reprezintă un beneficiu al testării timpurii a defectelor?

    <p>Costuri mai mici de remediere (A)</p> Signup and view all the answers

    Absența defectelor garantează succesul unei aplicații.

    <p>False (B)</p> Signup and view all the answers

    Menționați două tipuri de testare software menționate în text.

    <p>testarea manuală și testarea automată</p> Signup and view all the answers

    Care dintre următoarele afirmații descrie cel mai bine scopul testării automate?

    <p>Detectarea problemelor de funcționare repetitivă și economisirea timpului și resurselor pe termen lung. (B)</p> Signup and view all the answers

    Testarea poate elimina direct defectele și spori calitatea software-ului.

    <p>False (B)</p> Signup and view all the answers

    Care sunt cele două categorii principale în care se împarte testarea din punct de vedere al momentului efectuării?

    <p>statică și dinamică</p> Signup and view all the answers

    Un ___________ este o eroare în cod care duce la un comportament neașteptat.

    <p>bug</p> Signup and view all the answers

    Asociază tipul de testare cu modul în care se efectuează:

    <p>Testare manuală = Executată de un tester Testare automată = Executată de scripturi sau instrumente automate Testare statică = Efectuată înainte de execuția codului Testare dinamică = Efectuată în timpul exeuției codului</p> Signup and view all the answers

    Ce tip de testare analizează funcționalitățile unei aplicații software?

    <p>Testare funcțională (A)</p> Signup and view all the answers

    Scopul principal al testării statice este de a găsi defecte în timpul execuției codului.

    <p>False (B)</p> Signup and view all the answers

    În ce etapă a SDLC este efectuată testarea unitară?

    <p>în etapa de build</p> Signup and view all the answers

    În integrarea de tip top-down se folosesc ____________ pentru a simula modulele de nivel inferior.

    <p>stubs</p> Signup and view all the answers

    Care dintre următoarele modele SDLC presupune o abordare flexibilă, fără un proces specific obligatoriu?

    <p>Modelul Big Bang (C)</p> Signup and view all the answers

    Un driver simulează un modul apelat de un alt modul, în scopul testării.

    <p>False (B)</p> Signup and view all the answers

    Cum se numeste testarea care se concentrează pe verificarea interacțiunilor și schimburilor de date dintre diferite componente software?

    <p>Testare de integrare</p> Signup and view all the answers

    Testarea _______ (numită și component testing) este efectuată pe un modul izolat pentru a verifica dacă este dezvoltat corect.

    <p>unitară</p> Signup and view all the answers

    Ce tip de model SDLC presupune o testare continuă în toate etapele sale?

    <p>Toate modelele SDLC (D)</p> Signup and view all the answers

    Asociază fazele SDLC cu activitățile corespunzătoare:

    <p>Planning = Stabilirea cerințelor și specificațiilor produsului Requirement analysis = Definirea cerințelor Design = Planificarea limbajelor de programare, bazelor de date și a arhitecturii Testing = Verificarea conformității software-ului cu specificațiile Deployment = Lansarea versiunii finale</p> Signup and view all the answers

    De ce este considerată testarea software esențială, conform informațiilor oferite?

    <p>Deoarece erorile din software pot duce la consecințe grave, inclusiv pierderi financiare și pericole fizice. (D)</p> Signup and view all the answers

    Care dintre următoarele afirmații descrie cel mai bine limitarea testării software?

    <p>Testarea nu poate acoperi toate scenariile posibile de utilizare datorită numărului mare de combinații de intrări. (C)</p> Signup and view all the answers

    Ce semnifică principiul 'paradoxul pesticidelor' în testarea software?

    <p>Folosirea repetată a acelorași teste duce la scăderea eficacității lor. (D)</p> Signup and view all the answers

    De ce este importantă testarea timpurie în ciclul de viață al dezvoltării software-ului?

    <p>Pentru a reduce costurile prin identificarea și corectarea defectelor în primele etape. (C)</p> Signup and view all the answers

    Care este o consecință importantă a principiului 'Testarea este context-dependentă'?

    <p>Metodele de testare trebuie adaptate în funcție de tipul de aplicație și cerințele specifice. (C)</p> Signup and view all the answers

    Ce implică principiul că 'testarea nu garantează lipsa erorilor'?

    <p>Chiar și după testare, pot exista erori ascunse neidentificate. (B)</p> Signup and view all the answers

    Ce problemă majoră se poate manifesta, chiar dacă un software este fără erori tehnice?

    <p>Designul software-ului poate să nu satisfacă nevoile și așteptările utilizatorilor. (C)</p> Signup and view all the answers

    Care este un scop secundar al testării, pe lângă găsirea erorilor?

    <p>Confirmarea că software-ul îndeplinește cerințele utilizatorilor și este utilizabil. (B)</p> Signup and view all the answers

    În faza de urmărire a unui proces de revizuire, care este acțiunea principală a mediatorului?

    <p>Să distribuie documentul revizuit participanților. (C)</p> Signup and view all the answers

    Care dintre următoarele tipuri de revizuiri este condusă de un administrator instruit, fără implicarea managementului?

    <p>Revizuire tehnică. (B)</p> Signup and view all the answers

    Care este principalul punct de plecare într-o strategie de estimare de jos în sus a efortului de testare?

    <p>Descompunerea sarcinilor în activități mici. (A)</p> Signup and view all the answers

    Ce element nu este specificat în mod obișnuit într-un plan de testare?

    <p>Metodele de prevenire a riscurilor de produs. (B)</p> Signup and view all the answers

    Care dintre următoarele clasificări de teste se referă la testele care nu fac parte din planul de testare?

    <p>Teste în afara domeniului. (D)</p> Signup and view all the answers

    Ce informație este esențială de inclus într-un raport de bug, pe lângă descrierea erorii?

    <p>Pașii detaliați pentru a reproduce bug-ul. (B)</p> Signup and view all the answers

    Care este diferența principală dintre starea 'Rezolvat' și starea 'Închis' a unui bug?

    <p>Starea 'Rezolvat' indică faptul că bug-ul a fost reparat, iar 'Închis' că a fost verificat și validat. (D)</p> Signup and view all the answers

    Într-un ciclu de viață al unui bug, care este rolul testerului în starea 'Verificat'?

    <p>Testerul verifică dacă bug-ul a fost corect soluționat. (A)</p> Signup and view all the answers

    Ce reprezintă 'prioritatea' unui bug în contextul raportării defectelor?

    <p>Urgența cu care bug-ul trebuie reparat. (B)</p> Signup and view all the answers

    Dacă un bug care a fost odată închis, apare din nou, care este noua stare atribuită acestuia?

    <p>Re-deschis. (B)</p> Signup and view all the answers

    Care dintre următoarele reprezintă un avantaj al utilizării automatizării în testarea software?

    <p>Creșterea vitezei și consistenței în executarea testelor. (C)</p> Signup and view all the answers

    Ce tip de testare se concentrează pe determinarea modului în care un sistem se comportă sub o anumită încărcare?

    <p>Testarea de sarcină. (A)</p> Signup and view all the answers

    Ce rol are matricea de trasabilitate în procesul de testare software?

    <p>Leagă cerințele de afaceri cu cazurile de testare asociate. (B)</p> Signup and view all the answers

    În cadrul ciclului STLC, ce rol are testarea unitară?

    <p>Testează componentele individuale ale software-ului. (A)</p> Signup and view all the answers

    Ce înseamnă abordarea "Big Bang" în contextul testării de integrare?

    <p>Integrarea și testarea simultană a tuturor componentelor. (A)</p> Signup and view all the answers

    Care dintre următoarele face parte din categoria testării nefuncționale?

    <p>Testarea securității și vulnerabilităților. (C)</p> Signup and view all the answers

    Ce tip de testare de acceptanță este efectuată de un grup intern de utilizatori?

    <p>Testarea alfa. (C)</p> Signup and view all the answers

    Care este scopul testării de fum (smoke testing)?

    <p>Să verifice rapid stabilitatea generală a sistemului. (C)</p> Signup and view all the answers

    Ce tip de testare verifică dacă modificările aduse software-ului nu au introdus defecte noi?

    <p>Testarea de regresie. (C)</p> Signup and view all the answers

    Ce tehnică de proiectare a cazurilor de testare împarte domeniul de intrare în secțiuni echivalente?

    <p>Partiționarea echivalentă. (A)</p> Signup and view all the answers

    Care dintre următoarele afirmații descrie cel mai bine testarea de stres?

    <p>Evaluează răspunsul sistemului sub o sarcină de vârf sau la limita capacității sale. (C)</p> Signup and view all the answers

    Care este scopul principal al planului de testare?

    <p>Să documenteze toate activitățile și resursele necesare testării. (B)</p> Signup and view all the answers

    În cadrul cărui model SDLC se testează în fiecare etapă, începând cu colectarea cerințelor?

    <p>Modelul V. (C)</p> Signup and view all the answers

    În ce tip de testare de integrare, testarea începe cu funcționalitățile de nivel superior?

    <p>Abordarea &quot;top-down&quot;. (C)</p> Signup and view all the answers

    Care dintre următoarele abilități este considerată esențială pentru un tester software bun?

    <p>Gândire critică și atenție la detalii. (A)</p> Signup and view all the answers

    Care este principalul scop al partiționării echivalente în testarea software?

    <p>Împărțirea valorilor de intrare în grupuri cu comportament similar și testarea unei valori din fiecare grup. (B)</p> Signup and view all the answers

    Ce testare este cel mai strâns legată de partiționarea echivalentă și este utilizată de obicei împreună cu aceasta?

    <p>Analiza valorii de frontieră. (D)</p> Signup and view all the answers

    Ce abordare este recomandată atunci când un set de intrări produce rezultate diferite?

    <p>Analiza deciziilor. (C)</p> Signup and view all the answers

    În diagrama de stare, care este rolul evenimentelor?

    <p>Provocarea tranzițiilor dintr-o stare în alta. (A)</p> Signup and view all the answers

    Ce reprezintă un tabel de stare într-un context de testare?

    <p>O listă a tuturor stărilor valide și a evenimentelor care provoacă tranziții. (D)</p> Signup and view all the answers

    Ce reprezintă un 'caz de utilizare' în testarea software?

    <p>O descriere a modului în care este folosit sistemul de către un actor (D)</p> Signup and view all the answers

    În revizuirea unui document de design, care este rolul moderatorului?

    <p>Să conducă revizuirea și să stabilească agenda. (D)</p> Signup and view all the answers

    Care este scopul fazei de pregătire într-o revizuire?

    <p>Să se analizeze documentul individual pentru a identifica defecte. (D)</p> Signup and view all the answers

    În ce fază a revizuirii se fac modificări în document pe baza feedbackului?

    <p>Faza de re-muncă. (B)</p> Signup and view all the answers

    Ce este important de testat în mod fundamental atunci când se utilizează diagrame de stare?

    <p>Tranzițiile de la o stare la alta. (A)</p> Signup and view all the answers

    Care este scopul testării bazate pe cazuri de utilizare?

    <p>Testarea interacțiunilor sistemului de la început până la sfârșit, bazate pe tranzacții. (A)</p> Signup and view all the answers

    Care dintre următoarele beneficii NU este în mod obișnuit asociat cu tehnicile de revizuire a software-ului?

    <p>Îmbunătățirea vitezei de procesare a datelor și a performanței sistemului. (C)</p> Signup and view all the answers

    Care este principalul scop al fazei de inițiere (opționale) într-o revizuire?

    <p>Facilitarea înțelegerii comune între participanți asupra scopului documentului revizuit. (C)</p> Signup and view all the answers

    Când se utilizează cel mai bine analiza deciziilor în testarea software?

    <p>Când intrările produc rezultate diferite în funcție de combinație. (A)</p> Signup and view all the answers

    Cum se numește procesul întâlnirii în care un grup de persoane analizează un produs de lucru?

    <p>Revizuire. (A)</p> Signup and view all the answers

    Flashcards

    Testarea software

    Procesul de evaluare a unei aplicații sau a unui sistem pentru a verifica funcționarea corectă, completitudinea și conformitatea cu specificațiile stakeholderilor.

    Scopul testării software

    Scopul testării este de a identifica și corecta erorile, asigurând calitatea și fiabilitatea produsului final.

    Testarea exhaustivă este imposibilă

    Principiul care spune că testarea exhaustivă a tuturor scenariilor posibile este imposibilă, testerii se concentrează pe cazuri importante și cu o probabilitate mai mare de a produce erori.

    Defect clustering

    Principiul care afirmă că defectele tind să se grupeze, deci dacă se găsește o eroare într-un modul, există șanse mari să existe și altele.

    Signup and view all the flashcards

    Testarea timpurie a defectelor este mai eficientă

    Principiul care subliniază beneficiile identificării erorilor cât mai devreme în ciclul de dezvoltare pentru a minimiza costurile remedierii.

    Signup and view all the flashcards

    Pesticide paradox

    Principiul care se referă la uzura testelor în timp, necesitatea actualizării și îmbunătățirii testelor pentru a menține eficacitatea.

    Signup and view all the flashcards

    Testarea arată prezența defectelor, nu absența lor.

    Testarea software poate identifica erorile, dar nu garantează absența lor completă.

    Signup and view all the flashcards

    Testarea este dependentă de context

    Testarea software este adaptată la contextul specific al proiectului, luând în considerare factori precum tipul de aplicație, complexitatea etc.

    Signup and view all the flashcards

    Testarea automată

    Testarea automata este o tehnică care utilizează instrumente software pentru a executa teste repetitive și pentru a verifica funcționalitatea aplicației.

    Signup and view all the flashcards

    Utilitatea testării automate

    Testarea automată este utilă în detectarea erorilor repetitive ce apar în timpul utilizării aplicației.

    Signup and view all the flashcards

    Diferența între testarea manuală și cea automată

    Testarea manuală presupune executarea testelor de către un tester uman, în timp ce testele automate sunt executate de instrumente software.

    Signup and view all the flashcards

    Testarea statică

    Testarea statică presupune verificarea codului sursă, a documentației și a cerințelor fără a executa programul, de obicei înainte de compilare.

    Signup and view all the flashcards

    Testarea dinamică

    Testarea dinamică presupune executarea codului pentru a analiza comportamentul programului, cu scopul de a detecta erori și defecte.

    Signup and view all the flashcards

    Testarea funcțională

    Testarea funcțională se concentrează pe verificarea funcționalității aplicației, conform specificațiilor și cerințelor stabilite.

    Signup and view all the flashcards

    Testarea non-funcțională

    Testarea non-funcțională se concentrează pe aspecte ale aplicației cum ar fi performanța, securitatea, scalabilitatea și fiabilitatea.

    Signup and view all the flashcards

    Bug

    O eroare în codul sursă care duce la un comportament neașteptat al aplicației. Se poate referi la o logică greșită, o condiție neprevăzută etc.

    Signup and view all the flashcards

    Defect

    O deviere de la comportamentul sau cerintele specificate ale unui software.

    Signup and view all the flashcards

    Debugging

    Procesul prin care dezvoltatorii analizează codul sursă pentru a identifica și corecta erorile. Se face de obicei după ce un bug este identificat.

    Signup and view all the flashcards

    Testarea unitară

    Testarea unitară se concentrează pe verificarea funcționării corecte a unui modul izolat de cod, fără a lua în considerare interconectările cu alte module.

    Signup and view all the flashcards

    Testarea de integrare

    Testarea de integrare se concentrează pe verificarea interacțiunii dintre mai multe module de cod, testând modul în care modulele comunică și își transmit informații.

    Signup and view all the flashcards

    Big-bang Integration

    O abordare a testării de integrare unde toate modulele sunt integate simultan și testate ca un sistem unic.

    Signup and view all the flashcards

    Bottom-up Integration

    O abordare a testării de integrare care începe cu testarea modulelor de nivel inferior și avansează treptat către modulele de nivel superior.

    Signup and view all the flashcards

    Top-down Integration

    O abordare a testării de integrare care începe cu testarea modulelor de nivel superior și progresează către modulele de nivel inferior.

    Signup and view all the flashcards

    Integrare mixtă

    Integrarea mixtă combină elementele din integrarea ascendenta și descendentă, îmbinând testele modulelor individuale cu testele sistemului ca întreg.

    Signup and view all the flashcards

    Testarea sistemului

    Testarea sistemului analizează comportamentul sistemului ca un tot, verificând scenarii complete de la capăt la capăt, simulând o utilizare reală.

    Signup and view all the flashcards

    Testarea de acceptare

    Testarea de acceptare este un proces care verifică dacă sistemul finalizat îndeplinește cerințele de afaceri ale clientului și așteptările utilizatorilor, asigurând că este funcțional și gata de utilizare.

    Signup and view all the flashcards

    Tipuri de teste de acceptare

    Testele de acceptare se pot face în mai multe moduri, de la Alpha testing cu angajați, Beta testing cu grupuri de clienți, la UAT cu utilizatori finali și BAT pentru procesele de afaceri.

    Signup and view all the flashcards

    Scopul testării de acceptare

    Testarea de acceptare nu caută defecte, ci verifică dacă software-ul îndeplinește cerințele, asigurându-se că este util și functional.

    Signup and view all the flashcards

    Ce este testarea software-ului?

    Testarea software-ului este un proces care verifică acuratețea, exhaustivitatea și calitatea programelor de calculator. Scopul este de a identifica și corecta erorile înainte de lansarea către utilizatori finali.

    Signup and view all the flashcards

    De ce este importantă testarea software-ului?

    Testarea software-ului este importantă, deoarece erorile de software pot fi costisitoare sau chiar periculoase.

    Signup and view all the flashcards

    Testarea exhaustivă este posibilă?

    Testarea exhaustivă a tuturor scenariilor posibile este practic imposibilă, datorită combinațiilor potențial nelimitate de intrări.

    Signup and view all the flashcards

    Cum se face testarea?

    Testarea se bazează pe principiul evaluării riscurilor și prioritizării scenariilor de testare care au un impact mai mare.

    Signup and view all the flashcards

    Îmi garantează testarea un software fără erori?

    Testarea nu poate garanta lipsa erorilor în software, ci reduce riscul de a trece cu vederea erori.

    Signup and view all the flashcards

    Ce este Paradoxa pesticidelor?

    Testarea repetată cu aceleași seturi de cazuri de testare va duce la scăderea eficienței.

    Signup and view all the flashcards

    Ce este Paradoxa prezenței erorilor?

    Găsirea și remedierea erorilor nu garantează lipsa altor erori în software.

    Signup and view all the flashcards

    Ce se întâmplă dacă software-ul e fără erori, dar nu e util ?

    Designul software-ului care nu satisface nevoile utilizatorului este o problemă majoră, chiar dacă software-ul este fără erori.

    Signup and view all the flashcards

    Partiționare echivalentă

    Împarte valorile posibile în grupuri cu comportament similar, testând o valoare reprezentativă din fiecare grup.

    Signup and view all the flashcards

    Analiza valorii de frontieră

    Testează valorile limite între grupuri de date, de exemplu 0, 1, 10, 11.

    Signup and view all the flashcards

    Analiza deciziilor

    Gestionează un set de intrări cu rezultate diferite, ex. un buton activ doar când anumite câmpuri sunt completate.

    Signup and view all the flashcards

    Diagrama de stare

    Reprezintă statele prin care poate trece un program și tranzițiile între ele, declanșate de evenimente.

    Signup and view all the flashcards

    Tabelul de stare

    Organizează stările pe coloane și evenimentele pe linii, fiecare celulă indicând tranziția la un eveniment.

    Signup and view all the flashcards

    Testarea cazurilor de utilizare

    Identifică cazuri de testare care acoperă întregul sistem, bazate pe scenarii complete de utilizare.

    Signup and view all the flashcards

    Revizuire

    Un proces de întâlnire pentru a analiza și îmbunătăți un produs de lucru (documentație, specificații, cod, etc.).

    Signup and view all the flashcards

    Faza de pregătire a revizuirii

    Faza de pregătire a revizuirii, în care participanții analizează individual documentul.

    Signup and view all the flashcards

    Faza de revizuire

    Faza de revizuire, în care participanții discută defectele și sugestiile.

    Signup and view all the flashcards

    Faza de re-muncă

    Faza de revizuire, unde autorul documentului face modificări pe baza feedbackului.

    Signup and view all the flashcards

    Modelul "Cascadă"

    Un model tradițional de dezvoltare software, în care fiecare etapă (colectarea cerințelor, proiectarea, construirea, testarea, lansarea, întreținerea) este finalizată înainte de a începe următoarea.

    Signup and view all the flashcards

    Modelul "V"

    O adaptare a modelului "Cascadă" care introduce testarea la fiecare etapă, asigurând o verificare continuă a calității.

    Signup and view all the flashcards

    Modele Iterative (Agile)

    O abordare flexibilă de dezvoltare software care utilizează iterații scurte de dezvoltare și testare, permițând adaptarea la cerințele în schimbare.

    Signup and view all the flashcards

    Ciclul de viață al testării software-ului (STLC)

    Ciclul de viață al testării software-ului, care se aliniază cu ciclul de viață al dezvoltării software-ului (SDLC).

    Signup and view all the flashcards

    Abordarea "Big Bang"

    Abordarea testării de integrare în care toate componentele sunt integrate și testate simultan.

    Signup and view all the flashcards

    Abordarea "Incrementală"

    Abordarea testării de integrare în care componentele sunt integrate și testate progresiv, pe măsură ce devin disponibile.

    Signup and view all the flashcards

    Abordarea "Top-down"

    O strategie de testare a integrării care începe cu testarea componentelor de nivel superior și se extinde la componentele de nivel inferior.

    Signup and view all the flashcards

    Abordarea "Bottom-up"

    O strategie de testare a integrării care începe cu testarea componentelor de nivel inferior și se extinde la componentele de nivel superior.

    Signup and view all the flashcards

    Abordarea "Sandwich"

    O abordare mixtă de testare a integrării care combină abordările "top-down" și "bottom-up".

    Signup and view all the flashcards

    Testarea de fum (smoke testing)

    Testare rapidă și superficială a sistemului software, pentru a verifica stabilitatea și posibilitatea de a continua testarea mai în detaliu.

    Signup and view all the flashcards

    Testarea de regresie

    O tehnică de testare care se efectuează după modificarea software-ului, pentru a se asigura că modificările nu au introdus noi erori.

    Signup and view all the flashcards

    Revizuire informală

    O revizuire informală este condusă de autorul documentului, fără implicarea altor persoane.

    Signup and view all the flashcards

    Revizuire tehnică

    O revizuire tehnică este condusă de un administrator instruit, fără implicarea managementului. Se concentrează pe aspecte tehnice ale documentului.

    Signup and view all the flashcards

    Inspecție

    O inspecție este condusă de un administrator instruit, utilizând criterii de intrare/ieșire. Este o verificare mai formală decât o revizuire tehnică.

    Signup and view all the flashcards

    Estimare "de jos în sus"

    Strategia de estimare "de jos în sus" presupune descompunerea sarcinii în sub-sarcini mai mici și estimarea efortului pentru fiecare sub-sarcină în parte. Apoi se adună estimările pentru a obține efortul total.

    Signup and view all the flashcards

    Estimare "de sus în jos"

    Strategia de estimare "de sus în jos" folosește experiența anterioară pentru a estima efortul necesare testarii.

    Signup and view all the flashcards

    Plan de testare

    Un plan de testare specifică ce tipuri de teste vor fi efectuate, cine va face testările și cronograma testelor.

    Signup and view all the flashcards

    Teste "în domeniul"

    Testele "în domeniul" sunt incluse în planul de testare. Sunt testele planificate și aprobate.

    Signup and view all the flashcards

    Teste "în afara domeniului"

    Testele "în afara domeniului" nu sunt incluse în planul de testare. Aceste teste se fac pe baza cerințelor care nu au fost incluse inițial în planul de testare.

    Signup and view all the flashcards

    Riscurile "de proiect"

    Riscurile "de proiect" sunt legate de probleme care pot afecta desfășurarea proiectului în sine, cum ar fi lipsa de resurse sau o schimbare a priorităților.

    Signup and view all the flashcards

    Riscurile "de produs"

    Riscurile "de produs" sunt legate de probleme care pot afecta produsul în sine, cum ar fi erori de software sau o proiectare defectuoas.

    Signup and view all the flashcards

    Study Notes

    Testarea Software

    • Testarea software este procesul de evaluare a unei aplicații sau a unui sistem pentru a asigura funcționarea corectă, conform cerințelor stakeholderilor.
    • Scopul este identificarea și corectarea erorilor, asigurând calitatea și fiabilitatea produsului.
    • Testarea exhaustivă este imposibilă, deci se concentrează pe cazuri de testare importante, prioritizate prin evaluarea riscurilor.
    • Defectele tind să se grupeze (defect clustering), dacă un defect este găsit într-un modul, e posibilă apariția altor defecte în același modul.
    • Testarea timpurie a defectelor este mai eficientă: detectarea defectelor devreme în ciclul de dezvoltare reduce costurile remedierii.
    • Paradoxul "pesticide": testele repetate pot reduce eficiența dacă nu sunt actualizate.
    • Testarea arată prezența defectelor, nu absența lor.
    • Testarea este dependentă de context.
    • Absența defectelor nu garantează succesul.
    • Testarea software este crucială, deoarece erorile din software pot avea consecințe costisitoare sau chiar periculoase. Exemple: accidentul de avion Airbus A300 din 1994, incidentul Therac-25 din 1985, eşecul lansării unui satelit militar din 1999 și o eroare în 1996 care a afectat conturile a 823 de clienți ai unei bănci importante. "Eroarea este umană, dar pentru lucrurile cu adevărat rele ai nevoie de un computer." - Paul Ehrlich.

    Importanța Testării

    • Asigura calitatea produselor IT, verificând funcționalitatea conform specificațiilor, prevenind probleme înainte de lansare și menținând satisfacția clienților.
    • Reduce costurile și timpul de remediere a erorilor, identificând și corectând defectele devreme, prevenind erorile post-lansare și crescând eficiența de dezvoltare software.
    • Îmbunătățește experiența utilizatorilor prin interfețe intuitive, funcționalități fiabile, performanță stabilă, fidelizând utilizatorii și atragând clienți noi.
    • Testarea este importantă, deoarece erorile de software pot fi costisitoare sau chiar periculoase.

    Tipuri de Testare

    • Manuală: testerul uman simulează comportamentul utilizatorului final, identificând probleme de interfață și utilizabilitate.
    • Automată: scripturi și instrumente specializate execută teste repetitive, optimizând sarcini de verificare constantă și precisă, precum verificarea funcționalităților după actualizări, cu o intervenție umană minimă.

    Triunghiul Resurselor

    • Timpul, banii și calitatea sunt interdependente și se influențează reciproc.
    • Testarea nu elimină direct defectele, dar nu poate nici să crească calitatea în sine. Testarea este parte a unui proces mai larg, care include și designul software care trebuie să răspundă nevoilor utilizatorilor.

    Clasificări Testare

    • După execuție: manuală (tester) sau automată (scripturi).
    • După moment: statică (înainte de execuție) și dinamică (în timpul execuției).
    • După conținut: funcțională (funcționalități) și non-funcțională (performanță, securitate, utilizabilitate, accesibilitate).

    Erori / Defecte / Debugging

    • Eroare (Bug): eroare în cod care produce comportament neașteptat.
    • Defect: deviație de la comportamentul sau cerințele specificate ale software-ului, afectând designul, cerințele sau funcționalitățile. Poate necesita modificări ale cerințelor, designului sau funcționalităților pentru corecție.
    • Debugging: procesul de identificare și corectare de către dezvoltatori a erorilor din cod.

    Testare Statică / Dinamică

    • Testare Statică (Verification Testing): găsește defecte fără a rula codul, analizând cod, documente de cerințe și design. Scop preventiv, executată devreme în SDLC.
    • Testare Dinamică (Validation Testing): analizează comportamentul codului pentru a găsi și rezolva defectele. Mai costisitoare decât cea statică, realizată mai târziu în SDLC. Exemple: unit testing, integration testing, system testing, acceptance testing.

    Testare Funcţională / Non-Funcţională

    • Testare Funcțională: verifică dacă o aplicație funcționează conform specificațiilor.
    • Testare Non-Funcțională: evaluează performanța, securitatea, utilizabilitatea și accesibilitatea.

    Faze SDLC

    • Planning: stabilește cerințele funcționale ale aplicației.
    • Requirement Analysis: definește cerințele.
    • Design: planifică limbaje, baze de date, interfețe, arhitectură s.a.
    • Implementation/Coding: implementare și codare.
    • Testing: verificare conform specificațiilor.
    • Deployment: lansare.
    • Maintenance: întreținere.

    Modele SDLC

    • Waterfall, V-model, Prototype, Spiral, Iterative Incremental, Agile.

    Unit Testing

    • Testare la nivel de modul/componentă izolat, pentru a verifica corectitudinea implementării. Executată de dezvoltatori.

    Integration Testing

    • Module individuale sunt combinate și testate ca grup.
    • Scop: identificarea erorilor din interacțiunea modulelor integrate.
    • Abordări: Big-bang, Bottom-up, Top-down, Mixed.
    • Utilizează Stubs (module fictive replicând comportamentul modulelor apelate) și Drivers (module care apelează modulele testate).

    System Testing

    • Testează comportamentul sistemului ca întreg.
    • Scenarii complete (end-to-end), simulând mediul real de utilizare.
    • Verificare și a cerințelor non-funcționale.

    Acceptance Testing

    • Verifică dacă sistemul îndeplinește cerințele de afaceri și așteptările utilizatorilor.
    • Executat în locația clientului.
    • Tipuri: Alpha, Beta, UAT, BAT, CAT, RAT, OAT.

    Testare de fum (smoke testing)

    • Testare rapidă pentru a verifica stabilitatea software-ului, înainte de testele mai detaliate.

    Testare de regresie

    • Testare efectuată după modificări în software, pentru a se asigura că modificările nu au introdus noi erori.

    Documentația testării

    • Planul de testare: Documentează scopul, strategia, metodologia și resursele pentru testarea software-ului.
    • Cazurile de testare: Descriu scenariile specifice care vor fi testate.
    • Rapoartele de testare: Documentează rezultatele testelor.

    Automatizarea testării

    • Automatizarea testării folosește instrumente software pentru a executa teste repetitive și a compara rezultatele cu așteptările.
    • Automatizarea este benefică pentru:
      • Reducerea timpului de testare
      • Îmbunătățirea acurateței
      • Îmbunătățirea consistenței

    Testarea bazată pe risc

    • Testarea bazată pe risc prioritizează scenariile testate pe baza probabilității și impactului potențial al erorilor.

    Etica testării

    • Respectarea eticii este importantă în testarea software-ului. Testarea nu trebuie să fie distructivă și nu trebuie să se facă cu intenția de a sabota software-ul.

    Testarea ca o abilitate

    • Testarea software-ului este o abilitate esențială în domeniul dezvoltării de software.
    • Testele din software necesită:
      • Gândire critică
      • Abilități de comunicare
      • Atenție la detalii
      • Competență în domeniul tehnic
      • Capacitatea de a lucra în echipă

    Matricea de trasabilitate

    • Matricea de trasabilitate leagă cerințele de afaceri de cerințele funcționale și de cazurile de testare corespunzătoare.
    • Ajută la asigurarea testării tuturor cerințelor și la identificarea ușoară a problemei dacă un caz de testare nu reușește.

    Tehnici de proiectare a cazurilor de testare

    • Exhaustivitatea testelor este imposibilă.
    • Variate tehnici de proiectare a cazurilor de testare sunt disponibile.

    Partiționarea echivalentă

    • Tehnică "cutie neagră" aplicabilă tuturor nivelurilor de testare.
    • Împarte setul de condiții de testare în secțiuni "echivalate" în comportament.

    Analiza valorii de frontieră

    • Testează limitele dintre secțiunile definite prin partiționare.

    Analiza deciziilor

    • O modalitate de gestionare a intrărilor ce produc rezultate diferite.

    Diagrame de stare

    • Descriu stările sistemului, tranzițiile, evenimentele și acțiunile.

    Tabelul de stare

    • Organizează stările, evenimentele și tranzițiile într-un tabel.

    Testarea cazurilor de utilizare

    • Folosită pentru testarea la nivel de acceptare (system level) prin modelarea tranzacțiilor complete ale utilizatorilor.

    Exemplu: caz de utilizare a unei aplicații de rezervare a zborurilor

    • Descrie, pas cu pas, interacțiunea utilizatorului cu sistemul.
    • Include scenarii de succes și de eroare.

    Revizuire

    • Proces de analiză a unui produs software de către un grup de experți pentru a identifica îmbunătățiri.
      • Produsul de lucru poate fi documentație, cerințe, specificații, cod, plan de testare etc.
    • Ajută la găsirea defectelor devreme.
    • Echipa de testare face parte de obicei din întâlnirile de revizuire.

    Exemplu: Revizuirea specificațiilor unui document de design

    • Planificare (data, ora, locație, agenda).
    • Pregătire (analiză individuală, identificare probleme).
    • Revizuire (moderator, autor, colaboratori, înregistrator).
    • Re-muncă (corectări).
    • Urmărire (distribuire document revisuit).

    Tipuri de revizuiri

    • Informală (condusă de autor).
    • Tehnică (condusă de un administrator).
    • Inspecție (formală, cu criterii clare).

    Prezentarea de cazuri de utilizare pentru a crea o structură de "decompunere a muncii"

    • Exemple de funcționalități testate: conectare, sistem nou, fax, etc.
    • Se estimează efortul necesar pentru fiecare funcționalitate.

    Strategii de estimare a efortului de testare

    • De jos în sus (descompunere în sarcini de bază).
    • De sus în jos (bazată pe experiență).

    Planul de testare

    • Conține tipuri de teste, personal, cronogram.

    Tipuri de teste

    • Testare funcțională
    • Testare performanță
    • Testare securitate
    • Testare utilizabilitate
    • Testare integrare
    • Testare regresie

    Riscurile testării

    • Riscuri de proiect: Exemplu: plecarea unui membru cheie. Se evaluează probabilitatea și impactul, se identifică soluții.
    • Riscuri de produs: Exemplu: configurare/instalare incorectă software. Se evaluează metode de prevenire.

    Raportarea defectelor

    • Rapoartele bug-uri conțin: ID, descriere, versiune, pași reproducere, imag. data, referințe, raportor, dificultate, prioritate.

    Stările bug-urilor

    • Nou, Respinge, Aprobat, În curs, Rezolvat, Închis, Re-deschis.

    Ciclul de viață al bug-ului

    • Descoperire, Nou, Respinge, Aprobat, Alocat, În curs, Fixat, Verificat, Închis, Re-deschis.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Description

    Acest quiz explorează conceptele esențiale legate de testarea sistemului și tipurile asociate de testare de acceptanță. Află mai multe despre principiile testării software, beneficiile testării timpurii și miturile legate de absența defectelor. Întrebările acoperă atât definiții, cât și aplicații practice ale acestor procese.

    More Like This

    Software Testing Types
    10 questions

    Software Testing Types

    HealthfulPrimrose avatar
    HealthfulPrimrose
    System Testing and Integration Testing Quiz
    44 questions
    Use Quizgecko on...
    Browser
    Browser