CalculatoareSoftware-ul

Metode de testare software și să le compare. Metoda de testare de testare „cutie neagră“ și metoda de „caseta de alb“

software-ul de testare (SW) a identifica lacunele, deficiențele și erorile din cod, care trebuie să fie abordate. Acesta poate fi, de asemenea, definită ca procesul de evaluare a funcționalității și corectitudinea software-ului cu ajutorul analizei. Metodele de bază de integrare și testarea aplicațiilor software și asigurarea calității este de a testa caietul de sarcini, proiectarea și codificarea, evaluarea fiabilității, validarea și verificare.

metode

Scopul principal al testării software-ului - confirmarea calității software-ului sistemului, prin intermediul aplicațiilor de depanare sistematice în condiții controlate cu atenție pentru a determina caracterul complet și acuratețea acestora, precum și detectarea erorilor ascunse.

Metodele de verificare (testare) Programele pot fi împărțite în statice și dinamice.

Primele includ informale, monitorizarea și revizuirea tehnică, inspecție, pas cu pas analiza, de audit, precum și analiza statică a fluxului de date și de management.

Tehnicile dinamice sunt:

  1. testare cutie alba. Acesta este un studiu detaliat al logicii interne și structura programului. Este necesar să cunoașterea codului sursă.
  2. testare cutie neagră. Această tehnică nu necesită cunoștințe despre funcționarea internă a aplicației. Considerăm că numai aspectele de bază ale sistemului, care nu au legătură sau asociate cu câteva din structura sa logică internă.
  3. Metoda casetă gri. Acesta combină două abordări anterioare. Debugging cu cunoștințe limitate funcționării interne a cererii este combinată cu cunoașterea aspectelor de bază ale sistemului.

testarea transparentă

Alb metoda cutiei folosind scripturi test de control structura desenului sau modelului procedural. Această tehnică permite să dezvăluie erori de punere în aplicare, cum ar fi sistemul de cod de management defectuos prin analizarea unei părți din lucrările interioare ale software-ului. Aceste metode de testare sunt aplicabile nivelurilor de integrare, modul și de sistem. Testerul trebuie să aibă acces la codul sursă și să-l utilizați pentru a afla ce unitate se comportă necorespunzător.

Testarea programelor de alb-box are următoarele avantaje:

  • Acesta permite detectarea unei erori în codul ascuns prin eliminarea liniilor inutile;
  • utilizarea efectelor secundare;
  • acoperire maximă se realizează prin scrierea unui script de test.

dezavantaje:

  • proces cu costuri ridicate, care necesită debugger calificați;
  • multe căi rămân neexplorate din cauza verificare amănunțită a tuturor posibilelor erori ascunse este foarte complexă;
  • o parte din codul va fi trecut neobservat.

testare cutie alba este uneori menționată prin testarea o cutie transparentă sau deschisă, testarea structurală, logică, pe baza codului sursă și arhitectura logică.

Principalele soiuri:

1) testarea, controlul debitului - strategia structurală utilizând modelul de control al fluxului de program și ca favorizarea unor metode mai simple la mai puține mai complexe;

2) Ramura este conceput pentru a studia depanare fiecare opțiune (adevărat sau fals) ale fiecărui operator de control, care include, de asemenea, o soluție combinată;

3) testarea căii principale, care permite testerul să stabilească proiect de procedură logică măsură de complexitate pentru izolarea unui set de bază de căi de execuție;

4) verificarea fluxului de date - strategia de control al fluxului de cercetare de adnotărilor conta informații despre anunțul și utilizează variabilele de program;

5) cicluri de testare - complet concentrat asupra funcționării corecte a proceselor ciclice.

depanare comportamentală

testare cutie neagră tratează software-ul ca o „cutie neagră“ - informații despre lucrările interioare ale programului nu sunt numărate, și a verificat doar aspectele de bază ale sistemului. În acest caz, aparatul de probă trebuie să cunoască arhitectura sistemului fără a avea acces la codul sursă.

Avantajele acestei abordări:

  • eficiență pentru segmentul de cod de mare;
  • ușurința de tester percepție;
  • perspectiva utilizatorului este separată clar de perspectivele de dezvoltator (programator și tester sunt independente unul față de celălalt);
  • mai mult crearea rapidă a testului.

software-ul de testare metoda cutie neagră are următoarele dezavantaje:

  • într-adevăr, a efectuat un număr restrâns de cazuri de testare, având ca rezultat o acoperire limitată;
  • lipsa unei specificații clare dificil de a dezvolta script-uri de testare;
  • eficiență scăzută.

Alte nume pentru această tehnologie -, netransparent, comportamentale de testare funcțională și metoda de depanare dintr - o cutie închisă.

Această categorie poate include următoarele tehnici de testare software-ului:

1) echivalent cu perete despărțitor, care poate reduce setul de date de test ca date de modul software de intrare este defalcate în părți separate;

2) analiza valorii limită se axează pe verificarea limitelor sau a valorilor limită extreme - minim, maxim și valorile tipice de eroare;

3) fuzzing - utilizat pentru a pune în aplicare căutarea introducând erori sau corupte poluiskazhennyh date în modul automat sau semi-automat;

4) capete de acuzare de cauzalitate - o tehnică bazată pe crearea de grafice și determinarea relației dintre acțiune și motivele acesteia: identitatea, negația, SAU logic și logic - cele patru personaje principale, care exprimă relația dintre cauză și efect;

5) Verificarea matrice ortogonale aplicate problemelor cu o suprafață relativ mică de intrare depășește posibilitatea cercetării exhaustive;

6) testarea tuturor perechilor - o tehnică în care un set de valori de testare cuprinde toate combinațiile posibile binare ale fiecărei perechi de parametri de intrare;

7) tranziție de stare depanare - o tehnică utilă pentru verificarea stării mașinii, precum și pentru a naviga prin GUI utilizatorului.

testare cutie neagră: Exemple

tehnica black-box se bazează pe specificațiile tehnice, documentația și descrieri ale interfeței software-ului sau a sistemului. În plus, puteți utiliza modele (formale sau informale), reprezentând comportamentul așteptat al software-ului.

De obicei, această metodă este folosită pentru depanare interfață de utilizator și necesită interacțiunea cu aplicația prin introducerea unei colecții de date și rezultate - de pe ecran, din rapoarte sau imprimate.

Testerul, prin urmare, interacționează cu software-ul prin introducerea, prin acționarea asupra switch-uri, butoane sau alte interfețe. Alegerea datelor de intrare, ordinea de administrare sau secvență de acțiuni poate duce la un număr total foarte mare de combinații, așa cum se arată în exemplul următor.

Cât de multe teste trebuie să facă, în scopul de a verifica toate valorile posibile pentru pavilionul 4 ferestre și câmpul one-off, setați timpul în secunde? La prima vedere calcul este simplu: 4 câmpuri cu două stări posibile - 24 = 16, care trebuie să fie înmulțită cu numărul de poziții posibile 00-99, adică 1600 teste posibile.

Cu toate acestea, acest calcul este greșit: putem stabili că domeniul în două puncte pot conține, de asemenea, un spațiu, adică este alcătuită din două poziții alfanumerice și poate include caractere alfanumerice, caractere speciale, spații, etc. Astfel, în cazul în care .... sistemul este un computer de 16 biți, rândul său, 216 = 65536 câte una pentru fiecare poziție în rezultate cazurilor de testare 4294967296, care urmează să fie multiplicate cu 16 combinații de steaguri, care oferă un total de 68719476 736. în cazul în care o desfășoară la 1 de test pe secundă, CONT totală Testarea olzhitelnost este de 2 177.5 ani. Pentru sistemele de 32 sau 64 de biți, durata chiar mai mult.

Prin urmare, există necesitatea de a reduce această perioadă la un nivel acceptabil. Astfel, tehnicile trebuie aplicate pentru a reduce numărul de cazuri de testare fără a reduce domeniul de aplicare al testării.

Echivalența partiționare

Partiția echivalentă este o metodă simplă, care se aplică pentru orice variabile care sunt prezente în software-ul, dacă valorile de intrare sau de ieșire, simbolic, numeric, și altele. Ea se bazează pe principiul că toate datele dintr-un echivalent al partiției va fi tratată în același mod și de către aceleași instrucțiuni.

În timpul testării, selectat câte un reprezentant al fiecărei partiții special de echivalență. Acest lucru vă permite să reducă în mod sistematic numărul de posibile cazuri de testare, fără pierderi de acoperire a comenzilor și a funcțiilor.

O altă consecință a acestei partitionare este de a reduce explozia combinatorie între diferitele variabile și reducerea asociată a cazurilor de testare.

De exemplu, în (1 / x) 1/2 folosind trei secvențe de date, trei partiții echivalente:

1. Numerele Toate pozitive vor fi tratate în același mod și ar trebui să dea rezultate corecte.

2. Numerele toate negative sunt tratate în același mod, cu același rezultat. Acest lucru este incorect, deoarece rădăcina unui număr negativ este imaginar.

3. Zero vor fi tratate separat și de a da eroare „împărțirea la zero“. Aceasta este o secțiune cu o singură valoare.

Astfel, vom vedea trei secțiuni distincte, dintre care unul este redus la o singură valoare. Există o secțiune „corectă“, care dă rezultate fiabile, și două „greșit“ cu rezultate incorecte.

analiza valorii limită

Prelucrarea la granițele partiționarea echivalente se poate face în mod diferit decât era de așteptat. Investigarea valorilor limită - o metodă bine cunoscută de analiza comportamentului software-ului în aceste zone. Această tehnică face posibilă identificarea unor astfel de erori:

  • utilizarea improprie a operatorilor relaționali (<,>, =, ≠, ≥, ≤);
  • Eroare unică;
  • probleme în cicluri și iterații,
  • tipuri greșite sau mărimea variabilelor utilizate pentru stocarea informațiilor;
  • limitări artificiale asociate cu tipurile de date și variabile.

testarea translucid

Metoda caseta gri crește acoperire de testare, vă puteți concentra pe toate nivelurile dificile ale sistemului printr-o combinație de tehnici alb-negru.

Folosind aceasta tehnica, tester pentru dezvoltarea valorilor de testare ar trebui să aibă cunoștințe de structuri interne de date și algoritmi. Exemple de metode de testare gri-box sunt după cum urmează:

  • model arhitectural;
  • Unified Modeling Language (UML);
  • Modelul de stat (mașină de stare finită).

În metoda din caseta gri pentru a dezvolta cazuri de testare studiate module în codurile de inginerie albe, iar testul real se efectuează pe interfețele programelor de tehnologie negru.

Aceste metode de testare au următoarele avantaje:

  • combinație de avantaje cutii albe și negre tehnician;
  • Tester se bazează pe interfața și specificațiile funcționale, și nu codul sursă;
  • depanator poate face mari cazuri de testare;
  • verificare se face din punctul de vedere al utilizatorului, nu proiectantul programului;
  • a crea dezvoltare de testare personalizate;
  • obiectivitate.

dezavantaje:

  • acoperire test este limitat, deoarece nu există acces la codul sursă;
  • complexitatea defectelor în aplicații distribuite;
  • multe moduri rămân neexplorate;
  • în cazul în care dezvoltatorul de software a lansat testul, apoi investigații suplimentare poate fi excesivă.

Un alt nume pentru tehnicile de caseta gri - depanare translucid.

Această categorie include astfel de metode de testare:

1) matrice ortogonala - utilizarea unui subset al tuturor combinațiilor posibile;

2) depanare matrice folosind starea datelor programului;

3) inspecția regresivă efectuate la noile modificări aduse software-ului;

4) test de șablon care analizează proiectarea și arhitectura unei aplicații bună.

Compararea tehnicilor de testare software

Utilizarea metodelor dinamice duce la o explozie combinatorie a numărului de teste care trebuie să fie dezvoltate, puse în aplicare și efectuate. Fiecare tehnica trebuie utilizat în mod pragmatic, luând în considerare limitele sale.

Singura metodă adevărată nu există, există doar cele care sunt mai potrivite pentru contextul specific. inginerie structurală ne permit să găsim un cod inutil sau rău intenționate, dar acestea sunt complexe și nu sunt aplicabile programelor mari. Metodele bazate pe caietul de sarcini - singurele care sunt în măsură să identifice codul lipsă, dar nu pot identifica un outsider. Unele tehnici sunt mai potrivite pentru un anumit nivel de încercare, eroare de tip sau context decât altele.

Mai jos sunt principalele diferențe dintre cele trei tehnici de testare dinamice - este dat un tabel de comparație între cele trei forme de depanare software-ului.

aspect

Metoda cutie neagră

Metoda casetă gri

Metoda alb-box

Disponibilitatea informațiilor privind componența programului

Analizează doar aspectele de bază ale

cunoaștere parțială cu privire la structura internă a programului

Accesul deplin la codul sursă

Gradul de fragmentare a programului

scăzut

central

mare

Cine produce depanare?

Utilizatorilor finali, testeri si dezvoltatori

Utilizatorilor finali, dezvoltatorii și debuggers

Dezvoltatorii și testeri

bază

Testarea se bazează pe situațiile de urgență externe.

baza de date cu diagrame, diagrame de flux de date, starea de cunoaștere internă a algoritmului și a arhitecturii

Dispozitivul intern este pe deplin conștient

Gradul de acoperire

Mai puțin cuprinzătoare și necesită un minim de timp

central

Potențial cele mai cuprinzătoare. Consumatoare de timp

Datele și frontierele interne

Debug numai prin încercare și eroare

Poate fi verificat domeniile de date și frontierele interne, în cazul în care acestea sunt cunoscute

Cele mai bune domenii de date de testare și frontierele interne

Algoritmul de testare Adecvarea

nu

nu

da

automatizare

Metodele automate de testare software-ului este simplifica mult procesul de inspecție, indiferent de mediul tehnic și contextul. Acestea sunt utilizate în două cazuri:

1) pentru a automatiza sarcinile plictisitoare, repetitive sau meticulous, cum ar fi compararea fișier la câteva mii de rânduri, în scopul de a elibera timp pentru concentrarea tester de puncte mai importante;

2) pentru efectuarea de urmărire sau sarcini care nu pot fi efectuate cu ușurință de către oameni, cum ar fi verificarea performanței sau timpul de răspuns de analiză care poate fi măsurată în sutimi de secundă.

Instrumentele de testare pot fi clasificate în diferite moduri. Diviziunea următoare se bazează pe sarcinile pe care le susțin:

  • management de testare, care include suport de management de proiect, versiuni, configurații, analiza de risc, de urmărire de testare, erori, defecte, precum și instrumente de raportare;
  • Managementul cerințelor, care include cerințe de depozitare și specificațiile, verificați-le complet și ambiguitate, prioritatea lor și trasabilitatea fiecărui test;
  • analiză critică și de analiză statică, inclusiv planificate link-uri de gestionare a corectărilor liste de verificare și reguli, de urmărire a documentelor sursă de comunicare și analiza statică de cod pentru a detecta defecte, care să asigure respectarea standardelor de cod scris de monitorizare a fluxului, și sarcinile, înregistrarea și stocarea de comentarii, de detectare a defectelor și, analiza structurilor și a dependențelor, calculul parametrilor metrice ale codului și arhitectura. În plus, utilizarea compilatoare, analizoare, generatoare și relații de referințe încrucișate;
  • modelare, care include instrumente pentru modelarea comportamentului de afaceri și de a testa modelele;
  • dezvoltarea de testare asigură generarea de date așteptate pe baza unor condiții și modele de interfață de utilizator și cod, gestiona pentru a crea sau modifica fișiere și baze de date, mesaje, de validare a datelor pe baza regulilor de gestionare, analiza statistică a condițiilor și a riscurilor;
  • o viziune critică prin introducerea datelor printr-o interfață de utilizator, API, linie grafice de comandă folosind comparatoare pentru a ajuta la identificarea teste reușite și nereușite;
  • mediu de depanare de suport care vă permite să înlocuiască hardware - ul lipsă sau software, în vol. h. echipamente de simulare pe subsetul determinată de ieșire, Emulatoarele de terminal, telefoane mobile și echipamente de rețea, mediul pentru verificarea limbilor, sisteme de operare și hardware - ul prin înlocuirea conducătorului auto componente lipsă, fictive module, etc, precum și instrumente pentru captarea și modificarea sistemului de operare solicită limitare de simulare CPU, memorie RAM, ROM, sau rețea .;
  • .. O comparație a fișierelor de date, baze de date, verifica rezultatele așteptate în timpul și după finalizarea testului, inclusiv dinamic și compararea lot, Automatic „Oracolele“;
  • acoperirea de măsurare pentru localizarea scurgerilor de memorie și a sistemului său de control estimarea comportamentului incorect în condiții simulate de sarcină aplicații generatoare de sarcină, baze de date, rețele sau servere într-un scenariu realist de creștere pentru măsurarea, analiza și verificarea raportului resurse de sistem;
  • de securitate;
  • testarea de performanță, de încărcare și analiză dinamică;
  • alte instrumente, în Vol. h. pentru a verifica ortografia si sintaxa, securitatea rețelei, disponibilitatea tuturor paginilor site - ului și a altor.

perspectivă

Cu tendințele de schimbare în industria de software, procesul de depanare este, de asemenea, pot fi modificate. Există noi metode de testare software-ului, cum ar fi o arhitectură de servicii-orientirovannae (SOA), tehnologii wireless, servicii de telefonie mobilă, și așa mai departe. E., au deschis noi modalități de testare software. Unele dintre schimbările care sunt așteptate în industria în următorii câțiva ani sunt enumerate mai jos:

  • testere va oferi un model de greutate redusă, care dezvoltatorii vor fi în măsură să verifice codul;
  • dezvoltarea de metode de testare, inclusiv vizualizarea și modelarea programelor într-un stadiu incipient, se va elimina multe dintre contradicțiile;
  • Prezența testului multiple interceptări va scurta timpul de detectare a erorilor;
  • analizor static și mijloace de detecție pentru a fi utilizate pe scară mai largă;
  • utilizarea matricelor minerale, cum ar fi acoperirea caietului de sarcini, domeniul de aplicare al modelului și codul de acoperire va determina dezvoltarea proiectelor;
  • instrumente combinatorii permit testere pentru a determina domeniile prioritare pentru depanare;
  • testere va oferi servicii de mai intuitive și valoroase pe tot parcursul procesului de dezvoltare de software;
  • debuggers pot crea instrumente și metode de testare software-ul scris și să interacționeze cu o varietate de limbaje de programare;
  • Experții Debugging vor fi instruiți mai profesional.

Va fi înlocuită cu o nouă metode de testare software orientate spre business, pentru a schimba modul de interacțiune cu sistemele și informațiile pe care le oferă în același timp reducerea riscurilor și creșterea beneficiilor schimbărilor de afaceri.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ro.atomiyme.com. Theme powered by WordPress.