Sunteți pe pagina 1din 33

Facultatea de Informatică

Universitatea “Al.I.Cuza” - Iaşi

- Practică –
Cursul 1 continuare

Adrian Iftene
adiftene@infoiasi.ro

24.03.2007 Adrian Iftene - Practică


Introducere în Testare
Cuprins

 Unde ne aflăm?
 Definiţia şi Scopurile
Testării Software
 Fapte şi Numere

24.03.2007 Adrian Iftene - Practică 3/37


Dilema Calităţii Software

Calitate

Timp Preţ

24.03.2007 Adrian Iftene - Practică 4/37


Cuprins

 Unde ne aflăm?
 Definiţia şi Scopurile
Testării Software
 Fapte şi Numere

24.03.2007 Adrian Iftene - Practică 5/37


Testare Software - Definiţie
“The process of exercising or evaluating

a system by manual or automated

means to verify that it satisfies specified

requirements or to identify differences

between expected and actual results.”


(IEEE Standard Glossary, 1983)

24.03.2007 Adrian Iftene - Practică 6/37


Testare Software
 Testarea Software NU este o fază
 Este un proces care trebuie integrat în

toate fazele construcţiei produsului


software
 Există documente de testare asociate la

fiecare fază a dezvoltării

24.03.2007 Adrian Iftene - Practică 7/37


Care sunt Scopurile Testării?
 De a localiza şi preveni “bugs” cât mai
curând posibil
 De a efectua toate testele corespunzător

cerinţelor, într-un mod cât mai eficient şi


mai economic
 De a aduce produsul software la un nivel

de calitate cât mai ridicat (pentru client)


Toate acestea se execută folosind
Metodologile de Implementare
24.03.2007 Adrian Iftene - Practică 8/37
De ce avem “bugs” în Software?
 Comunicarea deficitară sau blocajele de
comunicare
 Înţelegerea deficitară
 Presiunea timpului
 Nivelul programatorului este scăzut

24.03.2007 Adrian Iftene - Practică 9/37


Comunicare Deficitară

24.03.2007 Adrian Iftene - Practică 10/37


Comunicare deficitară – În
tratarea cerinţelor

24.03.2007 Adrian Iftene - Practică 11/37


Cuprins

 Unde ne aflăm?
 Definiţia şi Scopurile
Testării Software
 Fapte şi Numere

24.03.2007 Adrian Iftene - Practică 12/37


De unde vin Problemele
Software?

 Cerinţe definite incomplet 50%


 Modelare ambiguă sau insuficientă 30%
 Erori de programare 20%

24.03.2007 Adrian Iftene - Practică 13/37


Bugs - Costul Fixării

100

80

60

40

20

0
Cerinţe Modelare Impl. Test. Int. Test.sist. Client

24.03.2007 Adrian Iftene - Practică 14/37


Atenţie
Găsirea târzie a bugs  un
cost cât mai mare pentru a
le fixa

24.03.2007 Adrian Iftene - Practică 15/37


Erori? Trebuie fixate cât mai
Devreme Posibil

CERINŢE MODELARE IMPLEM. TESTARE CLIENT

24.03.2007 Adrian Iftene - Practică 16/37


Testare Profesională
Profesionalismul în testare constă în
abilitatea de a selecta numărul minim
de cazuri de testare eficientă ce va fi
capabil să verifice numărul maxim de
funcţii ale sistemului.

24.03.2007 Adrian Iftene - Practică 17/37


Când Oprim Testarea?
 Niciodată
 Când numărul de erori găsite într-un ciclu

de testare este mai mic decât un număr


stabilit
 Când nu mai sunt găsite defecte critice şi

majore
 Când timpul a expirat

24.03.2007 Adrian Iftene - Practică 18/37


Schema unui Sistem de Testare
Mediul de Testare

Designs
Determine the Acquires
usage of Configures
Provides a
Utilizes
Support Platform
for the
operation of
Echipa
Create de Test Designs
Articulates Acquires
Trains Configures
Applies Utilizes
Internalize Support
Procese
de Test
Testware

24.03.2007 Adrian Iftene - Practică 19/37


Metodologii de Testare

24.03.2007 Adrian Iftene - Practică


Conţinut
 Diferenţa dintre testare SW şi debug SW
 Nivele de Test

 Clase de Test

 Conţinutul Testării

 Testare şi Dezvoltare SW

24.03.2007 Adrian Iftene - Practică 21/37


Diferenţa dintre testare
software & debug
Testare Debug

•Verificarea respectării •Verificarea validităţii


cerinţelor secţiunilor

•De regulă e făcută de o •E făcută de


entitate externă şi neutră programator

•Este un proces •E un proces aleator


planificat şi controlat
24.03.2007 Adrian Iftene - Practică 22/37
Nivele de Test
 Unitate sau Debug.
 Modul/Sub-Sistem.

 Integrare.

 Sistem.

 Acceptare.

24.03.2007 Adrian Iftene - Practică 23/37


BLACK BOX

Input Output

Spec

24.03.2007 Adrian Iftene - Practică 24/37


WHITE BOX

IF

END DO

24.03.2007 Adrian Iftene - Practică 25/37


Unit Testing
 Testarea unei funcţii, a unui program, a unui
ecran, a unei funcţionalităţi
 Se face de către programatori
 Predefinită.
 Rezultatele trebuie documentate
 Se folosesc simulatoare pentru Input şi Output

24.03.2007 Adrian Iftene - Practică 26/37


Testare la Integrare
 Testarea funcţionării unor module în acelaşi
timp
 Testarea coexistenţei
 Se execută de către programatori sau de
către testări analişti
 Testare pre-planificată
 Rezultatele se documentează

24.03.2007 Adrian Iftene - Practică 27/37


Testare Automată vs Testare Manuală
 Se găsesc rapid  Rezolvă problemele de
problemele interfaţă: scrierea corectă
 Se câştigă timp când e a textelor, mesajelor,
nevoie să repetăm testele aranjarea corectă în
pagină, în ordinea care
 Procesul de scriere a trebuie, sunt vizibile, etc.
codului e mult mai flexibil 
Realizarea Scenariilor de
 Reduce volumul de testare test poate fi o treabă de
manuală durată şi anevoioasă şi
 Dezvoltarea software implică o cunoaştere
devine previzibilă şi temeinică a întregului
repetabilă sistem
24.03.2007 Adrian Iftene - Practică 28/37
Links
 http://www.automatedqa.com/techpapers/testing.asp
 http://www.codeproject.com/tools/tilo.asp
 http://www.parasoft.com/jsp/products/home.jsp?
product=Cpp
 http://www.verifysoft.com/en_ctapp.html
 http://msdn.microsoft.com/library/default.asp?
url=/library/en-us/dncdev00/html/vc00f6.asp
 http://www.codeproject.com/gen/design/autp5.asp
 http://www.codeproject.com/cpp/UnitTestsReporter.asp
 http://www.codeproject.com/gen/design/onunittesting.asp
 http://www.code-agazine.com/Article.aspx?
quickid=0411031
24.03.2007 Adrian Iftene - Practică 29/37
Coding Style – Motivaţie
 Convenţiile de programare sunt importante
deoarece:
 80% din timpul alocat unei componente
software este întreţinere
 Foarte rar un produs software este întreţinut
pe toată durata folosirii lui de către aceeaşi
persoană
 Convenţiile de cod îmbunătăţesc lizibilitatea
produsului, şi permite inginerilor software să
înţeleagă rapid un program nou
24.03.2007 Adrian Iftene - Practică 30/37
Coding Style - Cerinţe
 Folosirea fără rezerve a Comentariilor: ce
fac procedurile, ce reprezintă variabilele,
explicarea paşilor algoritmului, etc.
 Folosirea numelor sugestive pentru
variabile si proceduri
 Scrierea modulara a proiectului
 Folosirea perechilor de tip set/get,
start/stop, adauga/sterge, salvare/incarcare
24.03.2007 Adrian Iftene - Practică 31/37
Coding Style - Links
 C++:
 http://www.chris-lott.org/resources/cstyle/
 http://geosoft.no/development/cppstyle.html
 Java:
 http://java.sun.com/docs/codeconv/
 http://geosoft.no/development/javastyle.html

24.03.2007 Adrian Iftene - Practică 32/37


Complexitatea A: 2p  Un proiect care necesită o cantitate mai mare de
proiectului B: 1p  muncă va fi recompensat mai bine. Se ia in calcul şi
C: 0p originalitatea ideii precum şi alegerea
corespunzătoare a tehnologiei de implementare.
Acolo unde este cazul se ia in considerare munca
necesara implementării interfeţei si calitatea
rezultatului.
Fişa cerinţelor, A: 2p  Se punctează modul în care a fost realizată fişa
raportul final, B: 1p  cerinţelor şi felul în care studentul a interacţionat cu
activitate C: 0p conducătorul de laborator ("clientul"). Un punctaj
bun se acordă dacă clientului îi este clar cu ce se
ocupă proiectul şi i-a fost prezentată evoluţia
proiectului.
Stil de A: 1p  Se punctează aderarea la stilul de programare
programare B: 0.5 menţionat în fişierul raport.html, denumirea auto-
p  descriptivă a variabilelor etc. In aceasta categorie
C: 0p intra si folosirea adecvata a unui sistem de generare
automata a documentaţiei (javadoc, doxygen etc.)
Proiectare şi A: 1p  Se punctează modul în care este structurat proiectul,
modularitate B: 0.5 posibilitatea de a reutiliza cod în alte proiecte.
p
C: 0p
Scenarii de A: 1p  Se punctează folosirea unităţilor de testare automată
Test B: 0.5  în cadrul proiectului (JUnit, cppunit, NUnit,
C: 0p phpunit ...)
24.03.2007 Adrian Iftene - Practică 33/37

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