Când trebuie efectuată testarea?
Începutul este pe jumătate făcut. Această regulă se aplică aproape oricăror domenii de activitate și chiar testării software-ului.
Deseori, la începutul proiectului, testerele emite entuziasm, elaborând documentația (strategia de testare, planul de testare sau cazurile de testare).
Dar în viitor există adesea dificultăți. După prima rundă de testare, testerele găsesc de obicei o grămadă de bug-uri și apoi se apropie de cea de-a doua etapă oarecum relaxată. Există așa-numitul. factorul uman și tendința umană generală, când devine plictisitor să se efectueze operații repetate.
În astfel de situații, mulți oameni au sentimentul că fac o muncă monotonă și, prin urmare, își pierd interesul de a continua testarea software-ului deja familiar. Și în timpul celei de-a treia, aproape rotunde a testerelor, întrebarea inexorabil atârnă: "Când este necesar să se oprească testarea?"
Fiecare tester a adresat cel puțin o dată o astfel de întrebare, o versiune extinsă a căreia ar arăta astfel:
"Când, în ce etapă și cum să oprim testarea?"
Mulți testere consideră că nu există condiții speciale care să indice că testarea ar trebui finalizată. Dar pentru a răspunde la această întrebare, va trebui să analizăm activitatea de testare de la început până la sfârșit.
Să presupunem că sarcina este de a testa un nou proiect.
- Echipa de testeri primește cerințele.
- Apoi urmează planificarea și dezvoltarea.
- Documentația pentru testare este pregătită și testată.
Testarea, runda a 1-a)
Echipa de testeri începe testarea, de îndată ce transferă produsul software nou creat.
În timpul fazei de testare, testerii efectuează diverse scenarii, încercând să spargă software-ul și să detecteze defectele. (Deoarece aplicația este nouă și este evaluată pentru prima dată, rata defectelor detectate va fi relativ ridicată).
Dezvoltatorii elimină defectele și revin dezvoltarea la testeri pentru un al doilea test.
Testerii efectuează o verificare a defectelor, apoi continuă testarea de regresie.
Odată ce defectele grave sunt eliminate și software-ul demonstrează o funcționare stabilă, echipa de dezvoltare va lansa următoarea versiune.
Testarea, runda a 2-a)
Testerele încep în a doua rundă de testare și repetă ceea ce sa făcut în timpul primului tur.
În timpul acestui proces, de regulă, se găsesc mai multe defecte.
Defectele sunt rezolvate de dezvoltatori, iar aplicația este trimisă din nou pentru verificare.
Testerii efectuează teste repetate și teste de regresie a acelor părți ale dezvoltării care nu au suferit modificări.
Acest lucru poate fi continuat pe o perioadă nedeterminată. Runda 3, 4, 5 ... până când software-ul este complet eliminat de bug-uri.
Din punct de vedere grafic, acest proces poate fi reprezentat după cum urmează:
Dar este teoretic posibil să găsim absolut toate defectele? Aceasta este o întrebare de un milion de dolari, dar să încercăm să răspundem.
Majoritatea aplicațiilor sunt complicate, deoarece partea din față a testelor lor este destul de mare. Nu este imposibil să detectezi absolut toate defectele, dar va dura pentru totdeauna.
Chiar și după ce majoritatea erorilor din software sunt găsite, nimeni nu poate spune cu certitudine că aplicația a devenit impecabilă.
În plus, o astfel de sarcină nu merită. Scopul testării software-ului este de a vă asigura că este funcțional și funcționează conform planificării. Acest lucru se realizează prin încercări de a sparge sau de a căuta abateri de la comportamentul așteptat.
Aplicațiile pot avea un număr infinit de defecte și este imposibil să se efectueze testarea software-ului până când acestea sunt complet eliminate. Niciodată nu știți care dintre bug-urile va fi ultima.
Și dacă "încetarea testării, după eliminarea completă a defectelor" nu este acum un criteriu, atunci de ce ar trebui să procedăm?
Să încercăm să ne dăm seama care factori ar trebui să fie considerați cei mai importanți?
Decizia de a opri testarea depinde, de obicei, de timpul (care este disponibil), de bugetul și durata necesară de testare.
Cel mai adesea, decizia de a finaliza testul este luată la încheierea timpului / bugetului sau când toate scenariile de testare sunt finalizate. Dar aceasta este o soluție de compromis, care poate fi în detrimentul calității.
Să presupunem că trebuie să testați un modul software, un anumit buget alocat pentru această lucrare. Timp: 1 lună. Numărul total de scenarii de testare: 200.
Prima săptămână. Ați reușit - chiar în prima zi ați găsit opritorul de afișare a defecțiunilor. Dar testul sa oprit timp de 3 zile. Nu puteți verifica alte scripturi până când bug-ul nu este stabilit. După ce ați pierdut timpul, veți începe din nou să lucrați.
Până la sfârșitul săptămânii, s-au testat 20 de scenarii și s-au găsit mai multe bug-uri mai periculoase.
Săptămâna 2. Începeți testarea, căutați cu atenție defectele. Pentru a doua săptămână, găsiți câteva bug-uri de nivel 1, 2 și 3 de critică. În acest timp, a fost posibil să se verifice 70 de scenarii.
Săptămâna 3. Până la începutul celei de-a treia săptămâni, toate defectele cu prioritate ridicată au fost eliminate, dar acum recalibrarea bugurilor detectate anterior este adăugată la scripturile actuale. În cea de-a treia săptămână, ați acoperit 120 de scenarii și ați găsit mai multe bug-uri. Acum rămâne doar să căutați defecte ale ordinii a treia.
Săptămâna 4. Până la începutul celei de-a patra săptămâni, este necesar să verificăm din nou defectele și cele 80 de scenarii rămase. Până la sfârșitul săptămânii ați verificat 180 de scenarii; toate defectele cu prioritate ridicată au fost eliminate și testate din nou.
Datele privind testele efectuate sunt prezentate în tabel: