Testarea software. O perspectiva economica

Testarea exhaustiva a unei solutii software este imposibila. In aceasta serie de articole vom discuta motivele pentru care acest lucru este adevarat.

De ce acest subiect

Ma gandesc la acest subiect de peste un an si inca nu am raspunsuri la toate intrebarile legate de el. Tot acum un an am fost surprins sa descopera ca afirmatia „Testarea exhaustiva a unei solutii software este imposibila” nu era evidenta pentru toata lumea. Eram intr-o discutie cu o persoana care m-a intrebat de ce spun asta. I-am recomandat sa citeasca cartea lui Glenford Myers, Software Reliability: Principles and Practices, unde exista un exemplu legat de aceasta situatie.

Exista o teorema in matematica (teorema lui Cantor) care spune ca un set de numere naturale poate sa fie numarat si, daca este numarat, atunci nu este finit. Si daca avem un calculator care aduna aceste numere, va fi IMPOSIBIL sa il testam exhaustiv.

O alta dovada pentru afirmatia de mai sus este programa ISTQB care spune ca testarea software exhaustiva este imposibila. Si in final mai avem si bunul simt, prezent la toti cei care lucreaza ca sotfware testeri. Cu totii stim si intelegem ca este imposibil sa scriem TOATE test cases si sa selectam TOATE datele legate de testare. Si ca nu putem sa parcurgem TOT codul si sa testam TOATE actiunile pe care utilizatorii le-ar putea face.

Pare un adevar absolut, dar inca apar intrebari legate de asta, in special la nivel de top management:

Cum sa raspundem la aceste intrebari? Toate implica testare software exhaustiva, lucru pe care nu il putem face.

Criterii de finalizare a testelor software

Aici mai apare o intrebare: Care sunt criteriile pe baza carora consideram testele software finalizate? Aproape toate aceste criterii ar trebui sa contina:

Mare atentie la cuvintele „costuri” si „beneficii” din lista de mai sus. In cele din urma, daca trebuie sa cheltuiesti mai multi bani (o metrica universala de a masura munca si rezultatele) pentru a corecta un defect versus impactul pe care acest defect l-ar avea din punct de vedere financiar, atunci nu ar trebui sa il corectezi.

Vrei sa incepi o cariera in testare software sau sa iti imbunatatesti abilitatile de testare software? Descopera cursurile noastre.

Alexandr Alexandrov
Software Testing Consultant

Originally published at https://www.luxoft-training.ro.