(Testabilitatea software) ©

Un program este testabil, după mine, dacă are o structură clară în care se identifică situaţii distincte care generează seturile de date de test.
Multă lume crede că scrie programe testabile, dar în realitate, citind textul sursă nu se văd deloc cazurile distincte care fac obiectul prelucrării.
Din această cauză se construiesc seturi de date de test în mod arbitrar şi când se trece la exploatare se vede că au fost ramuri din program care nu au fost activate prin testare şi rezultatele fie că sunt incorecte, fie că sunt incomplete, fie că nu se face nici o prelucrare. Caracteristica de testabilitate rezultă încă din faza de analiză a problemei de rezolvat, căci de acolo se identifică situaţiile distincte ce trebuie tratate.
La un program care implementează un algoritm de programare liniară, testabilitatea este adtă de structurarea programului pe situaţiile identificare în faza de analiză şi anume:
- funcţia obiectiv pe minim, inecuaţii pe mai mic sau egal cu zero,
- funcţia obiectiv pe minim, inecuaţii pe mai mare sau egal cu zero,
- funcţia obiectiv pe minim, inecuaţii pe egal cu zero,
- funcţia obiectiv pe maxim, inecuaţii pe mai mic sau egal cu zero,
- funcţia obiectiv pe maxim, inecuaţii pe mai mare sau egal cu zero,
- funcţia obiectiv pe maxim, inecuaţii pe egal cu zero,
- combinaţii la funcţie obiectiv pe minim sau pe maxim,
- combinaţii la restricţii, pe mai mic decât zero, mai mare decât zero sau egal cu zero.
Testabilitatea unui program este dată şi de posibilitatea de a urmări modul în care se fac prelucrările prin introducerea a tot felul de afişări de rezultate intermediare, dar şi a valorilor unor variabile de control, acea urmă a programului. Noi trebuie să avem mare grijă să scriem programe testabile, căci toate artificiile pe care le facem pentru a urmări execuţia se dezactivează după ce ne-am convins că programul este bun, dar se vor activa ori de câte ori facem modificări.
Testarea unui program se face:
- pe bucăţi de către cei ce au construit modulele,
- integral de către cei ce gestionează produsul asamblat.
Fiecare dintre ei au sarcini precise şi încă se mai fac corecţii în textele sursă pentru a le face şi mai testabile, dacă acest lucru este benefic procesului de mentenanţă.



                                                                                                                                                                                                    Înapoi