Sunteți pe pagina 1din 9

Testarea software

- Laborator -
A. Întrebări

1. De ce e nevoie de specificare pentru a face testarea?


2. De ce path testing este de obicei impracticabilă?
3. De ce e important testing coverage criterion?
B. Probleme
1. Un program calculează aria unui triunghi. Intrările sunt 3
mulţimi de coordonate x,y. Construiţi testele funcţionale.
2. Un program acceptă doi timpi (în format de 12 ore) şi
ieşirile reprezintă numărul de minute scurse între cei doi
timpi. Construiţi testele funcţionale.
3. Un subprogram de căutare binară caută lista numelor în
ordine alfabetică şi returnează true dacă numele e în listă
şi fals în caz contrar. Construiţi testele funcţionale.
C. Problemă propusă
1. Pentru următorul cod, identificaţi toate căile posibile, path tests şi
data flow tests:
A1. Răspunsuri la Întrebări
1. De ce e nevoie de specificare pentru a face testarea?
R: O specificare e necesară pentru a şti dacă
comportarea concretă (actual behavior) e corectă sau nu.
2. De ce path testing este de obicei impracticabilă?
R: Pentru că într-un program pot exista un număr uriaş
de căi posibile.
3. De ce e important testing coverage criterion?
R: Pentru că acest criteriu forţează pe cel care face
testele să testeze diversele părţi ale software-ului.
B1. Răspunsuri la Probleme
1. Un program calculează aria unui triunghi. Intrările sunt 3
mulţimi de coordonate x,y. Construiţi testele funcţionale.
R: Testele funcţionale ar trebui să includă triunghiurile corecte, non-
triunghiurile, condiţii de eroare etc.
2. Un program acceptă doi timpi (în format de 12 ore) şi
ieşirile reprezintă numărul de minute scurse între cei doi
timpi. Construiţi testele funcţionale.
R: Testele funcţionale ar trebui să includă teste mai mici de 1 oră,
mai mare de 1 oră, unul mai mare de 12 ore, unul care necesită
transport de ore şi unul cu timpii daţi în ordine inversă.
3. Un subprogram de căutare binară caută lista numelor în
ordine alfabetică şi returnează true dacă numele e în listă
şi fals în caz contrar. Construiţi testele funcţionale.
R: Testele funcţionale ar trebui să includă următoarele teste:
- Primul nume e în listă
- Ultimul nume e în listă
- Un nume dinaintea primului nume
- Un nume după ultimul nume
- Un nume la mijloc
- Un nume care nu e în listă chiar după primul nume
- Un nume care nu e în listă chiar înaintea ultimului nume
C1. Indicaţie la problema propusă
1. Căile posibile sunt reprezentate în tabelul de mai jos.