Sunteți pe pagina 1din 26

CURS TEKWILL

“MANUAL QA”
Trainer: Alina Paiu

August – Octombrie 2022


LECTIA #1 – AGENDA:

• 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

• Licentiata în Tehnologii Informationale


(Universitatea Tehnică a Moldovei)
• Experienta de peste 6 ani în testarea diverselor
proiecte IT (ETL testing, Functional testing, SIT
testing, etc.)
• Certificare în ISTQB Foundation, ISTQB
Intermediate, Agile și SAFe
• Pasionata de autocunoastere si dezvoltare
profesionala

3
PLANUL CURSULUI

30 lectii Luni, miercuri, vineri Format Online


15-AUG – 26-OCT (18:30 – 20:30) (prin Zoom)
(durata lectiei: 2 ore)

Evaluare finala Certificat de absolvire


(la sfirsitul cursului)
CONTINUTUL CURSULUI
CONTINUTUL CURSULUI

9/3/20XX 6
PLANUL LECTIILOR

1. Kahoot la inceputul lectiei noi - intrebari bazate pe lectii anterioare

2. Predarea materiei noi - prezentare Powerpoint

3. Exercitii - in cadrul lectiilor practice

4. Intrebari & Raspunsuri - in timpul lectiei sau la sfarsit

5. Apelul - evaluarea prezentei la curs


CUNOSTINTA CU VOI
(COMPLETARE 5-10 MIN)

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

• Creșterea probabilității că software-ul testat va funcționa corect în oricare circumstanțe;


• Creșterea probabilității că software-ul testat va corespunde tuturor cerințelor declarate (descrise);
• Oferirea informațiilor actualizate cu privire la starea produsului la moment.

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)

(eroare) - cauzata de o activitate umana (in documentatie sau in cod)

- rezultatul erorii dupa testarea codului

(esec) - rezultatul defectului nefixat (poate duce la


moarte, irosire de timp sau resurse, etc.)
De ce software esueaza?

Cerinta #1 Cerinta #2 Cerinta #3 Cerinta #4

Documentatia Documentatia Documentatia Eroare facuta in


descrisa corect descrisa corect descrisa corect documentatie

Design elaborat Design elaborat Eroare facuta in Design elaborat


conform cerintei conform cerintei design conform cerintei

Codul scris Erori facute in cod Codul elaborat Codul elaborat


conform la design conform la design conform la design

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

1. Testarea arată prezența defectelor și nu garantează lipsa lor

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.

2. Testarea exhaustiva este imposibila

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.

Modelul de escaladare a costurilor


Eroarea este gasita in Cost comparativ

Documentarea cerintelor $1
Programarea $10
Testarea programului $100
Testarea sistemului $1000
Testarea de acceptanta $10000

Rularea aplicatie pe Live $100000


(mediul de productie)
7 principii de baza ale testarii

4. Gruparea/clasterizarea defectelor (defect clustering)

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.

• 80% din defecte sunt cauzate de 20% a componentelor/modulelor aplicatiei

Gruparea defectelor poate aparea din cauza:

• 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

6. Testarea diferă în functie de context

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

7. Nu există software lipsit de erori

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

Test Monitoring & control (Monitorizare si control):


• Monitorizarea intregului proces de testare si raportarea
discrepantelor intre test plan si rezultate actuale
• Monitorizarea rezultatelor testelor si hotarirea daca 100%
test coverage (acoperirea cu teste) a fost atins
• Determinarea calitatii componentului sau sistemului prin
monitorizarea rezultatelor testelor
• Determinarea daca mai multe teste sunt necesare
Procesul Fundamental al Testarii

Test Analysis (Analiza):


• Analiza documentatiei sistemului (cerinte functionale, non-
functionale, etc.)
• Cautarea erorilor in documentatie (ambiguitati,
discrepante, inconsistente, neclaritati, etc.)

Test Design (Proiectare):


• Crearea cazurilor de test (Test Cases) si prioritizarea
acestora
• Identificarea datelor de test pentru executia
cazurilor de test
• Configurarea mediului de testare, instalare de
instrumente necesare pentru testare, etc.
Procesul Fundamental al Testarii

Test Implementation (Implementare)


• Aceasta etapa raspunde la intrebarea -“Avem totul necesar
pentru a incepe executia testelor?”
• Verificarea mediilor de testare (sa fie gata pentru executie)
• Verificarea datelor de testare (daca sunt prezente in mediu)
• Crearea testelor automatizate (daca este planificat)

Test Execution (Executie)


• Executarea testelor (Test Cases) si raportarea
rezultatelor (passed, failed, blocked)
• Analiza discrepantelor intre rezultatul asteptat si cel
actual
• Raportarea defectelor
Procesul Fundamental al Testarii

Test Completion (Finalizare)


• Tragerea lectiilor pe baza a ceea ce nu a mers bine in
cadrul procesului de testare
• Crearea rapoartelor de ‘test summary’ – pentru
comunicarea rezultatelor de testare la alti membri ai
echipei (in afara echipei de dezvoltare si testare) –
management de exemplu
• Documentarea proceselor de testare
• Inchiderea mediilor de testare si predarea acestora
altor echipe – celor de mentenanta (daca asta a fost
ultima iteratie de dezvoltare a produsului)

S-ar putea să vă placă și