cum de a proiecta un caz de testare

Aceasta ar putea fi o întrebare destul de naivă pentru majoritatea dintre voi, dar sunt oarecum confuză de ea.

când trebuie să proiectăm un caz de testare pentru un anumit program, cum știm care este valoarea/rezultatul așteptat. Programul ar putea face niște calcule complexe și ar putea folosi algoritmi complexi pentru a calcula rezultatul final, care nu poate fi calculat prin alte mijloace. Chiar dacă am fi calculat acea aceeași intrare folosind alte mijloace și apoi vom folosi valoarea de ieșire prin această medie ca o valoare așteptată pentru a testa programul nostru original, atunci cum putem fi siguri că valoarea așteptată care a fost calculată dintr-un alt program/înseamnă că a fost corect, pentru a fi sigur că programul trebuie de asemenea testat, așa că suntem înapoi la pătrat.

0

3 răspunsuri

Dacă un calcul este prea complex pentru a fi calculat pe hârtie cu un calculator, atunci cum ai putea chiar să îl programezi? Chiar dacă calculul trebuie făcut în pași mici, puteți scrie mai multe cazuri de testare diferite pe hârtie și puteți testa acea etapă a calculului în program și puteți lucra în acest mod. Un computer poate face doar ceea ce omul spune să facă.

2
adăugat
@Bilal Tu o puteți rezolva manual, ar dura doar o vreme. Dar cum altcineva o să o faceți? Când faceți asta și scrieți cazuri de testare, trebuie să parcurgeți aceiași pași ca programul dvs. și să scrieți noi valori pentru toate instrucțiunile de atribuire și să vă asigurați că acestea sunt ceea ce vă așteptați să fie.
adăugat autor Nick Rolando, sursa
Nu te-am urmărit destul, dacă un program implementează un algoritm, cum arată cazul nostru de testare că programul a implementat corect algoritmul? acest lucru poate părea o întrebare foarte de bază, dar sunt nou la testare.
adăugat autor comatose, sursa
De exemplu, lucrez în prezent la o problemă care seamănă cu problema rucsacului, acum dacă vreau să scriu un test pentru acest program pe care l-am implementat, cum să procedez? Eu pot scrie câteva cazuri pentru input-uri mici (unde pot rezolva cu creion/hârtie), dar dacă vreau să verificați programul pentru intrări mari, eu cant rezolva asta de mână, așa cum am verifica asta?
adăugat autor comatose, sursa
Nici eu n-am putut sa ma gandesc la nici o alta alternativa, dar ma gandeam ca poate a existat o cale "magica", oricum, am luat-o acum, Multumesc
adăugat autor comatose, sursa

Întrebarea dvs. nu are sens.

Testarea este activitatea de tratare a sistemului sub test ca o cutie neagră. Ceea ce cereți sistemului (în cazul tău: calculul) este în esență: Ok, atunci când alimentez metoda cu aceste valori, atunci vreau să returneze această valoare .

Pur și simplu nu există altă cale decât cunoașterea în prealabil a ceea ce ar trebui să fie rezultatul unei operațiuni. Ar putea fi o mulțime de lucru în unele cazuri, dar orice altceva ar fi logic inconsecvent și ar testa doar faptul că autorul testului știe să folosească cadrul de testare ...

1
adăugat

Întrebarea dvs. primește cea mai mare problemă în testarea software-ului, cunoscută sub numele de "oracol".

Pentru a sprijini testarea, am dori să avem o sursă de rezultate de încredere pentru orice test de intrare. În majoritatea scenariilor de testare, acest lucru înseamnă în esență că avem echivalentul unei implementări perfecte, fără bug-uri, a sistemului testat. Bineînțeles, dacă am fi avut acest lucru, am putea să renunțăm probabil la dezvoltarea SUT și la testarea sa.

Dar, de obicei, nu este cazul. Deci, există multe strategii practice (și unele exotice) pentru obținerea rezultatelor așteptate pentru cazurile de testare. Acest lucru poate fi la fel de simplu ca și utilizarea unei foi de calcul pentru a calcula funcțiile, a alege anumite interogări care au rezultate cunoscute sau pentru a compara rezultatele unui sistem echivalent sau similar cu sistemul de testare.

Capitolul 18 din cartea mea, Testarea sistemelor orientate pe obiecte , oferă 16 modele de testare pentru oracole, dintre care majoritatea pot fi automatizate.

This page gives a summary of the book and links to Amazon http://www.robertvbinder.com/home/thought-leadership/books/

Bob

1
adăugat