Documente Academic
Documente Profesional
Documente Cultură
“MANUAL QA”
Trainer: Alina Paiu
• Cunostinta cu trainer
• Planul cursului
• Planul lectiilor
• Cunostinta cu participanti
• Intrebari si raspunsuri
• Subiectul 1: Bazele testarii
DESPRE TRAINER
Alina Paiu
Senior QA Engineer la Endava
3
PLANUL CURSULUI
9/3/20XX 6
PLANUL LECTIILOR
Q&A
BAZELE TESTARII
Exemple de esuare software
• Primul zbor de testare al lui Ariane 5 (Zborul Ariane 5 501 ) din 4 iunie 1996 a eșuat, racheta
autodistrugându-se la 37 de secunde după lansare din cauza unei defecțiuni în software-ul de
control.
Exemple de esuare software
• În noiembrie 2005, informații despre primii 10 criminali căutați din Marea Britanie au fost
afișate pe un site web. Publicarea acestor informații a fost descrisă în ziare și la radio și
televiziune de dimineață și, drept urmare, mulți oameni au încercat să acceseze site-ul.
Performanța site-ului s-a dovedit inadecvată sub această sarcină și a trebuit să fie scos offline.
Exemple de esuare software
• Spargerea sistemului de securitate din armata SUA au dus la compromisul detaliilor de plată
ale multor angajati, inclusiv nume, adrese, adrese de e-mail și detalii bancare.
Ce este testarea?
Definitie Scopul testarii:
Testarea software-ului este un proces de • Verificarea (verification) – “Are we building the
verificare și validare a funcționalității unei system right?” este procesul de evaluare a unui
aplicații pentru a afla dacă îndeplinește sistem sau a componentelor acestuia pentru a
cerințele specificate. Este procesul de determina dacă rezultatele fazei de dezvoltare
identificare a defectelor într-o aplicație și curente aplicației îndeplinesc condițiile stabilite la
verificarea funcționării aplicației în începutul procesului de dezvoltare.
conformitate cu cerințele utilizatorului • Validarea (validation) – “Are we building the right
final. system?” este determinarea conformității
software-ului dezvoltat cu așteptările și
necesitățile utilizatorului la capitolul cerințe față
de sistem.
Obiectivele testarii
De ce testarea e importanta?
• Software e scris de oameni – oamenii fac greseli
• Toate produsele software au defecte (daca inca nu le-am gasit nu inseamna ca ele nu sunt deloc)
• Produsele software devin zilnic tot mai voluminoase si complexe (spre exemplu, Windows Visa are
cu 40% mai multe linii de cod decat Windows XP)
• Testarea software ajuta la gasirea defectelor la cele mai timpurii etape de dezvoltare a unui produs
• Un defect in software poate produce diverse tipuri de daune
Un produs software care nu functioneaza corect poate cauza daune:
• Oamenilor (de exemplu, prin cauzarea unui accident de avion în care mor oameni sau prin
defectarea unui sistem de sustinere a vietii dintr-un spital)
• Companiilor (de exemplu, prin facturare incorectă a clientilor, ceea ce duce la pierderea de
bani a companiei)
• Mediului (de exemplu, prin eliberarea substantelor toxice sau radiatii in atmosfera)
Produsul lucreaza Produsul are bug- Produsul are bug- Produsul greșit (nu este
conform asteptarilor uri/defecte uri/defecte la nivelul asteptarilor)
7 principii de baza ale testarii
Prin testare se pot descoperi defecte și se poate reduce considerabil numărul acestora, dar nu se
poate garanta că un software nu mai are nici un defect. Chiar și atunci când toate testele noastre
trec, nu putem dovedi că software-ul are zero defecte.
Testarea tuturor posibilităților nu este fezabilă, iar în anumite situații este chiar imposibilă. E
nevoie de o cantitate optimă de testare bazată pe o analiză de risc a aplicației, alegerea tehnicilor
potrivite de testare și prioritizarea testelor.
7 principii de baza ale testarii
3. Testarea timpurie
Testarea ar trebui să înceapă cât mai devreme în procesul de dezvoltare (Software Development Life Cycle
- SDLC) pentru a salva timp și bani.
Documentarea cerintelor $1
Programarea $10
Testarea programului $100
Testarea sistemului $1000
Testarea de acceptanta $10000
Defectele nu vor fi împărțite uniform în mai multe module ale aplicației software, ci vor fi concetrate
într-o anumită zonă. Acest lucru ajută la reducerea numărului de Test Case-uri și a timpilor de testare.
• Complexitatii sistemului
• Codului volatil (se schimba des)
• Efectelor de schimbare peste schimbare
• Inexperientei dezvoltatorilor
• etc.
7 principii de baza ale testarii
5. Paradoxul pesticidului
Repetarea acelorași teste va deveni ineficientă în timp și nu se vor mai descoperi defecte noi.
Dacă aceleași teste vor fi repetate la nesfâșit, de la un moment dat acestea nu vor mai găsi defecte
noi. De aceea e recomandat să se actualizeze din când în când testele și datele cu care se testează.
Poate chiar să fie adăugate teste noi.
7 principii de baza ale testarii
Testarea se va face diferit în contexte diferite. Spre exemplu, nu se va testa în același fel un modul responsabil de
viata unui pacient și un joc pentru telefon. Riscul este un factor important. Cu cat mai mare este riscul de cauzare a
daunelor – cu atat mai multa investitie e necesara in testare.
7 principii de baza ale testarii
După cum știm din primele două principii, nu se poate testa 100% un software și nu se pot găsi
toate defectele. Deci mereu va exista șansa ca să apară un defect sau o problemă.
Spre exemplu, chiar dacă au fost găsite și s-au corectat foarte multe defecte, cerințele clientului au
fost respectate întocmai și să presupunem că 99% din software funcționează conform acestor
cerințe, tot nu se poate garanta succesul aplicației software. Există posibilitatea ca acea aplicație să
fie greu te utilizat de către consumatori, nu e user-friendly.
Procesul Fundamental al Testarii
Test Planning (Planificarea procesului de testare):
• Ce va fi testat?
• Cum va fi testat?
• Ce activitati va cuprinde procesul de testare?
• Cine va efectua activitatile?
• Care sunt criteriile de finalizare a testarii? (completion
criteria)
• Artefacte elaborate:
• Test Plan
• Orar de activitati