2. Programul Cursului de Testare
Manual Testing - ~3 saptamini
Introduction to Data Bases – ~1-2 saptamini
JAVA(Object-Oriented programming) - ~ 2 luni
Automation Testing - ~ 2 luni
3. Avantajele Cursului
Cursul dureaza doar 6 luni, dupa care:
Puteti deveni Manual Software Tester
Puteti deveni Automation Software Tester
Aveti cunostinte in programare (JAVA)
Sunteti capabili de a trece certificarea ISTQB
(The Certified Tester Foundation Level in Software Testing)
4. Necesitatea de a testa softul ?
Cerinte mari in privinta calitatii:
Cerintele producatorului
Cerintele consumatorului
Calitatea proasta a softului duce la pierderi de:
Bani
Timp
Reputatie
Cazuri mortale
5.
6. Scopul Testarii
Descoperirea defectelor pe tot parcursul elaborarii unui produs
software
Verificarea ca defectele descoperite au fost rezolvate
Verificarea ca procesul de rezolvare (bug fixing) nu a introdus alte
defecte in soft
A informa managementul despre nivelul de calitate a softului si despre
nivelu de risc
A ridica nivelu de calitate a softului
7. Software Testing Basic Terminology
Error – mistake made by a person
Bug/Defect/Fault – an Error made in the code
Failure – if a Defect is executed it might cause the system to fail
Test Case – a scenario with executable steps and expected results
Test Suite – a collection of Test Cases that refer to a common feature/functionality
Test Plan – a document defining the objectives of testing and its activities
Test Data – specific data that is used in Test Cases
Requirement – a set of conditions/specifications on what should the software do and
how it should behave
8. 7 principii fundamentale a Testarii
1. Testarea arata prezenta defectelor dar nu si absenta lor
(Testing shows the presence of defects, not their absence)
2. Testarea exhaustiva nu este posibila
(Exhaustive testing is impossible)
3. Testarea timpurie
(Early testing saves time and money )
4. Clusterele de defecte
(Defects cluster together)
5. Paradoxul pesticidelor
(Pesticide paradox)
6. Testarea depinde de context
(Testing is context dependent)
7. Absenta erorilor
(Absence-of-errors is a fallacy)
9. Software Development Life Cycle (SDLC)
1. Analiza Cerintelor
(Analysis/Requirements Analysis)
2. Designul Sistemei
(System Design)
3. Implementarea(Dezvolarea)
(Implementation/Development)
4. Testarea
(Testing)
5. Lansarea
(Deployment)
6. Mentenanta
(Maintenance)
Ciclul de dezvoltare/viata al produsului software
10. Fundamental Test Process
1. Test Planning – identificarea obiectivelor a testarii si metodele de
testare (crearea unui document Test Plan)
2. Test monitoring and control – comparatia continua a progresului
actual cu Test Planul creat anterior
3. Test analysis – identificarea partilor softului ce trebuie de testat
(what to test?)
4. Test design - identificarea conditiilor/prioritatilor si Test Data
5. Test implementation – scrierea testelor (Test Cases)
6. Test execution – executarea testelor
7. Test completion – raportarea/analiza defectelor, numarul lor, statu
lor etc..
11. Test Levels (Niveluri de Testare)
Component(Unit/Module) Testing – testarea celor mai mici
componente a softului
Integration Testing – testarea a interactiunii dintre mai multe
componente/unitati/module
System Testing – testarea sistemului ca un intreg
Acceptance Testing – Validarea ca softul functioneaza correct si
analiza calitatii softului (daca este gata de a fi lansat)
Alpha Testing – testarea interna de catre lucratorii companiei
Beta Testing - testarea de catre utilizatorii finali
12. Software Testing vs Quality Assurance(QA)
Software Testing(Testarea) – procesul de executare a unui program, avind ca obiectiv
identificarea defectelor
Quality Assurance(Asigurarea Calitatii) – verificare ca activitatile de testare sunt
indeplinite in conformitate cu un proces setat
Process Engineering – cautarea cailor de a imbunatati procesul de testare
Process Improvement – modificarea procesului de testare cu scopu de a impiedica
aparitia defectelor
13. Testing Types
Functional Testing – testarea sistemului pentru a identifica cit de bine sistemul
isi executa functiile sale in baza cerintelor functionale.
(“what” the system should do?/ce face softul?)
Non-Functional Testing – testarea sistemului in baza cerintelor non-functionale
(“how well” the system behaves/cum se comporta softul?)
15. Testing Types
Black-Box Testing – este o tehnică de testare software
fara a avea cunostinte desrpre structura interna a softului.
White-Box Testing – (cutia transparentă sau cutia deschisă) – tehnica de
creare a cazurilor de test asupra codului programului pentru a detecta
orice scenariu cu potenţial eşec. (necesita cunostinte despre structura
interna a softului)
16. Testing Types
Testarea legata de schimbari:
Regression Testing – testarea partilor unui software (care au fost
deja testate anterior) dupa unele modificari noi care ar putea
strica partile deja existente a softului
Retesting – testarea ca un defect identificat a fost rezolvat
17. Metode de testare
Exploratory Testing – testarea fara scenariu
Scripted Testing – testarea in baza unui scenario (Test Case)
Manual Testing – executarea unui test de catre o persoana in mod in
care un utilizator final ar fi folosit softul
Automated Testing – crearea unui program de teste care se executa automat
Positive Testing
Negative Testing
18. Test Case
Descrierea succinta a testului
Preconditii
Pasii de urmat
Rezultatele asteptate
Rezultatul final asteptat
Test Case - un set de pasi si rezultate asteptate pe care un tester le executa
pentru a verifica functionalitatea softului.