Documente Academic
Documente Profesional
Documente Cultură
Curs 1 - Introduction
1. Ce reprezinta Testarea?
R: O investigatie tehnica a unui produs bazata pe teste ce au ca rol sa ofere persoanelor
interesate in cauza informatii legate de calitatea soft-ului. [Kaner]
2. Enumerati 5 obiective ale testarii.
R: gasirea de bug-uri importante, pentru a fi inlaturate; evaluarea calitatii produsului;
ajuta managerii in luarea deciziilor; blocarea lansarii de produse incomplete; verificarea
interoperabilitatii cu alte produse.
Curs 2 Engineering process
1. Prezentati etapele tipice din ciclul de viata al unui produs software. Detaliati.
R:
a) Analizarea cerintelor si specificatiilor
Reprezinta procesul de stabilire a serviciilor cerute si a constrangerilor legate de
operatiile sistemului si dezvoltare.
Cerintele procesului ingineresc: studiu fezabilitate; elucitarea cerintelor si analiza,
specificarea cerintelor, validarea cerintelor.
b) Design
Proiectarea structurii software ce corespunde specificatiilor.
c) Implementarea
Translatarea structurii(de mai sus) intr-un program executabil.
Design si implementare
=> procesul de convertire a specificatiilor sistemului intr-un sistem executabil.
=> aceste activitati sunt strans legate.
d) Testare
V&V are rolul de a arata ca un sistem este conform cu specificatiile si intruneste
cerintele clientului sistemului.
Presupune cautare si revederea proceselor si testarea sistemului
Testarea Sistemului
=>presupune executarea sistemului folosind cazuri de testare ce sunt derivate din
specificatiile datei reale, ce trebuie procesata de sistem.
e) Mentenanta
Pe masura ce cerintele din cauza diferitelor circumstante de activitate, soft-ul ce suporta
aceasta activitate trebuie sa evolueza si sa se schimbe.
f) Ciclu de viata
Reprezinta un mod particular de a realiza activitati in legatura cu diferite faze ale
fabricate
3. Calitatea proiectelor IT
R:
Functionalitate este gradul n care un sistem si ndeplineste functia destinata.
Caracteristici sunt caracteristicile sistemului special care apeleaza la utilizatori
Iesiri de sistem sunt ecrane si rapoartele pe care sistemul le genereaza
Fiabilitatea este capacitatea unui produs sau serviciu pentru a efectua cum era de asteptat,
n conditii normale
Disponibilitatea este caracteristic pentru un produs sau serviciu pentru a fi accesibila
atunci cnd este necesar sa fie
Aderese de Mentenabilitate- usurinta de efectuare de ntretinere pe un produs
Adese de Performanta - ct de bine un client doreste sa foloseasca performantele unui
produs sau unui serviciu
Scalabilitate este abilitatea a sistemelor de a se adapta si de a realiza asa cum ne asteptam
conform cerintelor folosite crescande.
4. V & V
Verification vs. Validation
Verification:
Software-ul ar trebui sa fie in conformitate cu specificatiile lui.
Validation:
Software-ul ar trebui sa faca ce ii zice utilizatorul.
The V & V process
Este un intreg process de ciclare-V&V trebuie aplicat la fiecare pas in procesul
software.
Are 2 obiective principale
-descoperirea defectelor(erorilor) in system
-evaluarea dc sistemul este sau nu util si usor de utilizat intr-o situatie de
exploatare.
V& V goals
V&V ar trebui sa stabileasca increderea ca software-ul este adaptat scopului.
Aceasta nu inseamna ca e complet lipsit de defecte(erori).
Mai degraba, aceasta trebuie sa fie suficient de bun pentru ce a fost creat sa fie utilizat si
tipul
de utilizare va determina gradul de incredere de care are nevoie.
V & V confidence
Depinde de cerintele sistemului,asteptarile utilizatorului si mediul marketingului
V & V planning
Planificarea atenta este necesara pentru a obtine cel mai mult de la testarea si
inspectarea
proceselor.
Planificarea ar trebui sa inceapa devreme in procesul de development.
Planul ar trebui sa identifice balanta intre verificarea statica si testare.
Test planning se refera la definirea standardelor pentru procesul de testare,mai degraba
decat descrierea product testelor.
Rework
Follo w-up
The software testing process
Testing and debugging
Defect testing si debugging sunt procese disticnte.
V&V are grija sa stabileasca existenta unor defecte in program.(in cazul in care acestea
exita)
Debugging are grija sa localizeze si sa repare aceste erori.
Debugging implica formularea de ipoteze legate de comportamentul programului decat
sa testeze aceste ipoteze pt a gasi eroarea.
JUNIT
? Este un framework simplu pt creare automata de teste unit.
? JUNIT test cases sunt clase Java care contin una sau mai multe metode unit
test,si aceste teste sunt grupate in test suites.
? Poti rula testele individual sau poti rula toate test suites.
? Fiecare JUnit test ar trebui sa se execute rapid.
Design test cases
Prepar e test data
Run program with test data Compare results to test cases
Test
cases
Test
data
Test
results
Test
repor ts
CURS 4 Testing Types
Black box testing
- Este bazat pe observarea caracteristicilor externe ale programului ce il testam.
Testele sunt gandite fara a tine cont de cum functioneaza programul intern.
- Testele sunt realizate pe prototipuri dezvoltate si versiuni
- Tehnici simple: tabele de decizie, testare integritate bd, testare exceptii, testare
random
- Testele sunt conduse de cerintele produsului si specificatii des utilizate in testarea
sistemului si testarea acceptantei
- Nu vor arata efectele laterale ale actiunii. Exemplu: trimitere de mail nedorit.
White box testing
- Este numita si testare glass box, bazata pe observarea caracteristicilor interne ale
programului
- Testele sunt gandite sa exerseze diferite parti sigure ale codului utilizand
cunostiintele pe caile logicii si datelor interne
- Cerintele si specificatiile nu sunt considerate
- Tehnici simple: analiza caii de baza, acoperire expresie, acoperire margini/conditii,
etc.
- Priotizare optimala
- Teste la putere maxima(de nivel inalt)
Unghiuri moarte
- Riscuri ne-identificate
- Anumiti testeri bazat pe risc(Categ) se pare ca opereaza subiectiv.
5)Testarea bazata pe stres
Cazuri reprezentative:
- Volum mare de date, conectare dispozitive, lant de tranzactii lungi
- Conditii de memorie mici, esec dispozitive, virusi, alte crize
- Incarcari extreme
Puncte Forte
- Expune punctele slabe ce vor aparea in domeniu
- Expune risc de securitate
Unghiuri moarte
- Slabiciuni ce nu rezulta (nu sunt vizibile) in urma testarii.
6) Testarea regresiva
Cazuri reprezentative:
- Regresie bug, regresie veci stabilite
- Regresie a GUI automata a suitelor de teste
Puncte Forte
- Ieftin de executat
- Testare config
Unghiuri moarte
- curba de imunizare
- Orice nu e acoperit in suita de regresie
- Costul de gestiune a suitei regresive
7) Testarea exploratorie
Cazuri reprezentative:
- Testare exploratorie cu indemanare a produsului final
- Testare rapida & testare de urgenta
- Troubleshooting/ urmarire testare defecte
Puncte Forte
- Bazata pe client, bazata pe risc
- In concordanta cu modficarile circumstantelor
- Gasire bug ce altfel sunt pierdute
Unghiuri moarte
- Cu cat stim mai putin, cu atat riscam sa pierdem
- Limitat de slabiciunile testorilor
- E pt avansati.
8) User Testing
Cazuri reprezentative
Beta testing
Step 4: Refactor
Step 5: Repeat the process