Скачать презентацию Facultatea de Informatică Universitatea Al I Cuza — Скачать презентацию Facultatea de Informatică Universitatea Al I Cuza —

10c3d8304298c2a16c59600e10ada9d2.ppt

  • Количество слайдов: 33

Facultatea de Informatică Universitatea “Al. I. Cuza” - Iaşi - Practică – Cursul 1 Facultatea de Informatică Universitatea “Al. I. Cuza” - Iaşi - Practică – Cursul 1 continuare Adrian Iftene [email protected] ro 24. 03. 2007 Adrian Iftene - Practică

Introducere în Testare 24. 03. 2007 Adrian Iftene - Practică Introducere în Testare 24. 03. 2007 Adrian Iftene - Practică

Cuprins n n n 24. 03. 2007 Unde ne aflăm? Definiţia şi Scopurile Testării Cuprins n n n 24. 03. 2007 Unde ne aflăm? Definiţia şi Scopurile Testării Software Fapte şi Numere Adrian Iftene - Practică 3

Dilema Calităţii Software Calitate Timp 24. 03. 2007 Preţ Adrian Iftene - Practică 4 Dilema Calităţii Software Calitate Timp 24. 03. 2007 Preţ Adrian Iftene - Practică 4

Cuprins n n n 24. 03. 2007 Unde ne aflăm? Definiţia şi Scopurile Testării Cuprins n n n 24. 03. 2007 Unde ne aflăm? Definiţia şi Scopurile Testării Software Fapte şi Numere Adrian Iftene - Practică 5

Testare Software - Definiţie “The process of exercising or evaluating a system by manual 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

Testare Software Testarea Software NU este o fază n Este un proces care trebuie Testare Software Testarea Software NU este o fază n Este un proces care trebuie integrat în toate fazele construcţiei produsului software n Există documente de testare asociate la fiecare fază a dezvoltării n 24. 03. 2007 Adrian Iftene - Practică 7

Care sunt Scopurile Testării? De a localiza şi preveni “bugs” cât mai curând posibil Care sunt Scopurile Testării? De a localiza şi preveni “bugs” cât mai curând posibil n De a efectua toate testele corespunzător cerinţelor, într-un mod cât mai eficient şi mai economic n De a aduce produsul software la un nivel de calitate cât mai ridicat (pentru client) Toate acestea se execută folosind Metodologile de Implementare n 24. 03. 2007 Adrian Iftene - Practică 8

De ce avem “bugs” în Software? Comunicarea deficitară sau blocajele de comunicare n Înţelegerea De ce avem “bugs” în Software? Comunicarea deficitară sau blocajele de comunicare n Înţelegerea deficitară n Presiunea timpului n Nivelul programatorului este scăzut n 24. 03. 2007 Adrian Iftene - Practică 9

Comunicare Deficitară 24. 03. 2007 Adrian Iftene - Practică 10 Comunicare Deficitară 24. 03. 2007 Adrian Iftene - Practică 10

Comunicare deficitară – În tratarea cerinţelor 24. 03. 2007 Adrian Iftene - Practică 11 Comunicare deficitară – În tratarea cerinţelor 24. 03. 2007 Adrian Iftene - Practică 11

Cuprins n n n 24. 03. 2007 Unde ne aflăm? Definiţia şi Scopurile Testării Cuprins n n n 24. 03. 2007 Unde ne aflăm? Definiţia şi Scopurile Testării Software Fapte şi Numere Adrian Iftene - Practică 12

De unde vin Problemele Software? Cerinţe definite incomplet n Modelare ambiguă sau insuficientă n De unde vin Problemele Software? Cerinţe definite incomplet n Modelare ambiguă sau insuficientă n Erori de programare n 24. 03. 2007 Adrian Iftene - Practică 50% 30% 20% 13

Bugs - Costul Fixării Cerinţe Modelare 24. 03. 2007 Impl. Test. Int. Test. sist. Bugs - Costul Fixării Cerinţe Modelare 24. 03. 2007 Impl. Test. Int. Test. sist. Adrian Iftene - Practică Client 14

Atenţie Găsirea târzie a bugs un cost cât mai mare pentru a le fixa 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

Erori? Trebuie fixate cât mai Devreme Posibil CERINŢE MODELARE IMPLEM. 24. 03. 2007 TESTARE Erori? Trebuie fixate cât mai Devreme Posibil CERINŢE MODELARE IMPLEM. 24. 03. 2007 TESTARE CLIENT Adrian Iftene - Practică 16

Testare Profesională Profesionalismul în testare constă în abilitatea de a selecta numărul minim de 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

Când Oprim Testarea? Niciodată n Când numărul de erori găsite într-un ciclu de testare Când Oprim Testarea? Niciodată n Când numărul de erori găsite într-un ciclu de testare este mai mic decât un număr stabilit n Când nu mai sunt găsite defecte critice şi majore n Când timpul a expirat n 24. 03. 2007 Adrian Iftene - Practică 18

Schema unui Sistem de Testare Mediul de Testare Designs Acquires Configures Utilizes Support Determine Schema unui Sistem de Testare Mediul de Testare Designs Acquires Configures Utilizes Support Determine the usage of Procese de Test 24. 03. 2007 Create Articulates Trains Applies Internalize Echipa de Test Provides a Platform for the operation of Designs Acquires Configures Utilizes Support Testware Adrian Iftene - Practică 19

Metodologii de Testare 24. 03. 2007 Adrian Iftene - Practică Metodologii de Testare 24. 03. 2007 Adrian Iftene - Practică

Conţinut Diferenţa dintre testare SW şi debug SW n Nivele de Test n Clase Conţinut Diferenţa dintre testare SW şi debug SW n Nivele de Test n Clase de Test n Conţinutul Testării n Testare şi Dezvoltare SW n 24. 03. 2007 Adrian Iftene - Practică 21

Diferenţa dintre testare software & debug Testare Debug • Verificarea respectării cerinţelor • Verificarea Diferenţa dintre testare software & debug Testare Debug • Verificarea respectării cerinţelor • Verificarea validităţii secţiunilor • E făcută de programator • De regulă e făcută de o entitate externă şi neutră • Este un proces planificat şi controlat 24. 03. 2007 • E un proces aleator Adrian Iftene - Practică 22

Nivele de Test Unitate sau Debug. n Modul/Sub-Sistem. n Integrare. n Sistem. n Acceptare. Nivele de Test Unitate sau Debug. n Modul/Sub-Sistem. n Integrare. n Sistem. n Acceptare. n 24. 03. 2007 Adrian Iftene - Practică 23

BLACK BOX Input Output Spec 24. 03. 2007 Adrian Iftene - Practică 24 BLACK BOX Input Output Spec 24. 03. 2007 Adrian Iftene - Practică 24

WHITE BOX IF END 24. 03. 2007 DO Adrian Iftene - Practică 25 WHITE BOX IF END 24. 03. 2007 DO Adrian Iftene - Practică 25

Unit Testing n n n Testarea unei funcţii, a unui program, a unui ecran, Unit Testing n n n 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

Testare la Integrare n n n Testarea funcţionării unor module în acelaşi timp Testarea Testare la Integrare n n n 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

Testare Automată vs Testare Manuală n n n Se găsesc rapid n problemele Se Testare Automată vs Testare Manuală n n n Se găsesc rapid n problemele Se câştigă timp când e nevoie să repetăm testele Procesul de scriere a codului e mult mai flexibil n Reduce volumul de testare manuală Dezvoltarea software devine previzibilă şi repetabilă 24. 03. 2007 Rezolvă problemele de interfaţă: scrierea corectă a textelor, mesajelor, aranjarea corectă în pagină, în ordinea care trebuie, sunt vizibile, etc. Realizarea Scenariilor de test poate fi o treabă de durată şi anevoioasă şi implică o cunoaştere temeinică a întregului sistem Adrian Iftene - Practică 28

Links n n n n n http: //www. automatedqa. com/techpapers/testing. asp http: //www. codeproject. Links n n n n n http: //www. automatedqa. com/techpapers/testing. asp http: //www. codeproject. com/tools/tilo. asp http: //www. parasoft. com/jsp/products/home. jsp? product=C pp http: //www. verifysoft. com/en_ctapp. html http: //msdn. microsoft. com/library/default. asp? url=/library/e n-us/dncdev 00/html/vc 00 f 6. asp http: //www. codeproject. com/gen/design/autp 5. asp http: //www. codeproject. com/cpp/Unit. Tests. Reporter. asp http: //www. codeproject. com/gen/design/onunittesting. asp http: //www. codeagazine. com/Article. aspx? quickid=0411031 24. 03. 2007 Adrian Iftene - Practică 29

Coding Style – Motivaţie n n 24. 03. 2007 Convenţiile de programare sunt importante Coding Style – Motivaţie n n 24. 03. 2007 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 Adrian Iftene - Practică 30

Coding Style - Cerinţe n n Folosirea fără rezerve a Comentariilor: ce fac procedurile, Coding Style - Cerinţe n n 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

Coding Style - Links n C++: n n n Java: n n 24. 03. Coding Style - Links n C++: n n n Java: n n 24. 03. 2007 http: //www. chris-lott. org/resources/cstyle/ http: //geosoft. no/development/cppstyle. html http: //java. sun. com/docs/codeconv/ http: //geosoft. no/development/javastyle. html Adrian Iftene - Practică 32

Complexitatea proiectului A: 2 p B: 1 p C: 0 p Un proiect care Complexitatea proiectului A: 2 p B: 1 p C: 0 p Un proiect care necesită o cantitate mai mare de muncă va fi recompensat mai bine. Se ia in calcul şi 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: 2 p raportul final, B: 1 p C: 0 p activitate Se punctează modul în care a fost realizată fişa cerinţelor şi felul în care studentul a interacţionat cu 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 programare A: 1 p B: 0. 5 p C: 0 p Se punctează aderarea la stilul de programare menţionat în fişierul raport. html, denumirea autodescriptivă a variabilelor etc. In aceasta categorie intra si folosirea adecvata a unui sistem de generare automata a documentaţiei (javadoc, doxygen etc. ) Proiectare şi modularitate A: 1 p B: 0. 5 p C: 0 p Se punctează modul în care este structurat proiectul, posibilitatea de a reutiliza cod în alte proiecte. Scenarii de Test A: 1 p B: 0. 5 C: 0 p Se punctează folosirea unităţilor de testare automată în cadrul proiectului (JUnit, cppunit, NUnit, phpunit . . . ) 24. 03. 2007 Adrian Iftene - Practică 33