Calitatea Sistemelor Software


Info
Fisa disciplinei
Curs Dorel Lucanu
Seminar: Oana Ilie


Anunturi
Cursul din saptamana 24-28 noiembrie va fi recuperat.
Examen: 29 ianuarie 2009, ora 8:00, C309 (Nu este permisa documentatie).
Cuvinte cheie (pentru examen):
Ingineria calitatii software-ului: principalele activitati
Testare: eroare, greseala, defect, testare "white-box", testare "black-box", principii, modele de testare, acoperire, patternuri de testare pentru metode, clase, subsisteme, aplicatii, testare regresiva (regression testing).
Metrici: bazate pe marimea software-ului, bazate pe structura codului, bazate pe arhitectura sistemului.


Teme
Tema 1. Sa se descrire o planificare de activitati privind asigurarea calitatii pentru proiectul realizat pentru examenul de licenta sau alt proiect recent. Mentionati care activitati au fost realizate si care nu. In cazul (cel mai probabil) ca nu toate activitatile au fost realizate, descrieti cum credeti ca s-ar fi imbunatatit calitatea produsului soft daca toate activitatile ar fi fost realizate. Faceti o estimare a efortului suplimentar necesar pentru realizarea activitatilor de asigurarea calitatii.
O descriere a activitatilor de planificare gasiti in sectiunea 5.2 a cartii lui Jeff Tian.
Tema va fi realizata sub forma unui referat ce va fi inmanat titularului de disciplina la cursul din data de 29 oct.2008 (termen fix).
Tema 2. La adresa http://www.cmcrossroads.com/bradapp/ftp/src/libs/C++/AvlTrees.html se gaseste o clasa C++ care implementeaza arborii AVL.
  1. Sa se precizeze daca aceasta clasa ete nemodala, unimodala, cvasi-modala sau modala. Justificare.
  2. Sa se proiecteze un model de greseli (fault model) pentru aceasta clasa.
  3. Sa se proiecteze un model de testare (test model).
  4. Sa se construiasca seturi cu cazuri de test conform modelului de testare.
  5. Sa se scrie un program care ruleaza toate seturile de cazuri de test. Rezultatele testarii vor fi incluse intr-un raport.
In urma acestei testari ar trebui sa fiti capabil sa decideti daca aveti incredere in utilizarea clasei respective intr-o aplicatie proprie.
Este permisa utilizarea de instrumente software de testare.
Se pot utiliza si alte limbaje de programare, cu conditia gasirii pe net a unei implementari a arborilor AVL in limbajul respectiv. In acest caz se va mentiona adresa de unde a fost preluata implementarea (de preferat siturile open source sau cele academice).
Tema va fi o arhiva continand un document word/pdf/html cu descrierea solutiei (inclusiv raportul testarii) si codul sursa si va fi transmisa prin email pana la 9 ianuarie 2009.
Tema pentru sesiunea de restante. Cerintele sunt acelseasi de la tema 2, dar pentru implementarea de grafuri de la adresa http://jmvidal.cse.sc.edu/352/fall98/ps11/.
Termenul de predare: cu cel putin trei zile inaintea examenului.


Resurse
Jeff Tian. Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement. John Wiley and Sons, Inc., and IEEE Computer Society Press. 2005
G. J. Myers. The Art of Software Testing. Second Edition. John Wiley, 2004.
R. V. Binder. Testing Object Oriented Systems: Models, Patterns and Tools, Addison-Wesley Object Technology, 1999. Aceasta este referinta de baza pentru cursul din acest an.
Behrouz Far. Software Metrics Curs predat la "Department of Electrical and Computer Engineering, Univ. of Calgary" (SENG 421)
Stephen H. Kan. Metrics and Models in Software Quality Engineering, 2nd ed. (560 p.), Addison-Wesley Professional (2002).
Trusted Components: Reuse, Contracts and Patterns. Curs predat la ETH Zurich.
Prezentarile lui Jeff Tian
ISI IEC 9126 (descriere preluata din www.biblioteca.ase.ro/downres.php?tc=1478)

Laboratoare

Prezentari

Prima prezentare s-a bazat pe Partea I din cartea lui Tian.
Introducere in testare (Binder)
Testare si Sisteme Orientate-Obiect(Binder)
Modele de testare (Binder)
Modele combinationale (Binder)
State Machine (Binder)
Result-oriented Test Strategy (Binder)
Class Testing (Binder)
Method Scope Test Patterns (Binder)
Class Scope Test Patterns (Binder)
Subsystem Test Patterns (Binder)
Integration testing (Binder)
Testing Application Systems (Binder)
Regression Testing (Binder)
Software Metrics(Kan)
Metrici. Se vor consulta prezentarile
Behrouz Far. Software Metrics Curs predat la "Department of Electrical and Computer Engineering, Univ. of Calgary" (SENG 421)